Paramètres
Cette section vous permet de définir tous les paramètres nécessaires à votre StyleBook pour créer une configuration. Elle décrit les entrées que votre StyleBook accepte. Bien que cette section soit facultative, la plupart des StyleBooks peuvent en avoir besoin. Vous pouvez utiliser la section des paramètres pour définir les champs destinés aux utilisateurs qui utilisent le StyleBook pour créer une configuration sur une instance NetScaler.
Lorsque vous importez votre StyleBook dans NetScaler® ADM et que vous l’utilisez pour créer une configuration, l’interface graphique utilise cette section du StyleBook pour afficher un formulaire. Ce formulaire prend en entrée les valeurs des paramètres définis.
La section suivante décrit les attributs que vous devez spécifier pour chaque paramètre de cette section :
‘name’
Le nom du paramètre que vous souhaitez définir. Vous pouvez spécifier un nom alphanumérique.
Le nom doit commencer par une lettre et peut inclure d’autres lettres, des chiffres, un trait d’union (-) ou un trait de soulignement (_).
Lorsque vous rédigez un StyleBook, vous pouvez utiliser cet attribut “name” pour faire référence au paramètre dans d’autres sections en utilisant la notation $parameters.<name>.
Obligatoire ? Oui
‘label’
Une chaîne de caractères qui s’affiche dans l’interface graphique d’ADM comme nom de ce paramètre.
Obligatoire ? Non
‘description’
Une chaîne d’aide qui décrit l’utilisation du paramètre. L’interface graphique d’ADM affiche ce texte lorsque l’utilisateur clique sur l’icône d’aide de ce paramètre.
Obligatoire ? Non
‘type’
Le type de valeur que ces paramètres peuvent prendre. Les paramètres peuvent être de l’un des types intégrés suivants :
-
string: Un tableau de caractères. Si aucune longueur n’est spécifiée, la valeur de la chaîne peut prendre n’importe quel nombre de caractères. Cependant, vous pouvez limiter la longueur d’un type de chaîne en utilisant les attributsmin-lengthetmax-length. -
number: Un nombre entier. Vous pouvez spécifier le nombre minimum et maximum que ce type peut prendre en utilisant les attributsmin-valueetmax-value. -
boolean: Peut êtretrueoufalse. YAML considère tous les littéraux comme des booléens (par exemple,YesouNo). -
ipaddress: Une chaîne de caractères qui représente une adresse IPv4 ou IPv6 valide. -
ipnetwork: Il se compose de deux parties. La première partie est l’adresse IP et la seconde est le masque de sous-réseau.
Le masque de sous-réseau se compose d’une longueur de masque de sous-réseau (
netmask-len) ou d’une adresse IP de masque de sous-réseau (netmask_ip). La longueur du masque de sous-réseau est un entier compris entre 0 et 32, et entre 0 et 128 pour une adresse IPv6. Elle est utilisée pour déterminer le nombre d’adresses IP dans un réseau.Lors de la création ou de la mise à jour d’un pack de configuration à partir de l’interface graphique de NetScaler ADM, vous pouvez effectuer l’une des actions suivantes :
- Activer la longueur du masque de sous-réseau et saisir l’adresse IP et la longueur du masque de sous-réseau
- Désactiver la longueur du masque de sous-réseau et saisir l’adresse IP et l’adresse IP du masque de sous-réseau
Dans l’API, la longueur du masque de sous-réseau et l’adresse IP du masque de sous-réseau sont disponibles sous forme de valeur unique, comme illustré dans l’exemple suivant :
Exemple :
Content-Type: application/json Accept: application/json { “configpack”: { “stylebook”: { “namespace”: “com.example.stylebook”, “version”:“1.0”, “name”: “ipnetwork-example”, .. }, “parameters”: { “name: “test-app”, “virtual-ip”: “212.100.30.0/255.255.255.0”, }, “targets”: [ ] } } <!--NeedCopy--> -
tcp-port: Un nombre compris entre 0 et 65535 qui représente un port TCP ou UDP. -
password: Représente une valeur de chaîne opaque/secrète. Lorsque l’interface graphique d’ADM affiche une valeur pour ce paramètre, elle est représentée par des astérisques (*****). -
certfile: Représente un fichier de certificat. Cette valeur vous permet de télécharger les fichiers directement depuis votre système local lorsque vous créez une configuration StyleBook à l’aide de l’interface graphique d’ADM. Le fichier de certificat téléchargé est stocké dans le répertoire/var/mps/tenants/\<tenant_path>/ns_ssl_certsdans ADM.Le fichier de certificat est ajouté à la liste des certificats gérés par ADM.
-
keyfile: Représente un fichier de clé de certificat. Cette valeur vous permet de télécharger le fichier directement depuis votre système local lorsque vous créez une configuration StyleBook à l’aide de l’interface graphique d’ADM. Le fichier de certificat téléchargé est stocké dans le répertoire/var/mps/tenants/\<tenant_path>/ns_ssl_keysdans ADM.Le fichier de clé de certificat est ajouté à la liste des clés de certificat gérées par ADM.
-
file: Représente un fichier. -
object: Ce type est utilisé lorsque vous souhaitez regrouper plusieurs paramètres liés sous un élément parent. Spécifiez le type du paramètre parent comme “object”. Un paramètre de type “object” peut avoir une section “parameters” imbriquée pour décrire les paramètres qu’il contient. -
another StyleBook: Lorsque vous utilisez ce type de paramètre, ce paramètre attend que sa valeur soit sous la forme des paramètres définis dans le StyleBook désignant son type.
Un paramètre peut également avoir un type qui est une liste de types. Pour ce faire, ajoutez [] à la fin du type. Par exemple, si l’attribut type est string[], ce paramètre prend une liste de chaînes de caractères en entrée. Vous pouvez fournir une, deux ou plusieurs chaînes de caractères pour ce paramètre lors de la création d’une configuration à partir de ce StyleBook.
Obligatoire ? Oui
‘network’
Pour type: ipaddress, vous pouvez spécifier l’attribut network pour allouer automatiquement une adresse IP à partir d’un réseau IPAM d’ADM.
ADM alloue automatiquement une adresse IP à partir de l’attribut network lorsque vous créez une configuration StyleBook.
Exemple :
name: virtual-ip
label: "Load Balancer IP Address"
type: ipaddress
network: "network-1"
required: true
<!--NeedCopy-->
Dans cet exemple, le champ virtual-ip alloue automatiquement une adresse IP à partir de network-1. L’adresse IP est libérée et renvoyée au réseau lorsque la configuration est supprimée.
‘dynamic-allocation’
L’attribut dynamic-allocation est ajouté dans la définition du paramètre de type:ipaddress. Utilisez cet attribut pour lister dynamiquement les réseaux IPAM d’ADM. Cet attribut peut prendre true ou false comme entrée. Pour type: ipaddress, spécifiez l’attribut dynamic-allocation: true pour lister dynamiquement les réseaux IPAM d’ADM qui se trouvent dans ADM. Dans le formulaire de création de pack de configuration, vous pouvez effectuer les opérations suivantes :
-
Sélectionnez le réseau IPAM requis dans la liste.
-
Spécifiez une adresse IP que vous souhaitez allouer à partir du réseau IPAM sélectionné.
Si aucune adresse IP n’est spécifiée, ADM alloue automatiquement une adresse IP à partir du réseau IPAM sélectionné.
Exemple :
-
name: virtual-ip
label: "Load Balancer IP Address"
type: ipaddress
dynamic-allocation: true
required: true
<!--NeedCopy-->
Dans cet exemple, le champ virtual-ip liste les réseaux IPAM d’ADM qui se trouvent dans ADM. Sélectionnez un réseau dans la liste pour allouer automatiquement une adresse IP à partir de ce réseau. L’adresse IP est libérée et renvoyée au réseau lorsque la configuration est supprimée.
‘key’
Spécifiez true ou false pour indiquer si ce paramètre est un paramètre clé pour le StyleBook.
Un StyleBook ne peut avoir qu’un seul paramètre défini comme paramètre “clé”.
Lorsque vous créez différentes configurations à partir du même StyleBook (sur la même instance ADC ou sur des instances différentes), chaque configuration a une valeur différente/unique pour ce paramètre.
La valeur par défaut est false.
Obligatoire ? Non
‘required’
Spécifiez true ou false pour indiquer si un paramètre est obligatoire ou facultatif. S’il est défini sur true, le paramètre est obligatoire et l’utilisateur doit fournir une valeur pour ce paramètre lors de la création de configurations.
L’interface graphique d’ADM force l’utilisateur à fournir une valeur valide pour ce paramètre.
La valeur par défaut est false.
Obligatoire ? Non
‘allowed-values’
Utilisez cet attribut pour définir une liste de valeurs valides pour un paramètre, lorsque le type est défini sur “string”.
Lors de la création d’une configuration à partir de l’interface graphique d’ADM, l’utilisateur est invité à sélectionner une valeur de paramètre dans cette liste.
Remarque
Si vous souhaitez afficher les valeurs de la liste sous forme d’options radio, définissez l’attribut
layout.
Exemple 1 :
-
name: ipaddress
type: string
allowed-values:
- SOURCEIP
- DEST IP
- NONE
<!--NeedCopy-->
Exemple 2 :
-
name: TCP Port
type: tcp-port
allowed-values:
- 80
- 81
- 8080
<!--NeedCopy-->
Exemple 3 :
Liste de tcp-ports, où chaque élément de la liste ne peut avoir que les valeurs spécifiées dans allowed-values.
-
name: tcpports
type: tcp-port[]
allowed-values:
- 80
- 81
- 8080
- 8081
<!--NeedCopy-->
Obligatoire ? Non
‘default’
Utilisez cet attribut pour attribuer une valeur par défaut à un paramètre facultatif. Lorsqu’un utilisateur crée une configuration sans spécifier de valeur, la valeur par défaut est utilisée.
Le paramètre ne prend aucune valeur si les conditions suivantes sont remplies :
-
Le paramètre n’a pas de valeur par défaut.
-
Un utilisateur ne fournit pas de valeur pour le paramètre.
Exemple 1 :
-
name: timeout
type: number
default: 20
<!--NeedCopy-->
Exemple 2 :
Pour lister les valeurs par défaut du paramètre :
-
name: protocols
type: string[]
default:
- TCP
- UDP
- IP
<!--NeedCopy-->
Exemple 3 :
-
name: timeout
type: number
default: 20
<!--NeedCopy-->
Exemple 4 :
-
name: tcpport
type: tcp-port
default: 20
<!--NeedCopy-->
Obligatoire ? Non
‘pattern’
Utilisez cet attribut pour définir un modèle (expression régulière) pour les valeurs valides de ce paramètre, lorsque le type du paramètre est “string”.
Exemple :
-
name: appname
type: string
pattern: "[a-z]+"
<!--NeedCopy-->
Obligatoire ? Non
‘min-value’
Utilisez cet attribut pour définir la valeur minimale des paramètres de type number ou tcp-port.
Exemple :
-
name: audio-port
type: tcp-port
min-value: 5000
<!--NeedCopy-->
La min-value des nombres peut être négative. Cependant, la min-value pour tcp-port doit être positive.
Obligatoire ? Non
‘max-value’
Utilisez cet attribut pour définir la valeur maximale des paramètres de type number ou tcp-port.
Assurez-vous que la valeur maximale est supérieure à la valeur minimale, si elle est définie.
Exemple :
-
name: audio-port
type: tcp-port
min-value: 5000
max-value: 15000
<!--NeedCopy-->
Obligatoire ? Non
‘min-length’
Utilisez cet attribut pour définir la longueur minimale des valeurs acceptées pour un paramètre de type “string”.
Assurez-vous que la longueur minimale des caractères définis comme valeurs est supérieure ou égale à zéro.
Exemple :
-
name: appname
type: string
min-length: 3
<!--NeedCopy-->
Obligatoire ? Non
‘max-length’
Utilisez cet attribut pour définir la longueur maximale des valeurs acceptées pour un paramètre de type “string”.
Assurez-vous que la longueur maximale des valeurs est supérieure ou égale à la longueur des caractères définis dans min-length.
Exemple :
-
name: appname
type: string
max-length: 64
<!--NeedCopy-->
Obligatoire ? Non
‘min-items’
Utilisez cet attribut pour définir le nombre minimum d’éléments dans un paramètre qui est une liste.
Assurez-vous que le nombre minimum d’éléments est supérieur ou égal à zéro.
Exemple :
-
name: server-ips
type: ipaddress[]
min-items: 2
<!--NeedCopy-->
Obligatoire ? Non
‘max-items’
Utilisez cet attribut pour définir le nombre maximum d’éléments dans un paramètre qui est une liste.
Assurez-vous que le nombre maximum d’éléments est supérieur au nombre minimum d’éléments, s’il est défini.
Exemple :
-
name: server-ips
type: ipaddress[]
min-items: 2
max-items: 250
<!--NeedCopy-->
Obligatoire ? Non
‘gui’
Utilisez cet attribut pour personnaliser la mise en page du paramètre dans l’interface graphique d’ADM.
Obligatoire ? Non
‘columns’
Cet attribut est un sous-attribut de l’attribut gui. Utilisez cet attribut pour définir le nombre de colonnes à afficher pour les paramètres type: object[] dans l’interface graphique d’ADM.
Obligatoire ? Non
‘updatable’
Cet attribut est un sous-attribut de l’attribut gui. Utilisez cet attribut pour spécifier si le paramètre peut être mis à jour après la création de la configuration. Définissez cet attribut uniquement sur des types de paramètres simples tels que string, boolean ou number.
Si la valeur est définie sur false, le champ du paramètre est grisé lorsque vous mettez à jour la configuration.
Obligatoire ? Non
‘collapse_pane’
Cet attribut est un sous-attribut de l’attribut gui. Utilisez cet attribut pour spécifier si le volet définissant la mise en page de ce paramètre d’objet est réductible.
Si la valeur est définie sur true, l’utilisateur peut développer ou réduire les paramètres enfants sous ce paramètre parent.
Exemple :
gui:
collapse_pane: true
columns: 2
<!--NeedCopy-->
Exemple d’une section de paramètres complète :
parameters:
-
name: name
label: Name
description: Name of the application
type: string
required: true
-
name: ip
label: IP Address
description: The virtual IP address used for this application
type: ipaddress
required: true
-
name: svc-servers
label: Servers
type: object\[\]
required: true
parameters:
-
name: svc-ip
label: Server IP
description: The IP address of the server
type: ipaddress
required: true
-
name: svc-port
label: Server Port
description: The TCP port of the server
type: tcp-port
default: 80
-
name: lb-alg
label: LoadBalancing Algorithm
type: string
allowed-values:
- ROUNDROBIN
- LEASTCONNECTION
default: ROUNDROBIN
-
name: enable-healthcheck
label: Enable HealthCheck?
type: boolean
default: true
<!--NeedCopy-->
Voici un exemple qui définit tous les attributs d’une liste et les valeurs expliquées dans les sections précédentes :
-
name: features-list
type: string[]
min-length: 1
max-length: 3
min-items: 1
max-items: 3
pattern: "\[A-Z\]+"
allowed-values:
- SP
- LB
- CS
default:
- LB
<!--NeedCopy-->
‘layout’
Cet attribut est un sous-attribut de l’attribut gui. Utilisez cet attribut pour afficher les valeurs de la liste sous forme de boutons radio. Définissez l’attribut layout sur radio dans la section des paramètres d’une définition de StyleBook. Il s’applique au paramètre qui possède l’attribut allowed-values. Lorsque vous créez un pack de configuration, l’interface graphique d’ADM affiche les valeurs de la liste allowed-values sous forme de boutons radio.
Exemple :
-
gui:
layout: radio
allowed-values:
- One
- Two
- Three
<!--NeedCopy-->
Les valeurs One, Two et Three apparaissent sous forme de boutons radio dans l’interface graphique d’ADM.
‘dependent-parameters’
Cet attribut est un sous-attribut de l’attribut gui. Il contrôle dynamiquement l’apparence du paramètre ou sa valeur initiale dans le formulaire de configuration du StyleBook en fonction de la valeur spécifiée dans un autre paramètre.
Spécifiez cet attribut sur un paramètre source qui contrôle le comportement du paramètre sur le formulaire. Vous pouvez inclure plusieurs conditions qui contrôlent d’autres paramètres. Par exemple, un paramètre source protocol peut avoir un paramètre dépendant certificate, qui n’apparaît que si la valeur du paramètre protocol est SSL.
Chaque condition peut avoir les attributs suivants :
-
target-parameter : Spécifiez le paramètre cible auquel cette condition s’applique.
-
matching-values : Spécifiez la liste des valeurs du paramètre source qui déclenchent l’action.
-
action : Spécifiez l’une des actions suivantes sur le paramètre ciblé :
-
read-only: Le paramètre est rendu en lecture seule. -
show: Le paramètre apparaît dans le formulaire s’il est masqué. -
hide: Le paramètre est supprimé du formulaire. -
set-value: La valeur du paramètre est définie sur la valeur spécifiée dans l’attributvalue.
-
-
value : La valeur du paramètre cible si l’action est
set-value.
Lorsqu’une entrée utilisateur correspond aux valeurs spécifiées sur le paramètre source, l’apparence ou la valeur du paramètre cible change en fonction de l’action spécifiée.
Exemple :
-
name: lb-virtual-port
label: "Load Balanced App Virtual Port"
description: "TCP port representing the Load Balanced application"
type: tcp-port
gui:
updatable: false
dependent-parameters:
-
matching-values:
- 80
target-parameter: $parameters.lb-service-type
action: set-value
allowed-values:
- HTTP
- TCP
- UDP
default: 80
<!--NeedCopy-->
Dans cet exemple, le paramètre dépendant est spécifié sous le paramètre lb-virtual-port (paramètre source).
Lorsque la valeur du paramètre source est définie sur 80, le paramètre lb-service-type déclenche l’action set-value. Par conséquent, un utilisateur est autorisé à sélectionner l’une des options suivantes :
- HTTP
- TCP
- UDP