Pools and Filters for Cloud Provisioning

concept australia Updated Sep 10, 2026 3 min read pools.md
Raw file servicenow.com

A resource pool is a query or script that filters a table. You configure a resource pool to limit the values that are available to users when they request a catalog item.

Example use of a pool

To limit a user to only the networks in a particular logical datacenter, use the resource pool called NetworkPool that runs against the Cloud Network [cmdb_ci_network] table. The resource pool uses a script to filter networks based on the datacenter that the network belongs to.

[Omitted image "pool-example.jpg"] Alt text: How a pool works

How pools work

The naming convention for pools is:

Text
get<thisItem>By<condition>

Where the condition is the top-level entity that forms the relationship between the return values. For example, getObjectIdByServiceAccount filters all ObjectIDs that are hosted on the specified service account.

Filters query tables using only the specified condition. Any record that matches the condition is therefore returned.

Pools and blueprints

When you configure blueprints, you specify variables for form behavior. You can specify resource pools as the data source for each variable and select which resource pools to use. The variable then uses the filtered values.

Resource Pool in the base system

Pool

Based on this table

Filter type

Filter name and description

AnsibleInventoryPool

Ansible Tower Inventory [sn_cfg_ansible_inventory]

Script

Filters the name of Ansible Tower Inventory.

ApplicationPool

Application

Query

Filters the names of applications.

ApplicationProfilePool

Application Profile [sn_cmp_application_profile]

Script

Filters the name of application profiles.

AvailabilityZonePool

Availability zone [cmdb_ci_availability_zone]

Script

Filters availability zones based on the logical datacenter they belong to.getNameByLDC: Filters availability zones based on the logical datacenter they belong to.

The Terraform template for IBM requires the name of the availability zone as input for provisioning.

AzureDevOpsPipelinePool

Config Installable [sn_cmp_cfg_installable]

Script

Filters the installable configs.

AzureDevOpsProjectPool

Azure DevOps Project [sn_itom_csc_cp_azure_devops_project]

Script

Filters projects based on config provider.

BusinessServicePool

Service [cmdb_ci_service]

Query

Filters the names of business services.

ChefServerPool

Chef Server [sn_cfg_chef_server]

Script

Filters chef server credentials by Chef server.

CloudAccountPool

Cloud Account [cmdb_ci_cmp_cloud_account]

Query

Filters the names of cloud accounts.

CloudKeyPairPool

[cmdb_ci_cloud_key_pair]

Script

getObjectIdByServiceAccount: Filters cloud keypairs based on the service account they belong to.

ComputeProfilePool

Compute Profile [sn_cmp_compute_profile]

Script

Filters compute profiles by the logical datacenter and the cloud account it belongs to.

ConfigMgmtPool

 

Script

Filters config management workload provider.

CostCenterPool

Cost Center [cmn_cost_center]

Script

Filters to list only the cost centers that the user belongs to.

DatastorePool

VMware vCenter datastore [cmdb_ci_vcenter_datastore]

Script

Filters datastores based on the logical datacenter they belong to.

HardwareTypePool

[cmdb_ci_compute_template]

Script

getObjectIdByAvailabilityZone: Filters hardware templates based on availability zone they belong to.

ImagePool

[cmdb_ci_os_template]

Script

getObjectIdByServiceAccount: Filters the resourceId of OS Image by service account. In IBM Cloud, OS Images are not specific to a datacenter, so they are hosted at the service account level. Terraform requires the resourceId as input for provisioning.

IPAddressPool

Cloud IP Address [cmdb_ci_cloud_ip_address]

Query

Filters the IP address.

LaunchConfigurationPool

Server Array Launch Configuration [cmdb_ci_sa_launch_config]

Query

Filters the configuration pool.

NetworkInterfacePool

Cloud Mgmt Network Interface [cmdb_ci_nic]

Script

Filters the network interface pool.

NetworkPool

Cloud Network [cmdb_ci_network] table

Script

  • Filters networks based on the logical datacenter they belong to.
  • getObjectIdByLDC: Filters network IDs based on the logical datacenter they belong to.

OSProfilePool

OS Profile [sn_cmp_os_profile]

Script

Filters compute profiles by the logical datacenter and the cloud account it belongs to.

ProjectsPool

Project [pm_project]

Query

Filters the names of projects.

ResourceGroupPool

Resource group [cmdb_ci_resource_group]

Script

Filters resource group based on the logical datacenter they belong to.

ScheduleTimeZonePool

Choice [sys_choice]

Script

Filters scheduled time zones.

SecurityGroupPool

Compute Security Group [cmdb_ci_compute_security_group]

Script

  • getByNetwork: Filters the security group by the network it belongs to.
  • getObjectIdByServiceAccount: Filters security group IDs based on the service account they belong to.

SecurityGroupProfilePool

Compute Security Group Profile [sn_cmp_security_grp_profile]

Query

Filters the names of security group profiles.

SSHKeyPool

CMP SSH Key Pair [sn_cmp_ssh_credentials]

Script

Filters user keys by user.

StorageAccountPool

Cloud Storage Account [cmdb_ci_cloud_storage_account]

Script

Filters cloud storage accounts based on the logical datacenter they belong to.

StorageVolumePool

Storage Volume [cmdb_ci_storage_volume]

Query

Filters the names of storage volumes.

SubnetPool

Cloud Subnet [cmdb_ci_cloud_subnet]

Script

  • Filters the subnet by the network it belongs to.
  • getObjectIdByNetwork: Filters subnets based on the network they belong to.

UserGroupPool

Group [sys_user_group]

Script

Returns only the groups that the user belongs to.

VirtualMachinePool

[sn_cmp_resource_pool]

Script

getByAvailabilityZone: Filters virtual machine IDs based on the availability zone that they belong to.

VmFolderPool

VMware vCenter folder [cmdb_ci_vcenter_folder]

Script

Filters VM folders based on the logical datacenter they belong to.

Search documentation
Search document titles and file paths on the australia branch