Parameters-default-sources construct
Vous pouvez utiliser cette construction pour réutiliser les définitions de paramètres d’autres StyleBooks.
Imaginons un scénario dans lequel un paramètre ou un groupe de paramètres est utilisé à plusieurs reprises dans plusieurs StyleBooks. Pour éviter de redéfinir ces paramètres, chaque fois que vous souhaitez créer un nouveau StyleBook, vous pouvez les définir une fois, puis importer leurs définitions dans les StyleBooks qui ont besoin de ces paramètres à l’aide de la construction parameters-default-sources.
Par exemple, si plusieurs de vos StyleBooks doivent configurer une adresse IP virtuelle, vous devrez peut-être définir les mêmes paramètres liés aux adresses IP virtuelles dans chaque nouveau StyleBook que vous créez. Au lieu de cela, vous pouvez créer un StyleBook séparé appelé, par exemple, « vip-params » où vous définissez tous les paramètres qui lui sont liés comme indiqué dans l’exemple suivant :
-
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-->
Ensuite, vous pouvez créer d’autres StyleBooks qui utilisent ces paramètres. Voici un exemple d’un tel StyleBook.
-
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-->
Dans le StyleBook, acme-biz-app, tout d’abord, l’espace de noms et la version du Vip-params StyleBook sont importés à l’aide de la section « import-stylebooks ». Ensuite, la construction parameters-default-sources est ajoutée, et le nom StyleBook, c’est-à-dire vip-params est spécifié. Cela a le même effet que la définition des paramètres du vip-params StyleBook directement dans ce StyleBook.
Vous pouvez inclure des paramètres de plusieurs StyleBooks, car les parameters-default-sources sont une liste et chaque élément de la liste doit être un StyleBook.
En plus d’inclure des paramètres provenant d’autres StyleBooks, vous pouvez également définir vos propres paramètres en utilisant la section des paramètres. La liste complète des paramètres du StyleBook est la combinaison de paramètres inclus dans d’autres StyleBooks et de paramètres définis dans ce StyleBook. Par conséquent, l’expression $parameters fait référence à cette combinaison de paramètres.
Notez que si un paramètre est défini à la fois dans un StyleBook importé et dans le StyleBook actuel, la définition dans le StyleBook actuel remplace la définition importée à partir d’un autre StyleBook. Vous pouvez l’utiliser efficacement en personnalisant quelques-uns des paramètres importés si nécessaire, tout en utilisant le reste des paramètres importés tels qu’ils sont.
La construction parameters-default-sources peut également être utilisée dans les paramètres imbriqués comme indiqué :
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-->
Ceci est similaire à ce que les paramètres des vip-params StyleBook soient ajoutés directement en tant que paramètres enfants du paramètre vip-details dans ce StyleBook.