REST Resource: projects.locations.deliveryPipelines.releases.rollouts

Recurso: Implementación

Un recurso Rollout en la API de Cloud Deploy.

Un Rollout contiene información sobre una implementación específica en un Target.

Representación JSON
{
  "name": string,
  "uid": string,
  "description": string,
  "annotations": {
    string: string,
    ...
  },
  "labels": {
    string: string,
    ...
  },
  "createTime": string,
  "approveTime": string,
  "enqueueTime": string,
  "deployStartTime": string,
  "deployEndTime": string,
  "targetId": string,
  "approvalState": enum (ApprovalState),
  "state": enum (State),
  "failureReason": string,
  "deployingBuild": string,
  "etag": string,
  "deployFailureCause": enum (FailureCause),
  "phases": [
    {
      object (Phase)
    }
  ],
  "metadata": {
    object (Metadata)
  },
  "controllerRollout": string,
  "rollbackOfRollout": string,
  "rolledBackByRollouts": [
    string
  ]
}
Campos
name

string

Opcional. Es el nombre del Rollout. El formato es projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}. El componente rollout debe coincidir con [a-z]([a-z0-9-]{0,61}[a-z0-9])?.

uid

string

Solo salida. Es el identificador único de Rollout.

description

string

Descripción de Rollout para usos del usuario. La longitud máxima es de 255 caracteres.

annotations

map (key: string, value: string)

Anotaciones de usuario Solo el usuario puede configurar y usar estos atributos, no Cloud Deploy. Consulta https://google.aip.dev/128#annotations para obtener más detalles, como las limitaciones de formato y tamaño.

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

labels

map (key: string, value: string)

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, caracteres numéricos, 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 tiene un límite de 64 etiquetas.

Las claves y los valores tienen restricciones adicionales para ser <= 128 bytes.

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

createTime

string (Timestamp format)

Solo salida. Hora a la que se creó el objeto Rollout.

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".

approveTime

string (Timestamp format)

Solo salida. Hora a la que se aprobó el Rollout.

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".

enqueueTime

string (Timestamp format)

Solo salida. Hora a la que se puso en cola el Rollout.

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".

deployStartTime

string (Timestamp format)

Solo salida. Hora a la que Rollout comenzó a implementarse.

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".

deployEndTime

string (Timestamp format)

Solo salida. Hora en la que Rollout terminó de implementarse.

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".

targetId

string

Obligatorio. El ID del destino en el que se implementa este Rollout.

approvalState

enum (ApprovalState)

Solo salida. Estado de aprobación de Rollout.

state

enum (State)

Solo salida. Estado actual de Rollout.

failureReason

string

Solo salida. Información adicional sobre el error de lanzamiento, si está disponible.

deployingBuild

string

Solo salida. El nombre del recurso del objeto Build de Cloud Build que se usa para implementar el lanzamiento. El formato es projects/{project}/locations/{location}/builds/{build}.

etag

string

El servidor calcula esta suma de comprobación en función del valor de otros campos, y es posible que se envíe en solicitudes de actualización y eliminación para garantizar que el cliente tenga un valor actualizado antes de continuar.

deployFailureCause

enum (FailureCause)

Solo salida. El motivo por el que falló este lanzamiento. Siempre no se especificará mientras el lanzamiento esté en curso.

phases[]

object (Phase)

Solo salida. Las fases que representan los flujos de trabajo de este Rollout.

metadata

object (Metadata)

Solo salida. Los metadatos contienen información sobre el lanzamiento.

controllerRollout

string

Solo salida. Es el nombre del ControllerRollout. El formato es projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}.

rollbackOfRollout

string

Solo salida. Nombre de la Rollout que revierte este Rollout. Estará vacío si este Rollout no se creó como reversión.

rolledBackByRollouts[]

string

Solo salida. Nombres de Rollouts que revirtieron este Rollout.

ApprovalState

Estados de aprobación válidos de un Rollout.

Enums
APPROVAL_STATE_UNSPECIFIED Rollout tiene un estado de aprobación no especificado.
NEEDS_APPROVAL El Rollout requiere aprobación.
DOES_NOT_NEED_APPROVAL El Rollout no requiere aprobación.
APPROVED Se aprobó Rollout.
REJECTED Se rechazó Rollout.

Estado

Estados válidos de un Rollout

Enums
STATE_UNSPECIFIED Rollout tiene un estado no especificado.
SUCCEEDED Rollout se completó correctamente.
FAILED Se produjo un error con Rollout.
IN_PROGRESS Se está implementando Rollout.
PENDING_APPROVAL El Rollout necesita aprobación.
APPROVAL_REJECTED Un responsable de aprobación rechazó el Rollout.
PENDING Rollout está esperando a que se complete un lanzamiento anterior en este Target.
PENDING_RELEASE Rollout está esperando a que se renderice Release por completo.
CANCELLING Se está cancelando el Rollout.
CANCELLED Se canceló Rollout.
HALTED Se detuvo Rollout.

