Bind a parameter to a SN pool

When you create a resource block using a cloud template, you can bind a particular parameter to a SN pool in the metadata section of the Azure Resource Manager (ARM) and CloudFormation (CF) template.

Before you begin

Role required: sn.cmp.cloud_service_designer.

About this task

Binding a parameter to an existing SN pool offers the cloud service user a list of values from the existing tables in the catalog order form. This makes catalog ordering less error-prone. A list of values is shown only for the parameters that have the datasource specified. For example, if you are using Resource Group Name as one of the parameters in your template, you can bind the Resource Group Name field to an existing SN pool (ResourceGroupPool) in the metadata section. See the SN pools table listed below for all predefined SN pools.


  1. Navigate to Cloud Management > Cloud Admin Portal > Design > Cloud Templates.
  2. Click New to create a new cloud template or select an existing template. If you select an existing template, rename that template.
  3. In the Body area, based on the template type you are using (ARM or CloudFormation) make the relevant changes.
    1. If you are using an ARM template, add the attribute SNC::Parameter::Metadata inside the parameters metadata section.
    2. For the SNC::Parameter::Metadata attribute, add datasource as the key and for a value, enter a predefined SN pool filter. For example, StorageAccountPool.getObjectsByLDC.
      "parameters": {
          "newStorageAccountName": {
            "type": "string",
            "metadata": {
              "description": "Unique DNS Name for the Storage Account where the Virtual Machine's disks will be placed.",
               "SNC::Parameter::Metadata": {
               "allowedPattern": "[0-9a-z]{1,11}",
               "ConstraintDescription": "must be a alphanumeric ",
    1. If you are using a CloudFormation template, add the attribute SNC::Parameter::Metadata and define your custom attribute name (VpcId) along with a datasource. For the datasource value, enter a predefined SN pool filter, for example, NetworkPool.getObjectsByLDC.
    2. Define the datasourceFilter mapping attribute to bind the custom name (VpcId) to the actual attribute name (Network).
      "Parameters" : { 
            "VpcId" : {
            "Type" : "AWS::EC2::VPC::Id",
            "Description" : "VpcId of your existing Virtual Private Cloud (VPC)",
            "ConstraintDescription" : "must be the VPC Id of an existing Virtual Private Cloud."
          "SubnetId" : {
            "Type" : "AWS::EC2::Subnet::Id",
            "Description" : "SubnetId of an existing subnet (for the primary network) in your Virtual Private Cloud (VPC)",
            "ConstraintDescription" : "must be an existing subnet in the selected Virtual Private Cloud."
        "Metadata": {
                "SNC::Parameter::Metadata": {
      Table 1. SN Pools
      Pool Filter Information



      Gets all availability zones.

      Gets availabilityzone depending on LDC.




      Gets all networks.

      Gets networks depending on LDC.

      ResourceGroupPool getObjectsByLDC Gets resourcegroups depending on LDC.
      SecurityGroupPool getObjectsByNetwork Gets all security groups.
      SecurityGroupProfilePool All Gets all security group profiles.
      SSHKeyPool UserKeys Gets all SSH keys.
      StorageAccountPool getObjectsByLDC Gets storage accounts depending on LDC.
      StorageVolumePool All Gets all storage volume.
      SubnetPool getObjectsByNetwork Gets all subnets.
      LoadBalancerPool All Gets all load balancers.
  4. Click Submit.
  5. Once the resource block, blueprint, and catalog items are successfully created, a list of values of the pool data for that particular parameter in the catalog order form is available to the cloud service user.