[comment]: # aside: 1

[comment]: # translation:outdated

[comment]: # ({ee4a2645-28092341})
# Objet macro utilisateur

Les objets suivants sont directement liés à l'API `usermacro`.

[comment]: # ({/ee4a2645-28092341})

[comment]: # ({0a76e75e-e654cd12})
### Macro globale

L'objet macro globale possède les propriétés suivantes.

|Propriété|[Type](/manual/api/reference_commentary#data-types)|Description|
|--|--|------|
|globalmacroid|ID|ID de la macro globale.<br><br>[Comportement de la propriété](/manual/api/reference_commentary#property-behavior) :<br>- *lecture seule*<br>- *obligatoire* pour les opérations de mise à jour|
|description|string|Description de la macro.|
|macro|string|Chaîne de macro.<br><br>[Comportement de la propriété](/manual/api/reference_commentary#property-behavior) :<br>- *obligatoire* pour les opérations de création|
|type|integer|Type de macro.<br><br>Valeurs possibles :<br>0 - *(par défaut)* Macro texte ;<br>1 - Macro secrète ;<br>2 - Secret Vault.|
|value|string|Valeur de la macro.<br><br>[Comportement de la propriété](/manual/api/reference_commentary#property-behavior) :<br>- *écriture seule* si `type` est défini sur "Macro secrète"<br>- *obligatoire* pour les opérations de création|

[comment]: # ({/0a76e75e-e654cd12})

[comment]: # ({52a5aa5d-5a3a9f9f})
### Macro d'hôte

L'objet macro d'hôte définit une macro disponible sur un hôte, un prototype d'hôte ou un modèle. Il possède les propriétés suivantes.

|Propriété|[Type](/manual/api/reference_commentary#data-types)|Description|
|--|--|------|
|hostmacroid|ID|ID de la macro.<br><br>[Comportement de la propriété](/manual/api/reference_commentary#property-behavior) :<br>- *lecture seule*<br>- *obligatoire* pour les opérations de mise à jour|
|automatic|integer|Définit si la macro est contrôlée par une règle de découverte.<br><br>Valeurs possibles :<br>0 - *(par défaut)* La macro est gérée par l'utilisateur ;<br>1 - La macro est gérée par la règle de découverte.<br><br>L'utilisateur n'est pas autorisé à créer une macro automatique.<br>Pour mettre à jour une macro automatique, elle doit être [convertie en macro manuelle](/manual/api/reference/usermacro/update#change-macro-value-that-was-created-by-discovery-rule).|
|config|object/array|[Configuration de la macro](#macro-configuration) responsable de la façon dont la macro est affichée dans l'[assistant d'hôte](/manual/config/hosts/host_wizard#configure-host).|
|description|string|Description de la macro.|
|hostid|ID|ID de l'hôte, du prototype d'hôte ou du modèle auquel la macro appartient.<br><br>[Comportement de la propriété](/manual/api/reference_commentary#property-behavior) :<br>- *constant*<br>- *obligatoire* pour les opérations de création|
|macro|string|Chaîne de macro.<br><br>[Comportement de la propriété](/manual/api/reference_commentary#property-behavior) :<br>- *obligatoire* pour les opérations de création|
|type|integer|Type de macro.<br><br>Valeurs possibles :<br>0 - *(par défaut)* Macro texte ;<br>1 - Macro secrète ;<br>2 - Secret du coffre-fort.|
|value|string|Valeur de la macro.<br><br>[Comportement de la propriété](/manual/api/reference_commentary#property-behavior) :<br>- *écriture seule* si `type` est défini sur "Macro secrète"<br>- *obligatoire* pour les opérations de création|

[comment]: # ({/52a5aa5d-5a3a9f9f})

[comment]: # ({17133911-2d3baa1d})
#### Configuration des macros

L'objet de configuration des macros définit la manière dont une macro est affichée dans l'[assistant d'hôte](/manual/config/hosts/host_wizard#configure-host).

|Propriété|[Type](/manual/api/reference_commentary#data-types)|Description|
|--|--|------|
|type|integer|Type du champ de saisie de macro.<br><br>Valeurs possibles :<br>0 - La macro n'est pas utilisée dans l'assistant d'hôte ;<br>1 - Zone de texte ;<br>2 - Liste ;<br>3 - Case à cocher.<br><br>[Comportement de la propriété](/manual/api/reference_commentary#property-behavior) :<br>- *obligatoire*|
|label|string|Libellé du champ de saisie de macro.<br><br>[Comportement de la propriété](/manual/api/reference_commentary#property-behavior) :<br>- *obligatoire* si `type` est défini sur "Textbox", "List" ou "Checkbox"|
|description|text|Texte d'aide affiché à côté du champ de saisie de macro. Prend en charge le formatage Markdown.|
|priority|integer|Position du champ de saisie de macro dans la liste des macros.<br><br>Si `priority` n'est pas défini, la macro est ajoutée à la fin de la liste des macros non groupées.|
|required|integer|Indique que la macro est obligatoire.<br><br>Valeurs possibles :<br>0 - Non obligatoire ;<br>1 - Obligatoire.<br><br>[Comportement de la propriété](/manual/api/reference_commentary#property-behavior) :<br>- *pris en charge* si `type` est défini sur "Textbox" ou "List"|
|regex|string|Expression régulière permettant de valider la saisie utilisateur dans un champ de zone de texte.<br><br>[Comportement de la propriété](/manual/api/reference_commentary#property-behavior) :<br>- *pris en charge* si `type` est défini sur "Textbox"|
|section\_name|string|Libellé de la section repliable dans laquelle la macro est groupée.<br><br>Si `section_name` n'est pas défini, la macro n'est pas groupée. Les macros non groupées sont affichées en premier ; les macros groupées sont affichées en dessous, triées selon leur `priority` dans chaque section repliable.|
|options|text|Chaîne JSON définissant les éléments de liste ou les valeurs de case à cocher.<br><br>Pour les listes : un tableau d'objets avec les propriétés `value` et `text`.<br>Exemple : `[{"value": "http", "text": "HTTP"}, {"value": "https", "text": "HTTPS"}]`<br><br>Pour les cases à cocher : un objet avec les propriétés `checked` et `unchecked`.<br>Exemple : `{"checked": true, "unchecked": false}`<br><br>[Comportement de la propriété](/manual/api/reference_commentary#property-behavior) :<br>- *obligatoire* si `type` est défini sur "List" ou "Checkbox"|

[comment]: # ({/17133911-2d3baa1d})