FailureCause

Errores de lanzamiento conocidos.

Enums
FAILURE_CAUSE_UNSPECIFIED No se especificó ningún motivo para la falla.
CLOUD_BUILD_UNAVAILABLE Cloud Build no está disponible, ya sea porque no está habilitado o porque Cloud Deploy no tiene permisos suficientes. Consulta los permisos necesarios.
EXECUTION_FAILED La operación de implementación no se completó correctamente; revisa los registros de Cloud Build.
DEADLINE_EXCEEDED Deployment no se completó en el tiempo asignado.
RELEASE_FAILED La versión tiene un estado de error.
RELEASE_ABANDONED Se abandona la versión.
VERIFICATION_CONFIG_NOT_FOUND No se encontró ninguna configuración de verificación de Skaffold.
CLOUD_BUILD_REQUEST_FAILED Cloud Build no pudo entregar la solicitud de Cloud Deploy. Consulta failedMessage para obtener más detalles.
OPERATION_FEATURE_NOT_SUPPORTED Una operación de lanzamiento tuvo una función configurada que no se admite.

Fase

La fase representa una colección de trabajos que se agrupan lógicamente para una Rollout.

Representación JSON
{
  "id": string,
  "state": enum (State),
  "skipMessage": string,

  // Union field jobs can be only one of the following:
  "deploymentJobs": {
    object (DeploymentJobs)
  },
  "childRolloutJobs": {
    object (ChildRolloutJobs)
  }
  // End of list of possible types for union field jobs.
}
Campos
id

string

Solo salida. El ID de la fase.

state

enum (State)

Solo salida. Estado actual de la Fase.

skipMessage

string

Solo salida. Información adicional sobre por qué se omitió la fase, si está disponible.

Campo de unión jobs. La composición del trabajo de esta fase. jobs puede ser solo uno de los siguientes:
deploymentJobs

object (DeploymentJobs)

Solo salida. Composición del trabajo de Deployment.

childRolloutJobs

object (ChildRolloutJobs)

Solo salida. Composición del trabajo de ChildRollout.

Estado

Estados válidos de una fase.

Enums
STATE_UNSPECIFIED La Fase tiene un estado no especificado.
PENDING La fase está esperando que se completen otras anteriores.
IN_PROGRESS La fase está en curso.
SUCCEEDED La Fase se completó correctamente.
FAILED La fase falló.
ABORTED Se anuló la Fase.
SKIPPED Se omitió la fase.

DeploymentJobs

Composición del trabajo de Deployment.

Representación JSON
{
  "deployJob": {
    object (Job)
  },
  "verifyJob": {
    object (Job)
  },
  "predeployJob": {
    object (Job)
  },
  "postdeployJob": {
    object (Job)
  }
}
Campos
deployJob

object (Job)

Solo salida. El trabajo de implementación Este es el trabajo de implementación en la fase.

verifyJob

object (Job)

Solo salida. El trabajo de verificación Se ejecuta después de una implementación si esta se realiza correctamente.

predeployJob

object (Job)

Solo salida. El trabajo previo a la implementación, que es el primer trabajo en la fase.

postdeployJob

object (Job)

Solo salida. El trabajo posterior a la implementación, que es el último trabajo de la fase.

Trabajo

El trabajo representa una operación para un objeto Rollout.

Representación JSON
{
  "id": string,
  "state": enum (State),
  "skipMessage": string,
  "jobRun": string,

  // Union field job_type can be only one of the following:
  "deployJob": {
    object (DeployJob)
  },
  "verifyJob": {
    object (VerifyJob)
  },
  "predeployJob": {
    object (PredeployJob)
  },
  "postdeployJob": {
    object (PostdeployJob)
  },
  "createChildRolloutJob": {
    object (CreateChildRolloutJob)
  },
  "advanceChildRolloutJob": {
    object (AdvanceChildRolloutJob)
  }
  // End of list of possible types for union field job_type.
}
Campos
id

string

Solo salida. El ID del trabajo.

state

enum (State)

Solo salida. El estado actual del objeto Job.

skipMessage

string

Solo salida. Información adicional sobre el motivo por el que se omitió el trabajo, si está disponible.

jobRun

string

Solo salida. El nombre del JobRun responsable de la invocación más reciente de este trabajo.

Campo de unión job_type. El tipo de trabajo. job_type puede ser solo uno de los siguientes:
deployJob

