When you use Resource Orchestration Service (ROS) to create stacks to manage multiple resources, you must configure all parameters relevant to these resources. These configured parameters may interfere with each other. In this case, you can use Metadata to group resources to batch configure parameters in the ROS console.

Background information

Metadata is used to group the parameters defined in the Parameters section and define tags for each group. The following example shows how to use Metadata to group parameters for different resources when you deploy a Harbor cluster in an existing virtual private cloud (VPC). For more information about how to deploy a Harbor cluster in an existing VPC, see Deploy a Harbor Cluster in an Existing VPC.

You can perform the following types of configurations to deploy a Harbor cluster in an existing VPC:

  • Infrastructure configuration
  • Harbor configuration
  • DB configuration
  • Redis configuration
  • SLB configuration

You can add the parameters for each type of configuration to the Parameters section of the corresponding group. The following code snippet of Metadata is used:

{
  "Metadata": {
    "ALIYUN::ROS::Interface": {
      "ParameterGroups": [
        {
          "Parameters": [
            "VSwitchZoneId",
            "VPC",
            "VSwitch",
            "SecurityGroup"
          ],
          "Label": {
            "default": {
              "zh-cn":  
              "en": "Infrastructure Configuration"
            }
          }
        },
        {
          "Parameters": [
            "ClusterAmount",
            "InstanceType",
            "SystemDiskCategory",
            "SystemDiskSize",
            "Password",
            "HarborAdminPassword"
          ],
          "Label": {
            "default": {
              "zh-cn":  
              "en": "Harbor Configuration"
            }
          }
        },
        {
          "Parameters": [
            "DBInstanceEngineAndVersion",
            "DBInstanceClass",
            "DBInstanceStorage",
            "DBUser",
            "DBPassword"
          ],
          "Label": {
            "default": {
              "zh-cn":  
              "en": "DB Configuration"
            }
          }
        },
        {
          "Parameters": [
            "RedisInstanceClass",
            "EvictionPolicy",
            "RedisPassword"
          ],
          "Label": {
            "default": {
              "zh-cn":  
              "en": "Redis Configuration"
            }
          }
        },
        {
          "Parameters": [
            "LoadBalancerSpec",
            "Bandwidth"
          ],
          "Label": {
            "default": {
              "zh-cn":  
              "en": "SLB Configuration"
            }
          }
        }
      ],
      "TemplateTags": [
        "Creates one ECS(Harbor) instance - Existing Vpc"
      ]
    }
  }
}

Procedure

  1. Log on to the ROS console.
  2. In the left-side navigation pane, click Solution Center.
  3. Find the Deploy a Harbor Cluster in an Existing VPC template.
  4. Click Create Stack.
  5. In the Configure Template Parameters step, set Stack Name and the parameters in the Infrastructure Configuration, Harbor Configuration, DB Configuration, Redis Configuration, and SLB Configuration sections.
  6. Click Create.