REST Resource: projects.locations.deliveryPipelines.automations

Recurso: Automatización

Un recurso Automation en la API de Cloud Deploy.

Un Automation permite automatizar las acciones impulsadas de forma manual para una canalización de entrega, lo que incluye la promoción de lanzamiento entre destinos, la reparación del lanzamiento y el avance de la estrategia de implementación de lanzamiento. El objetivo de la automatización es reducir la intervención manual en el proceso de entrega continua.

Representación JSON
{
  "name": string,
  "uid": string,
  "description": string,
  "createTime": string,
  "updateTime": string,
  "annotations": {
    string: string,
    ...
  },
  "labels": {
    string: string,
    ...
  },
  "etag": string,
  "suspended": boolean,
  "serviceAccount": string,
  "selector": {
    object (AutomationResourceSelector)
  },
  "rules": [
    {
      object (AutomationRule)
    }
  ]
}
Campos
name

string

Solo salida. Es el nombre de Automation. El formato es projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/automations/{automation}.

uid

string

Solo salida. Es el identificador único de Automation.

description

string

Opcional. Descripción de Automation. La longitud máxima es de 255 caracteres.

createTime

string (Timestamp format)

Solo salida. Hora a la que se creó la automatización.

Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Solo salida. Hora a la que se actualizó la automatización.

Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

annotations

map (key: string, value: string)

Opcional. Anotaciones de usuario Solo el usuario puede configurar y usar estos atributos, no Cloud Deploy. Las anotaciones deben cumplir con las siguientes restricciones:

  • Las anotaciones son pares clave-valor.
  • Las claves de anotación válidas tienen dos segmentos, que son un prefijo y un nombre opcionales separados por una barra diagonal (/).
  • El segmento de nombre es obligatorio y debe tener 63 caracteres o menos, comenzar y terminar con un carácter alfanumérico ([a-z0-9A-Z]) con guiones (-), guiones bajos (_), puntos (.) y signos alfanuméricos en el medio.
  • El prefijo es opcional. Si se especifica, debe ser un subdominio DNS: una serie de etiquetas DNS separadas por puntos(.), de no más de 253 caracteres en total y seguidas de una barra diagonal (/).

Para obtener más detalles, consulta https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#syntax-and-character-set.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

labels

map (key: string, value: string)

Opcional. Las etiquetas son atributos que el usuario y Cloud Deploy pueden configurar y usar. Las etiquetas deben cumplir con las siguientes restricciones:

  • Las claves y los valores solo pueden contener letras minúsculas, números, guiones bajos y guiones.
  • Todos los caracteres deben usar la codificación UTF-8 y se permiten los caracteres internacionales.
  • Las claves deben comenzar con una letra en minúscula o un carácter internacional.
  • Cada recurso está limitado a un máximo de 64 etiquetas.

Las claves y los valores también tienen un límite de 63 caracteres o menos.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

etag

string

Opcional. La ETag débil del recurso Automation. El servidor calcula esta suma de verificación según el valor de otros campos, y puede enviarse en las solicitudes de actualización y eliminación para garantizar que el cliente tenga un valor actualizado antes de continuar.

suspended

boolean

Opcional. Cuando se suspende, la automatización se desactiva de la ejecución.

serviceAccount

string

Obligatorio. Dirección de correo electrónico de la cuenta de servicio de IAM administrada por el usuario que crea los recursos de lanzamiento y lanzamiento de Cloud Deploy.

selector

object (AutomationResourceSelector)

Obligatorio. Recursos seleccionados a los que se aplicará la automatización.

rules[]

object (AutomationRule)

Obligatorio. Lista de reglas de automatización asociadas con el recurso de automatización. Debe tener al menos una regla y un límite de 250 por canalización de entrega. Nota: El orden de las reglas aquí no es el mismo que el de ejecución.

AutomationResourceSelector

AutomationResourceSelector contiene la información para seleccionar los recursos a los que se aplicará una automatización.