object (DeployJob)

Solo salida. Un trabajo de implementación

verifyJob

object (VerifyJob)

Solo salida. Un trabajo de verificación

predeployJob

object (PredeployJob)

Solo salida. Un trabajo previo a la implementación

postdeployJob

object (PostdeployJob)

Solo salida. Un trabajo posterior a la implementación

createChildRolloutJob

object (CreateChildRolloutJob)

Solo salida. Un trabajo createChildRollout

advanceChildRolloutJob

object (AdvanceChildRolloutJob)

Solo salida. Un trabajo AdvancedChildRollout.

Estado

Estados válidos de un objeto Job.

Enums
STATE_UNSPECIFIED El trabajo tiene un estado sin especificar.
PENDING El trabajo está esperando que se completen las fases o los trabajos anteriores.
DISABLED El trabajo está inhabilitado.
IN_PROGRESS El trabajo está en curso.
SUCCEEDED El trabajo se ejecutó de forma correcta.
FAILED El trabajo falló.
ABORTED Se anuló el trabajo.
SKIPPED Se omitió el trabajo.
IGNORED Se ignoró el trabajo.

DeployJob

Este tipo no tiene campos.

Un trabajo de implementación

VerifyJob

Este tipo no tiene campos.

Un trabajo de verificación

PredeployJob

Un trabajo previo a la implementación

Representación JSON
{
  "actions": [
    string
  ]
}
Campos
actions[]

string

Solo salida. Las acciones personalizadas que ejecuta el trabajo previo a la implementación.

PostdeployJob

Un trabajo posterior a la implementación

Representación JSON
{
  "actions": [
    string
  ]
}
Campos
actions[]

string

Solo salida. Las acciones personalizadas que ejecuta el trabajo posterior a la implementación.

CreateChildRolloutJob

Este tipo no tiene campos.

Un trabajo createChildRollout

AdvanceChildRolloutJob

Este tipo no tiene campos.

Un trabajo AdvancedChildRollout.

ChildRolloutJobs

Composición del trabajo de ChildRollouts

Representación JSON
{
  "createRolloutJobs": [
    {
      object (Job)
    }
  ],
  "advanceRolloutJobs": [
    {
      object (Job)
    }
  ]
}
Campos
createRolloutJobs[]

object (Job)

Solo salida. Lista de CreateChildRolloutJobs

advanceRolloutJobs[]

object (Job)

Solo salida. Lista de AdvanceChildRolloutJobs

Metadatos

Los metadatos incluyen información asociada con un Rollout.

Representación JSON
{
  "cloudRun": {
    object (CloudRunMetadata)
  },
  "automation": {
    object (AutomationRolloutMetadata)
  },
  "custom": {
    object (CustomMetadata)
  }
}
Campos
cloudRun

object (CloudRunMetadata)

Solo salida. Es el nombre del servicio de Cloud Run asociado con un Rollout.

automation

object (AutomationRolloutMetadata)

Solo salida. AutomationRolloutMetadata contiene la información sobre las interacciones entre el servicio de automatización y este lanzamiento.

custom

object (CustomMetadata)

Solo salida. Metadatos personalizados proporcionados por operaciones Rollout definidas por el usuario.

AutomationRolloutMetadata

AutomationRolloutMetadata contiene acciones relacionadas con la automatización que se realizaron en un lanzamiento.

Representación JSON
{
  "promoteAutomationRun": string,
  "advanceAutomationRuns": [
    string
  ],
  "repairAutomationRuns": [
    string
  ],
  "currentRepairAutomationRun": string
}
Campos
promoteAutomationRun

string

Solo salida. El ID de AutomationRun que inició una regla de lanzamiento de promoción.

advanceAutomationRuns[]

string

Solo salida. Los IDs de AutomationRuns iniciados por una regla de lanzamiento avanzado.

repairAutomationRuns[]

string

Solo salida. Los IDs de AutomationRuns que inició una regla de lanzamiento de reparación.

currentRepairAutomationRun

string

Solo salida. El AutomationRun actual que repara el lanzamiento.

Métodos

advance

Avanzar un lanzamiento en un proyecto y una ubicación determinados.

approve

Aprueba un lanzamiento.

cancel

Cancela un lanzamiento en una ubicación y un proyecto determinados.

create

Crea un lanzamiento nuevo en un proyecto y una ubicación determinados.

get

Obtiene los detalles de un solo lanzamiento.

ignoreJob

Ignora el trabajo especificado en un lanzamiento.

list

Muestra una lista de los lanzamientos en un proyecto y una ubicación determinados.

retryJob

Vuelve a intentar el trabajo especificado en un lanzamiento.