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
<!--NeedCopy-->
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
<!--NeedCopy-->
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
<!--NeedCopy-->
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.