Representación JSON
{
  "targets": [
    {
      object (TargetAttribute)
    }
  ]
}
Campos
targets[]

object (TargetAttribute)

Contiene atributos sobre un objetivo.

TargetAttribute

Contiene criterios para seleccionar Destinos.

Representación JSON
{
  "id": string,
  "labels": {
    string: string,
    ...
  }
}
Campos
id

string

Es el ID de Target. El valor de este campo puede ser uno de los siguientes: * El último segmento de un nombre de destino. Solo necesita el ID para determinar a qué segmentación se refiere * "*", todas las segmentaciones en una ubicación.

labels

map (key: string, value: string)

Etiquetas de destino.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

AutomationRule

AutomationRule define las actividades de automatización.

Representación JSON
{

  // Union field rule can be only one of the following:
  "promoteReleaseRule": {
    object (PromoteReleaseRule)
  },
  "advanceRolloutRule": {
    object (AdvanceRolloutRule)
  },
  "repairRolloutRule": {
    object (RepairRolloutRule)
  }
  // End of list of possible types for union field rule.
}
Campos
Campo de unión rule. La configuración de la regla de automatización. rule puede ser solo uno de los siguientes:
promoteReleaseRule

object (PromoteReleaseRule)

Opcional. PromoteReleaseRule promoverá automáticamente una versión del destino actual a un destino específico.

advanceRolloutRule

object (AdvanceRolloutRule)

Opcional. AdvanceRolloutRule avanzará automáticamente un lanzamiento exitoso.

repairRolloutRule

object (RepairRolloutRule)

Opcional. RepairRolloutRule reparará automáticamente un lanzamiento con errores.

PromoteReleaseRule

La regla PromoteRelease promoverá automáticamente una versión del destino actual a un destino específico.

Representación JSON
{
  "id": string,
  "wait": string,
  "destinationTargetId": string,
  "condition": {
    object (AutomationRuleCondition)
  },
  "destinationPhase": string
}
Campos
id

string

Obligatorio. ID de la regla. Este ID debe ser único en el recurso Automation al que pertenece esta regla. El formato es [a-z]([a-z0-9-]{0,61}[a-z0-9])?.

wait

string (Duration format)

Opcional. El tiempo que se debe pausar la versión hasta que se promueva al siguiente destino.

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

destinationTargetId

string

Opcional. El ID de la etapa en la canalización en la que se implementa este Release. Si no se especifica, se establece de forma predeterminada en la siguiente etapa del flujo de promoción. El valor de este campo puede ser uno de los siguientes:

  • Es el último segmento del nombre de un destino. Solo necesita el ID para determinar si el destino es una de las etapas de la secuencia de promoción definidas en la canalización.
  • "@next", el siguiente destino en la secuencia de promoción.
condition

object (AutomationRuleCondition)

Solo salida. Información sobre el estado de la regla de automatización.

destinationPhase

string

Opcional. La fase inicial del lanzamiento que crea esta operación. La primera fase se establece de forma predeterminada.

AutomationRuleCondition

AutomationRuleCondition contiene condiciones relevantes para una regla Automation.

Representación JSON
{
  "targetsPresentCondition": {
    object (TargetsPresentCondition)
  }
}
Campos
targetsPresentCondition

object (TargetsPresentCondition)

Opcional. Detalles sobre los destinos enumerados en la regla.

AdvanceRolloutRule

La regla de automatización rollouts.advance avanzará automáticamente un lanzamiento exitoso a la siguiente fase.

Representación JSON
{
  "id": string,
  "sourcePhases": [
    string
  ],
  "wait": string,
  "condition": {
    object (AutomationRuleCondition)
  }
}
Campos
id

string

Obligatorio. ID de la regla. Este ID debe ser único en el recurso Automation al que pertenece esta regla. El formato es [a-z]([a-z0-9-]{0,61}[a-z0-9])?.

sourcePhases[]

string

