属性集简介(数据中心设计)
属性集是定义设备属性的数据集。它们与 configlet 和分析探针协同工作。(自由格式蓝图中的配置模板也使用属性集,但它们与设计目录中的属性集无关,如此处所述。您可以将变量值存储在属性集中,然后引用 configlet 或探测器中的属性集,而不是将数据直接嵌入到 configlet 或探测器中。这为您提供了灵活性,以防您以后想要更改值。创建蓝图后,您需要将 configlet 和属性集从设计(全局)目录导入到蓝图目录中。
但首先,您需要编写属性集(以及使用它的 configlet 或探测器)。您可以使用 JSON 或 YAML 编写它。您可以通过嵌套来使用键值对、列表、字典以及这些数据结构的任意组合。
下面是一个属性集和 configlet 的示例,该属性集和 configlet 使用它根据提供的system_name到位置映射列表更改 SNMP 位置字段。
属性集
{
"created_at": "2023-08-26T13:20:04.488463+0000",
"updated_at": "2023-08-28t18:57:41.169692+0000",
"values_yaml": "PS_SNMP_Locations:\n leaf1: DC-Room1-Rack32\n leaf2: DC1-room1-Rack34\n leaf3: DC1-Room1-Rack33\n spine1: DC1-Room1-Rack30\n spine2: DC1-Room1-Rack31\n",
"values": {
"PS_SNMP_Locations": {
"spine1": "DC1-Room1-Rack30",
"spine2": "DC1-Room1-Rack31",
"leaf1": "DC1-Room1-Rack32",
"leaf3": "DC1-Room1-Rack33",
"leaf2": "DC1-Room1-Rack34"
}
},
"label": "PS_SNMP_Locations",
"id": "c4006bb8-f8f4-4aa7-82c3-8da5dfc03c43"
}
注意:
您可以按任意顺序输入属性集详细信息,但是当您在创建属性集后打开它时,它将自动按字母顺序排序(根据 Python 字典函数)。例如,如果创建上面的属性集,则会按如下所示对其进行排序。
{
"created_at": "2023-08-26T13:20:04.488463+0000",
"id": "c4006bb8-f8f4-4aa7-82c3-8da5dfc03c43",
"label": "PS_SNMP_Locations",
"updated_at": "2023-08-28t18:57:41.169692+0000",
"values": {
"PS_SNMP_Locations": {
"leaf1": "DC1-Room1-Rack32",
"leaf2": "DC1-Room1-Rack34",
"leaf3": "DC1-Room1-Rack33",
"spine1": "DC1-Room1-Rack30",
"spine2": "DC1-Room1-Rack31"
}
},
"values_yaml": "PS_SNMP_Locations:\n leaf1: DC-Room1-Rack32\n leaf2: DC1-room1-Rack34\n leaf3: DC1-Room1-Rack33\n spine1: DC1-Room1-Rack30\n spine2: DC1-Room1-Rack31\n"
}
Configlet
{
"ref_archs": [
"two_stage_l3clos"
],
"generators": [
{
"config_style": "junos",
"section": "system",
"template_text": "{% if PS_SNMP_Locations[hostname] is defined %}\nsnmp {\n location \"{{PS_SNMP_Locations[hostname]}}\";\n}\n{5 endif %}\n",
"negation_template_text": ::,
"filename": ""
}
],
"created_at": "2022-08-26T13:23:57.2720142",
"id": "b2739659-897d-4fa2-a8e9-2060ae1c045f",
"last_modified_at": "2022-08-26T13:29:40.1924382",
"display_name": "SNMP_location"
}
从左侧导航菜单中,导航到 “设计>属性集 ”以转到“设计”目录中的属性集。您可以创建、克隆、编辑和删除属性集。
