REST Resource: projects.configs.waiters

Ressource: Waiter

Une ressource "service de veille" attend qu'une condition de fin soit remplie dans une ressource RuntimeConfig avant de renvoyer une valeur. Par exemple, supposons que vous disposiez d'un système distribué dans lequel chaque nœud écrit dans une ressource Variable indiquant l'état de préparation du nœud dans le cadre du processus de démarrage.

Vous configurez ensuite une ressource "service de veille" avec la condition de réussite définie pour attendre qu'un certain nombre de nœuds se soient connectés. Ensuite, votre application exécute du code arbitraire une fois la condition remplie et que le délai d'attente a expiré.

Une fois créée, une ressource Waiter est immuable.

Pour en savoir plus sur l'utilisation des waiters, consultez la documentation Créer un waiter.

Représentation JSON
{
  "name": string,
  "timeout": string,
  "failure": {
    object(EndCondition)
  },
  "success": {
    object(EndCondition)
  },
  "createTime": string,
  "done": boolean,
  "error": {
    object(Status)
  }
}
Champs
name

string

Nom de la ressource Waiter, au format suivant:

projects/[PROJECT_ID]/configs/[CONFIG_NAME]/waiters/[WAITER_NAME]

[PROJECT_ID] doit être un ID de projet Google Cloud valide, [CONFIG_NAME] doit être une ressource RuntimeConfig valide, [WAITER_NAME] doit correspondre à la spécification de segment RFC 1035 et la longueur de [WAITER_NAME] doit être inférieure à 64 octets.

Une fois la ressource Waiter créée, vous ne pouvez plus modifier son nom.

timeout

string (Duration format)

[Obligatoire] Spécifie le délai d'inactivité du veilleur en secondes, à partir du moment où la méthode waiters().create est appelée. Si ce délai s'écoule avant que les conditions de réussite ou d'échec ne soient remplies, le service de veille échoue et définit le code error sur DEADLINE_EXCEEDED.

Durée en secondes avec neuf chiffres au maximum après la virgule. Se termine par "s". Example : "3.5s".

failure

object(EndCondition)

[Facultatif] Condition d'échec de ce service de veille. Si cette condition est remplie, done est défini sur true et le code error sur ABORTED. La condition d'échec prévaut sur la condition de réussite. Si les deux conditions sont remplies, une erreur est indiquée. Cette valeur est facultative. Si aucune condition d'échec n'est définie, le seul scénario d'échec est un délai avant expiration.

success

object(EndCondition)

[Obligatoire] Condition de réussite. Si cette condition est remplie, done est défini sur true et la valeur error reste non définie. La condition d'échec prévaut sur la condition de réussite. Si les deux conditions sont remplies, une erreur est indiquée.

createTime

string (Timestamp format)

Uniquement en sortie. Instant auquel cette ressource Waiter a été créée. Ajouter la valeur de timeout à cet instant génère l'échéance du délai avant expiration pour le délai avant expiration.

Horodatage au format RFC3339 UTC "Zulu", précis à la nanoseconde près. Exemple : "2014-10-02T15:01:23.045123456Z".

done

boolean

Uniquement en sortie. Si la valeur est false, cela signifie que le serveur attend toujours qu'une de ses conditions soit remplie.

Si la valeur est "true", le service de veille est terminé. Si le service de veille s'est terminé en raison d'un délai avant expiration ou d'un échec, error est défini.

error

object(Status)

Uniquement en sortie. Si le service de veille s'est terminé en raison d'un échec ou d'un délai avant expiration, cette valeur sera définie.

EndCondition

Condition qu'une ressource "service de veille" attend.

Représentation JSON
{
  "cardinality": {
    object(Cardinality)
  }
}
Champs
cardinality

object(Cardinality)

Cardinalité de EndCondition.

Cardinalité

Condition de cardinalité pour la ressource Waiter. Une condition de cardinalité est remplie lorsque le nombre de variables sous un préfixe de chemin d'accès spécifié atteint un nombre prédéfini. Par exemple, si vous définissez une condition de cardinalité où path est défini sur /foo et que le nombre de chemins est défini sur 2, les variables suivantes rempliront la condition dans une ressource RuntimeConfig:

  • /foo/variable1 = "value1"
  • /foo/variable2 = "value2"
  • /bar/variable3 = "value3"

Toutefois, il ne répondrait pas à la même condition si number était défini sur 3, car il n'existe que deux chemins commençant par /foo. Les conditions de cardinalité sont récursives. Toutes les sous-arborescences sous le préfixe de chemin spécifique sont comptabilisées.

Représentation JSON
{
  "path": string,
  "number": number
}
Champs
path

string

Racine du sous-arbre de variables à surveiller. Par exemple, /foo.

number

number

Nombre de variables sous path qui doivent exister pour que cette condition soit remplie. Si cette valeur n'est pas spécifiée, elle est définie par défaut sur 1.

Méthodes

create

Crée une ressource Waiter.

delete

Supprime le délai d'attente avec le nom spécifié.

get

Obtient des informations sur un seul serveur.

list

Répertoriez les serveurs dans la configuration donnée.

testIamPermissions

Renvoie les autorisations qu'un appelant a sur la ressource spécifiée.