Opcional. Continúa solo después de que el nombre de la fase coincida con cualquiera de la lista. Este valor debe incluir letras minúsculas, números y guiones, comenzar con una letra y terminar con una letra o un número, y tener una longitud máxima de 63 caracteres. En otras palabras, debe coincidir con la siguiente regex: ^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$.

wait

string (Duration format)

Opcional. Tiempo de espera después de que finaliza un lanzamiento.

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

condition

object (AutomationRuleCondition)

Solo salida. Información sobre el estado de la regla de automatización.

RepairRolloutRule

La regla de automatización RepairRolloutRule reparará automáticamente un Rollout con errores.

Representación JSON
{
  "id": string,
  "sourcePhases": [
    string
  ],
  "jobs": [
    string
  ],
  "repairModes": [
    {
      object (RepairMode)
    }
  ],
  "condition": {
    object (AutomationRuleCondition)
  }
}
Campos
id

string

Obligatorio. ID de la regla. Este ID debe ser único en el recurso Automation al que pertenece esta regla. El formato es [a-z]([a-z0-9-]{0,61}[a-z0-9])?.

sourcePhases[]

string

Opcional. Fases en las que los trabajos están sujetos a acciones de reparación automáticas en caso de falla. Continúa solo después de que el nombre de la fase coincida con cualquiera de la lista o con todas las fases si no se especifica. Este valor debe incluir letras minúsculas, números y guiones, comenzar con una letra y terminar con una letra o un número, y tener una longitud máxima de 63 caracteres. En otras palabras, debe coincidir con la siguiente regex: ^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$.

jobs[]

string

Opcional. Trabajos que deben repararse Continúa solo después de que el nombre del trabajo coincida con alguno de la lista o con todos los trabajos si no se especifica o está vacío. La fase que incluye el trabajo debe coincidir con el ID de fase especificado en sourcePhase. Este valor debe incluir letras minúsculas, números y guiones, comenzar con una letra y terminar con una letra o un número, y tener una longitud máxima de 63 caracteres. En otras palabras, debe coincidir con la siguiente regex: ^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$.

repairModes[]

object (RepairMode)

Obligatorio. Define los tipos de acciones de reparación automática para los trabajos con errores.

condition

object (AutomationRuleCondition)

Solo salida. Información sobre el estado de la regla "Automatización".

RepairMode

Configuración de la acción de reparación.

Representación JSON
{

  // Union field mode can be only one of the following:
  "retry": {
    object (Retry)
  },
  "rollback": {
    object (Rollback)
  }
  // End of list of possible types for union field mode.
}
Campos
Campo de unión mode. La acción de reparación que se debe realizar. mode puede ser solo uno de los siguientes:
retry

object (Retry)

Opcional. Vuelve a intentar un trabajo con errores.

rollback

object (Rollback)

Opcional. Revierte un Rollout.

Volver a intentarlo

Vuelve a intentar el trabajo con errores.

Representación JSON
{
  "attempts": string,
  "wait": string,
  "backoffMode": enum (BackoffMode)
}
Campos
attempts

string (int64 format)

Obligatorio. Cantidad total de reintentos. Se omite el reintento si se establece en 0. El valor mínimo es 1 y el máximo es 10.

wait

string (Duration format)

Opcional. Tiempo de espera para el primer reintento. El valor predeterminado es 0 y el valor máximo es 14 días.

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

backoffMode

enum (BackoffMode)

Opcional. El patrón de cómo aumentará el tiempo de espera. El valor predeterminado es lineal. El modo de retirada se ignorará si wait es 0.

Revertir

Revierte un Rollout.

Representación JSON
{
  "destinationPhase": string
}
Campos
destinationPhase

string

Opcional. El ID de fase inicial para Rollout. Si no se especifica, Rollout comenzará en la fase estable.

Métodos

create

Crea una automatización nueva en un proyecto y una ubicación determinados.

delete

Borra un solo recurso de automatización.

get

Obtiene detalles de una sola automatización.

list

Enumera las automatizaciones en un proyecto y una ubicación determinados.

patch

Actualiza los parámetros de un solo recurso de automatización.