Approval Workflow Variables for New Requests
This topic provides a list of variables supported in approval and pre-provisioning workflows for new 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.
New Request Approval Workflows
Variable | Expression | Description |
---|---|---|
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. |
Destination | ||
Region Remote ID | destination.region.remoteId | The ID of the target region. Populated only when deploying to an AWS or Microsoft Azure. |
Input Variables | ||
Input Variable | inputVariable['*'] | The value provided for the module specified input variable |
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. |
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. |
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. |
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 | ||
Chef Environment | request.services[x].components[x].settings.chef.environment | The Chef environment set in the service catalog. Replace [x] with a number starting with [1]; for example, [2] represents the second service in the request, or the second component in the service. |
Chef Organization | request.services[x].components[x].settings.chef.organization | The Chef organization set in the service catalog. Replace [x] with a number starting with [1]; for example, [2] represents the second service in the request, or the second component in the service. |
Chef Recipes | request.services[x].components[x].settings.chef.recipes | A comma-separated list of Chef recipes. Includes default values set in the service catalog and those specified by the user on the request form. Replace [x] with a number starting with [1]; for example, [2] represents the second service in the request, or the second component in the service. |
Chef Roles | request.services[x].components[x].settings.chef.roles | A comma-separated list of Chef roles. Includes default values set in the service catalog and those specified by the user on the request form. Replace [x] with a number starting with [1]; for example, [2] represents the second service in the request, or the second component in the service. |
Chef Run-List | request.services[x].components[x].settings.chef.runlist | A comma-separated list of Chef roles and Chef recipes as specified in the Run-List. Includes default values set in the service catalog and those specified by the user on the request form. Replace [x] with a number starting with [1]; for example, [2] represents the second service in the request, or the second component in the service. |
CPU Count | request.services[x].components[x].settings.cpuCount | The CPU count of the VM, if changed. A value of -1 indicates that the value is the same as set on the source service. Replace [x] with a number starting with [1]; for example, [2] represents the second service in the request, or the second component in the service. |
Description | request.services[x].components[x].description | Description of the component in the service catalog. Replace [x] with a number starting with [1]; for example, [2] represents the second service in the request, or the second component in the service. |
Dynamic List | request.services[x].components[x].settings.dynamicList['*'] | The value of the specified dynamic list from the request. Replace [x] with a number starting with [1]; for example, [2] represents the second service in the request, or the second component in the service. Replace * with the name of the dynamic list. |
Input Field | request.services[x].components[x].settings.inputField['*'] | The value of the specified input text field from the request. Replace [x] with a number starting with [1]; for example, [2] represents the second service in the request, or the second component in the service. Replace * with the name of the input text field. |
Instance Type ID | request.services[x].components[x].settings.instanceType.remoteId | The instance type ID (for example, t1.micro, m3.2xlarge). Replace [x] with a number starting with [1]; for example, [2] represents the second service in the request, or the second component in the service. |
Key Pair | request.services[x].components[x].settings.keyPair.name | The name of the requested key pair. Replace [x] with a number starting with [1]; for example, [2] represents the second service in the request, or the second component in the service. |
Memory | request.services[x].components[x].settings.memory.gb | The amount of memory of the VM, in GB, if changed. A value of -1 indicates that the value is the same as set in the service catalog (or on the source template, for legacy component forms). Replace [x] with a number starting with [1]; for example, [2] represents the second service in the request, or the second component in the service. |
Network Adapter Count | request.services[x].components[x].settings.nicCount | The number of network adapters requested. Replace [x] with a number starting with [1]; for example, [2] represents the second service in the request, or the second component in the service. |
Primary Owner Email | request.services[x].components[x].primaryOwner.email | The email address of the primary owner. Replace [x] with a number starting with [1]; for example, [2] represents the second service in the request, or the second component in the service. |
Published Component Name | request.services[x].components[x].publishedName | The published name of the component in the service catalog. Replace [x] with a number starting with [1]; for example, [2] represents the second service in the request, or the second component in the service. |
Puppet Classes | request.services[x].components[x].settings.puppet.classes | A comma-separated list of Puppet classes. Includes default values set in the service catalog and those specified by the user on the request form. Replace [x] with a number starting with [1]; for example, [2] represents the second service in the request, or the second component in the service. |
Puppet Environment | request.services[x].components[x].settings.puppet.environment | The Puppet environment set in the service catalog. Replace [x] with a number starting with [1]; for example, [2] represents the second service in the request, or the second component in the service. |
Puppet Groups | request.services[x].components[x].settings.puppet.groups | A comma-separated list of Puppet groups. Includes default values set in the service catalog and those specified by the user on the request form. Replace [x] with a number starting with [1]; for example, [2] represents the second service in the request, or the second component in the service. |
Requested Component Name | request.services[x].components[x].settings.componentName | The requested name for the VM as specified by the user on the request form. Replace [x] with a number starting with [1]; for example, [2] represents the second service in the request, or the second component in the service. |
Total Storage | request.services[x].components[x].settings.storage.gb | The total of all storage requested plus existing storage, in gigabytes. Replace [x] with a number starting with [1]; for example, [2] represents the second service in the request, or the second component in the service. |
Uploaded File | request.services[x].components[x].settings.uploadedFile['*'] | The name(s) of the specified uploaded file(s) from the request. Replace [x] with a number starting with [1]; for example, [2] represents the second service in the request, or the second component in the service. Replace * with the display label of the File Upload control. |
Uploaded File Content | request.services[x].components[x].settings.uploadedFile['*'].file[x].content | The content of the file for an File Upload control in the request. Replace [x] with a number starting with [1]; for example, [2] represents the second service in the request, or the second component in the service, or the second file in the File Upload control. Replace * with the name of the File Upload control. |
Uploaded File Name | request.services[x].components[x].settings.uploadedFile['*'].file[x].fileName | The filename for an File Upload control in the request. Replace [x] with a number starting with [1]; for example, [2] represents the second service in the request, or the second component in the service, or the second file in the File Upload control. Replace * with the name of the File Upload control. |
Requested Component Custom Attributes | ||
Custom Attribute | request.services[x].components[x].settings.customAttribute['*'] | The value of the specified custom attribute from the request. Replace [x] with a number starting with [1]; for example, [2] represents the second service in the request, or the second component in the service. |
Requested Service | ||
Description | request.services[x].description | Description of the service in the service catalog. Replace [x] with a number starting with [1]; for example, [2] represents the second service in the request. |
Destination | request.services[x].settings.destination.name | The name of the requested destination. Replace [x] with a number starting with [1]; for example, [2] represents the second service in the request. |
Dynamic List | request.services[x].settings.dynamicList['*'] | Value of the specified dynamic list from the request. Replace [x] with a number starting with [1]; for example, [2] represents the second service in the request. Replace * with the name of the dynamic list. |
Expiry Date | request.services[x].settings.expiryDate | The date set for the service to expire. Values can be: Date, No Expiry Date Set, Never Expires. Replace [x] with a number starting with [1]; for example, [2] represents the second service in the request. |
Input Field | request.services[x].settings.inputField['*'] | Value of the specified input text field from the request. Replace [x] with a number starting with [1]; for example, [2] represents the second service in the request. Replace * with the name of the input text field. |
Primary Owner Email | request.services[x].settings.primaryOwner.email | The email address of the primary owner. Replace [x] with a number starting with [1]; for example, [2] represents the second service in the request. |
Published Service Name | request.services[x].publishedName | The published name of the service in the service catalog. Replace [x] with a number starting with [1]; for example, [2] represents the second service in the request. |
Service Type | request.services[x].type | The type of service: "SERVICE" for a regular service or "SHARED_IMAGE" for a shared service. Replace [x] with a number starting with [1]; for example, [2] represents the second service in the request. |
Total CPUs | request.services[x].settings.cpuCount | The total number of CPUs requested. Replace [x] with a number starting with [1]; for example, [2] represents the second service in the request. |
Total Memory | request.services[x].settings.memory.gb | The total amount of memory requested, in gigabytes. Replace [x] with a number starting with [1]; for example, [2] represents the second service in the request. |
Total Storage | request.services[x].settings.storage.gb | The total storage requested, in gigabytes. Replace [x] with a number starting with [1]; for example, [2] represents the second service in the request. |
Uploaded File | request.services[x].settings.uploadedFile['*'] | The name(s) of the specified uploaded file(s) from the request. Replace [x] with a number starting with [1]; for example, [2] represents the second service in the request. Replace * with the display label of the File Upload control. |
Uploaded File Content | request.services[x].settings.uploadedFile['*'].file[x].content | The content of the file for an File Upload control in the request. Replace [x] with a number starting with [1]; for example, [2] represents the second service in the request, or the second file in the File Upload control. Replace * with the name of the File Upload control. |
Uploaded File Name | request.services[x].settings.uploadedFile['*'].file[x].fileName | The filename for an File Upload control in the request. Replace [x] with a number starting with [1]; for example, [2] represents the second service in the request, or the second file in the File Upload control. Replace * with the name of the File Upload control. |
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. |
Requested Service Custom Attributes | ||
Custom Attribute | request.services[x].settings.customAttribute['*'] | Value of the specified custom attribute from the request. Replace [x] with a number starting with [1]; for example, [2] represents the second service in the request. |
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. |
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 |
New 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 | ||
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 | request.services[x].components[x].primaryOwner.email | The email address of the primary owner. Replace [x] with a number starting with [1]; for example, [2] represents the second service in the request, or the second component in the service. |
Requested Component Custom Attributes | ||
Custom Attribute | request.services[x].components[x].settings.customAttribute['*'] | The value of the specified custom attribute from the request. Replace [x] with a number starting with [1]; for example, [2] represents the second service in the request, or the second component in the service. |
Requested Service | ||
Primary Owner Email | request.services[x].settings.primaryOwner.email | The email address of the primary owner. Replace [x] with a number starting with [1]; for example, [2] represents the second service in the request. |
Requested Service Custom Attributes | ||
Custom Attribute | request.services[x].settings.customAttribute['*'] | Value of the specified custom attribute from the request. Replace [x] with a number starting with [1]; for example, [2] represents the second service in the request. |
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. |
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. |