Parameters-default-sources construct
Vous pouvez utiliser cette construction pour réutiliser les définitions de paramètres d’autres StyleBooks.
Considérons 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 constructionparameters-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 distinct appelé, par exemple,vip-params
où vous définissez tous les paramètres qui lui sont associés, comme illustré 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
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 Citrix ADC 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
Dans le StyleBook,acme-biz-app
, d’abord, l’espace de noms et la version duvip-params
StyleBook sont importés à l’aide de la section « import-stylebooks ». Ensuite, la constructionparameters-default-sourcesest ajoutée et le nom de StyleBook, c’est-à-dire,vip-params
est spécifié. Ce paramètre a le même effet que la définition des paramètres duvip-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 d’autres StyleBooks, vous pouvez également définir vos propres paramètres à l’aide de la section Paramètres. La liste complète des paramètres du StyleBook est la combinaison des paramètres inclus dans d’autres StyleBooks et des paramètres définis dans ce StyleBook. Par conséquent, l’expression$parametersfait référence à cette combinaison de paramètres.
Si un paramètre est défini à la fois dans un StyleBook importé et dans le StyleBook actif, la définition du StyleBook actuel remplace la définition importée à partir d’un autre StyleBook. Vous pouvez utiliser cette approche efficacement en personnalisant quelques 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
Cette approche est similaire à l’vip-params
ajout direct des paramètres du StyleBook en tant que paramètres enfants duvip-details
paramètre dans ce StyleBook.