Skip to content
Release: Australia · Updated: 2026-03-12 · Official documentation · View source

Pools and Filters for Cloud Provisioning

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.

Image omitted: pool-example.jpg
How a pool works

How pools work

The naming convention for pools is:

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

PoolBased on this tableFilter typeFilter name and description
AnsibleInventoryPoolAnsible Tower Inventory \[sn\_cfg\_ansible\_inventory\]ScriptFilters the name of Ansible Tower Inventory.
ApplicationPoolApplicationQueryFilters the names of applications.
ApplicationProfilePoolApplication Profile \[sn\_cmp\_application\_profile\]ScriptFilters the name of application profiles.
AvailabilityZonePoolAvailability zone \[cmdb\_ci\_availability\_zone\]ScriptFilters 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.
AzureDevOpsPipelinePoolConfig Installable \[sn\_cmp\_cfg\_installable\]ScriptFilters the installable configs.
AzureDevOpsProjectPoolAzure DevOps Project \[sn\_itom\_csc\_cp\_azure\_devops\_project\]ScriptFilters projects based on config provider.
BusinessServicePoolService \[cmdb\_ci\_service\]QueryFilters the names of business services.
ChefServerPoolChef Server \[sn\_cfg\_chef\_server\]ScriptFilters chef server credentials by Chef server.
CloudAccountPoolCloud Account \[cmdb\_ci\_cmp\_cloud\_account\]QueryFilters the names of cloud accounts.
CloudKeyPairPool\[cmdb\_ci\_cloud\_key\_pair\]ScriptgetObjectIdByServiceAccount: Filters cloud keypairs based on the service account they belong to.
ComputeProfilePoolCompute Profile \[sn\_cmp\_compute\_profile\]ScriptFilters compute profiles by the logical datacenter and the cloud account it belongs to.
ConfigMgmtPool ScriptFilters config management workload provider.
CostCenterPoolCost Center \[cmn\_cost\_center\]ScriptFilters to list only the cost centers that the user belongs to.
DatastorePoolVMware vCenter datastore \[cmdb\_ci\_vcenter\_datastore\]ScriptFilters datastores based on the logical datacenter they belong to.
HardwareTypePool\[cmdb\_ci\_compute\_template\]ScriptgetObjectIdByAvailabilityZone: Filters hardware templates based on availability zone they belong to.
ImagePool\[cmdb\_ci\_os\_template\]ScriptgetObjectIdByServiceAccount: 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.
IPAddressPoolCloud IP Address \[cmdb\_ci\_cloud\_ip\_address\]QueryFilters the IP address.
LaunchConfigurationPoolServer Array Launch Configuration \[cmdb\_ci\_sa\_launch\_config\]QueryFilters the configuration pool.
NetworkInterfacePoolCloud Mgmt Network Interface \[cmdb\_ci\_nic\]ScriptFilters the network interface pool.
NetworkPoolCloud Network \[cmdb\_ci\_network\] tableScript- Filters networks based on the logical datacenter they belong to. - getObjectIdByLDC: Filters network IDs based on the logical datacenter they belong to.
OSProfilePoolOS Profile \[sn\_cmp\_os\_profile\]ScriptFilters compute profiles by the logical datacenter and the cloud account it belongs to.
ProjectsPoolProject \[pm\_project\]QueryFilters the names of projects.
ResourceGroupPoolResource group \[cmdb\_ci\_resource\_group\]ScriptFilters resource group based on the logical datacenter they belong to.
ScheduleTimeZonePoolChoice \[sys\_choice\]ScriptFilters scheduled time zones.
SecurityGroupPoolCompute 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.
SecurityGroupProfilePoolCompute Security Group Profile \[sn\_cmp\_security\_grp\_profile\]QueryFilters the names of security group profiles.
SSHKeyPoolCMP SSH Key Pair \[sn\_cmp\_ssh\_credentials\]ScriptFilters user keys by user.
StorageAccountPoolCloud Storage Account \[cmdb\_ci\_cloud\_storage\_account\]ScriptFilters cloud storage accounts based on the logical datacenter they belong to.
StorageVolumePoolStorage Volume \[cmdb\_ci\_storage\_volume\]QueryFilters the names of storage volumes.
SubnetPoolCloud 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.
UserGroupPoolGroup \[sys\_user\_group\]ScriptReturns only the groups that the user belongs to.
VirtualMachinePool\[sn\_cmp\_resource\_pool\]ScriptgetByAvailabilityZone: Filters virtual machine IDs based on the availability zone that they belong to.
VmFolderPoolVMware vCenter folder \[cmdb\_ci\_vcenter\_folder\]ScriptFilters VM folders based on the logical datacenter they belong to.