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.
How pools work
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.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 |
|
| 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 |
|
| 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 |
|
| 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. |