Construction parameters-default-sources
Vous pouvez utiliser cette construction pour réutiliser les définitions de paramètres d’autres StyleBooks.
Considérez un scénario où un paramètre ou un groupe de paramètres est utilisé de manière répétée 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 seule fois, puis importer leurs définitions dans les StyleBooks qui ont besoin de ces paramètres en utilisant la construction parameters-default-sources.
Par exemple, si plusieurs de vos StyleBooks doivent configurer une adresse IP virtuelle, vous pourriez avoir à 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 distinct appelé, par exemple, « vip-params » où vous définissez tous les paramètres qui y sont liés, comme le montre l’exemple suivant :
-
name: vip-params
namespace: com.acme.commontypes
version: "1.0"
description: Ce StyleBook définit une configuration d'IP virtuelle typique.
private: true
schema-version: "1.0"
parameters:
-
name: lb-appname
label: Nom de l'application à charge équilibrée
description: Nom de l'application à charge équilibrée
type: string
required: true
-
name: lb-virtual-ip
label: Adresse IP virtuelle de l'application à charge équilibrée
description: Adresse IP virtuelle représentant l'application à charge équilibrée
type: ipaddress
required: true
-
name: lb-virtual-port
label: Port virtuel de l'application à charge équilibrée
description: Port TCP représentant l'application à charge équilibrée
type: tcp-port
default: 80
-
name: lb-service-type
label: Protocole de l'application à charge équilibrée
description: Protocole utilisé pour l'application à charge équilibrée.
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: Ce StyleBook définit la configuration NetScaler pour l'application 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: Nom du moniteur
description: Nom du moniteur
type: string
required: true
-
name: type
label: Type de moniteur
description: Type du moniteur
type: string
required: true
allowed-values:
- PING
- TCP
- HTTP
- HTTP-ECV
- TCP-ECV
- HTTP-INLINE
<!--NeedCopy-->
Dans le StyleBook acme-biz-app, le namespace et la version du StyleBook vip-params sont d’abord importés à l’aide de la section « import-stylebooks ». Ensuite, la construction parameters-default-sources est ajoutée, et le nom du StyleBook, c’est-à-dire vip-params, est spécifié. Cela a le même effet que de définir les paramètres du StyleBook vip-params directement dans ce StyleBook.
Vous pouvez inclure des paramètres de plusieurs StyleBooks, car parameters-default-sources est une liste, et chaque élément de la liste est censé être un StyleBook.
En plus d’inclure des paramètres 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 des paramètres inclus d’autres StyleBooks et des 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 d’un autre StyleBook. Vous pouvez utiliser cela efficacement en personnalisant quelques-uns des paramètres importés si nécessaire, tout en utilisant le reste des paramètres importés tels quels.
La construction parameters-default-sources peut également être utilisée dans des paramètres imbriqués, comme illustré :
parameters:
-
name: vip-details
label: Détails de l'IP virtuelle
description: Détails de l'IP virtuelle
type: object
required: true
parameters-default-sources:
- cmtypes::vip-params
<!--NeedCopy-->
Ceci est similaire à l’ajout direct des paramètres du StyleBook vip-params en tant que paramètres enfants du paramètre vip-details dans ce StyleBook.