REST Resource: projects.configs.waiters

Recurso: Waiter

Un recurso de espera espera a que se cumpla una condición final dentro de un recurso RuntimeConfig antes de mostrarse. Por ejemplo, supongamos que tienes un sistema distribuido en el que cada nodo escribe en un recurso de Variable que indica el nivel de preparación del nodo como parte del proceso de inicio.

Luego, configuras un recurso de espera con la condición de éxito establecida para esperar hasta que se registre una cantidad determinada de nodos. Luego, tu aplicación ejecuta un código arbitrario después de que se cumple la condición y el objeto de espera se muestra correctamente.

Una vez creado, un recurso de Waiter es inmutable.

Para obtener más información sobre el uso de los objetos waiters, consulta la documentación Cómo crear un objeto waiter.

Representación JSON
{
  "name": string,
  "timeout": string,
  "failure": {
    object(EndCondition)
  },
  "success": {
    object(EndCondition)
  },
  "createTime": string,
  "done": boolean,
  "error": {
    object(Status)
  }
}
Campos
name

string

Es el nombre del recurso de Waiter, con el siguiente formato:

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

[PROJECT_ID] debe ser un ID de proyecto de Google Cloud válido, [CONFIG_NAME] debe ser un recurso RuntimeConfig válido, [WAITER_NAME] debe coincidir con la especificación de segmentos de RFC 1035 y la longitud de [WAITER_NAME] debe ser inferior a 64 bytes.

Después de crear un recurso Waiter, no puedes cambiar su nombre.

timeout

string (Duration format)

[Obligatorio] Especifica el tiempo de espera del objeto de espera en segundos, a partir del momento en que se llama al método waiters().create. Si transcurre este tiempo antes de que se cumplan las condiciones de éxito o fracaso, el recurso de espera falla y establece el código error en DEADLINE_EXCEEDED.

Una duración en segundos con hasta nueve dígitos decimales, terminados en “s”. Ejemplo: "3.5s".

failure

object(EndCondition)

[Opcional] La condición de error de este objeto de espera. Si se cumple esta condición, done se establecerá como true y el código error se establecerá como ABORTED. La condición de error tiene prioridad sobre la condición de éxito. Si se cumplen ambas condiciones, se indicará una falla. Este valor es opcional. Si no se establece ninguna condición de falla, el único escenario de falla será un tiempo de espera.

success

object(EndCondition)

[Obligatorio] Es la condición de éxito. Si se cumple esta condición, done se establecerá en true y el valor de error no se establecerá. La condición de error tiene prioridad sobre la condición de éxito. Si se cumplen ambas condiciones, se indicará una falla.

createTime

string (Timestamp format)

Solo salida. El instante en el que se creó este recurso de Waiter. Si agregas el valor de timeout a este instante, se obtiene el plazo de tiempo de espera del objeto de espera.

Una marca de tiempo en formato RFC3339 UTC “Zulú”, con precisión de nanosegundos. Ejemplo: "2014-10-02T15:01:23.045123456Z".

done

boolean

Solo salida. Si el valor es false, significa que el objeto de espera aún está esperando que se cumpla una de sus condiciones.

Si es verdadero, el objeto de espera finalizó. Si el objeto de espera finalizó debido a un tiempo de espera o una falla, se establecerá error.

error

object(Status)

Solo salida. Si el objeto de espera finalizó debido a una falla o un tiempo de espera, se establecerá este valor.

EndCondition

Es la condición a la que espera un recurso de Waiter.

Representación JSON
{
  "cardinality": {
    object(Cardinality)
  }
}
Campos
cardinality

object(Cardinality)

Es la cardinalidad de EndCondition.

Cardinalidad

Una condición de cardinalidad para el recurso Waiter. Se cumple una condición de cardinalidad cuando la cantidad de variables en un prefijo de ruta especificado alcanza una cantidad predefinida. Por ejemplo, si estableces una condición de cardinalidad en la que path se establece en /foo y la cantidad de rutas se establece en 2, las siguientes variables cumplirían con la condición en un recurso RuntimeConfig:

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

Sin embargo, no satisfaría la misma condición con number establecido en 3, ya que solo hay 2 rutas que comienzan con /foo. Las condiciones de cardinalidad son recursivas; se cuentan todos los subárboles bajo el prefijo de ruta de acceso específico.

Representación JSON
{
  "path": string,
  "number": number
}
Campos
path

string

Es la raíz del subárbol de variables que se debe supervisar. Por ejemplo, /foo.

number

number

Las variables numéricas de path que deben existir para cumplir con esta condición. Si no se especifica, el valor predeterminado es 1.

Métodos

create

Crea un recurso Waiter.

delete

Borra el objeto de espera con el nombre especificado.

get

Obtiene información sobre un solo objeto de espera.

list

Muestra una lista de los objetos de espera dentro de la configuración determinada.

testIamPermissions

Permite mostrar los permisos que tiene un emisor para un recurso especificado.