Application Delivery Management

组件

样本中的 components 构造被视为样本中最重要的部分。在此部分,定义必须要创建的配置对象。通过使用此构造,可以构建相同类型的一个或多个配置对象。

components 构造使用 parameters 部分中提供的输入来改写样本生成的配置。这是一个可选部分,尽管大多数样本都有一个 components 部分。

下表介绍了组件的主要属性。

|属性| 说明| |—|—| | name| 组件的名称。可以指定字母数字名称。名称必须以字母开头,可以包括其他字母、数字、连字符 (-) 或下划线 (_)。| |description | 样书中此组件的角色的说明。| | type| 类型确定此组件提供哪些属性。组件有两种类型: **内置**类型:这种类型由系统提供,您不必对其进行定义,例如,NITRO 实体类型“lbvserver”或“servicegroup”。当组件具有内置类型属性时,它会在 NetScaler 上创建该类型的配置对象。例如,如果一个组件引用内置类型“lbvserver”,则此组件将在作为配置目标的 NetScaler 实例上创建一个负载平衡虚拟服务器。**复合类型**:此类型指您创建并导入 NetScaler ADM 的现有样书。当组件具有复合类型属性时,它会在作为配置目标的 NetScaler 实例上创建所有配置对象,这些对象在引用的样书中指定。这让您可以组合多个样书,其中每个样书创建最终配置的一部分。有关复合样书的详细信息,请参阅[创建复合样书](/zh-cn/netscaler-application-delivery-management-software/13-1/stylebooks/how-to-create-custom-stylebooks)。| | properties|可以用于组件类型属性的子属性。组件的有效属性由其类型决定。对于内置类型,有效属性是对应的 Nitro 对象的属性。对于其类型是另一个样书的组件(即复合类型),属性对应于该样书中定义的参数。| |

示例


components:
   -
     name: my-lbvserver-comp
     type: ns::lbvserver
     properties:
         name: $parameters.name
         servicetype: HTTP
         ipv46: $parameters.ip
         port: 80
         lbmethod: $parameters.lb-alg
<!--NeedCopy-->

在此示例中,定义了名为 my-lbvserver-comp 的组件。此组件的类型为 ns::lbvserver(内置类型),其中“ns”是指代在 import-样书部分中指定的命名空间 netscaler.nitro.config 和版本 10.5 的前缀,“lbvserver”是此命名空间中的 NITRO 资源。

此部分中的属性包括“lbvserver”资源的四个必需属性和一个可选属性 (lbmethod),您可以为这些属性指定值。在此示例中,为 servicetype 和 port 指定静态值,而 name、ipv46 和 lbmethod 属性从输入参数获取其值。您可以使用 $parameters 来引用参数部分中定义的参数名称。\ <name\ > 表示法,例如 $parameters.ip。

注意

NITRO 资源类型的属性名称(其组件属性)必须使用小写。否则,样书 导入将失败。

组件