Este artículo ha sido traducido automáticamente. (Aviso legal)
Construcción Parameters-Default-sources
Puede utilizar esta construcción para reutilizar las definiciones de parámetros de otros StyleBooks.
Considere un caso en el que un parámetro o un grupo de parámetros se utiliza repetidamente en varios StyleBooks. Para evitar redefinir estos parámetros, cada vez que quiera crear un nuevo StyleBook, puede definirlos una vez y, a continuación, importar sus definiciones a los StyleBooks que los necesiten mediante la construcción parameters-default-sources.
Por ejemplo, si muchos de sus StyleBooks necesitan configurar una IP virtual, es posible que tenga que definir los mismos parámetros relacionados con las IP virtuales en cada nuevo StyleBook que cree. En su lugar, puede crear un StyleBook separado llamado, por ejemplo, vip-params
donde defina todos los parámetros relacionados con él como se muestra en el siguiente ejemplo:
- name: vip-params namespace: com.acme.commontypes version: "1.0" description: This StyleBook defines a typical virtual IP config. private: true schema-version: "1.0" parameters: - name: lb-appname label: Load Balanced Application Name description: Name of the Load Balanced application type: string required: true - name: lb-virtual-ip label: Load Balanced App Virtual IP address description: Virtual IP address representing the Load Balanced application type: ipaddress required: true - name: lb-virtual-port label: Load Balanced App Virtual Port description: TCP port representing the Load Balanced application type: tcp-port default: 80 - name: lb-service-type label: Load Balanced App Protocol description: Protocol used for the Load Balanced application. type: string default: HTTP required: true allowed-values: - HTTP - SSL - TCP
A continuación, puede crear otros StyleBooks que utilicen estos parámetros
- name: acme-biz-app namespace: com.acme.stylebooks version: "1.0" description: This stylebook defines the NetScaler configuration for Biz App schema-version: "1.0" import-stylebooks: - namespace: com.acme.commontypes prefix: cmtypes version: "1.0" \*\*parameters-default-sources:\*\* ** - cmtypes::vip-params** parameters: - name: monitorname label: Monitor Name description: Name of the monitor type: string required: true - name: type label: Monitor Type description: Type of the monitor type: string required: true allowed-values: - PING - TCP - HTTP - HTTP-ECV - TCP-ECV - HTTP-INLINE
En StyleBook, primero acme-biz-app
, el espacio de nombres y la versión del vip-params
StyleBook se importa mediante la sección «import-stylebooks». A continuación, se agrega la construcción parámetros-default-sources y se especifica el nombre StyleBook, vip-params
es decir,. Este parámetro tiene el mismo efecto que definir los parámetros del vip-params
StyleBook directamente en este StyleBook.
Puede incluir parámetros de varios StyleBooks porque los parameters-default-sources es una lista y se espera que cada elemento de la lista sea un StyleBook.
Además de incluir parámetros de otros StyleBooks, también puede definir sus propios parámetros mediante la sección de parámetros. La lista completa de parámetros del StyleBook es la combinación de los parámetros incluidos en otros StyleBook y los parámetros definidos en este StyleBook. Por lo tanto, la expresión $parameters hace referencia a esta combinación de parámetros.
Si se define un parámetro tanto en un StyleBook importado como en el StyleBook actual, la definición del StyleBook actual reemplaza la definición importada de otro StyleBook. Puede utilizar este enfoque de manera eficaz personalizando algunos de los parámetros importados si es necesario, mientras utiliza el resto de los parámetros importados tal como están.
La construcción parameters-default-sources también se puede utilizar en parámetros anidados como se muestra:
parameters: - name: vip-details label: Virtual IP details description: Details of the Virtual IP type: object required: true parameters-default-sources: - cmtypes::vip-params
Este enfoque es similar a tener los parámetros del StyleBook vip-params
añadidos directamente como parámetros secundarios del vip-details
parámetro en este StyleBook.