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

Recurso: lançamento

Um recurso Rollout na API Cloud Deploy.

Um Rollout contém informações sobre uma implantação específica em um Target.

Representação 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. Nome da Rollout. O formato é projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}. O componente rollout precisa corresponder a [a-z]([a-z0-9-]{0,61}[a-z0-9])?

uid

string

Apenas saída. Identificador exclusivo do Rollout.

description

string

Descrição do Rollout para fins do usuário. O comprimento máximo é de 255 caracteres.

annotations

map (key: string, value: string)

Anotações do usuário. Esses atributos só podem ser definidos e usados pelo usuário, e não pelo Cloud Deploy. Consulte https://google.aip.dev/128#annotations para ver mais detalhes sobre limitações de formato e tamanho.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

labels

map (key: string, value: string)

Rótulos são atributos que podem ser definidos e usados pelo usuário e pelo Cloud Deploy. Os rótulos precisam atender às seguintes restrições:

  • As chaves e os valores podem conter apenas letras minúsculas, caracteres numéricos, sublinhados e traços.
  • Todos os caracteres precisam usar a codificação UTF-8. Caracteres internacionais são permitidos.
  • As chaves precisam começar com uma letra minúscula ou um caractere internacional.
  • Cada recurso está limitado a um máximo de 64 rótulos.

As chaves e os valores são restritos a <= 128 bytes.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

createTime

string (Timestamp format)

Apenas saída. Horário em que o Rollout foi criado.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

approveTime

string (Timestamp format)

Apenas saída. Horário em que o Rollout foi aprovado.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

enqueueTime

string (Timestamp format)

Apenas saída. Hora em que o Rollout foi colocado na fila.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

deployStartTime

string (Timestamp format)

Apenas saída. Hora em que o Rollout começou a ser implantado.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

deployEndTime

string (Timestamp format)

Apenas saída. Hora em que a implantação do Rollout terminou.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

targetId

string

Obrigatório. O ID do destino em que este Rollout está sendo implantado.

approvalState

enum (ApprovalState)

Apenas saída. Estado de aprovação do Rollout.

state

enum (State)

Apenas saída. Estado atual do Rollout.

failureReason

string

Apenas saída. Informações adicionais sobre a falha no lançamento, se disponíveis.

deployingBuild

string

Apenas saída. O nome do recurso do objeto Build do Cloud Build que é usado para implantar o lançamento. O formato é projects/{project}/locations/{location}/builds/{build}.

etag

string

Essa soma de verificação é calculada pelo servidor com base no valor de outros campos e pode ser enviada em solicitações de atualização e exclusão para garantir que o cliente tenha um valor atualizado antes de continuar.

deployFailureCause

enum (FailureCause)

Apenas saída. O motivo da falha no lançamento. Esse valor sempre não será especificado enquanto o lançamento estiver em andamento.

phases[]

object (Phase)

Apenas saída. As fases que representam os fluxos de trabalho desse Rollout.

metadata

object (Metadata)

Apenas saída. Os metadados contêm informações sobre o lançamento.

controllerRollout

string

Apenas saída. Nome da ControllerRollout. O formato é projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}.

rollbackOfRollout

string

Apenas saída. Nome da Rollout que é revertida por esta Rollout. Vai ser vazio se Rollout não tiver sido criado como uma reversão.

rolledBackByRollouts[]

string

Apenas saída. Nomes de Rollouts que reverteram este Rollout.

ApprovalState

Estados de aprovação válidos de um Rollout.

Tipos enumerados
APPROVAL_STATE_UNSPECIFIED O Rollout tem um estado de aprovação não especificado.
NEEDS_APPROVAL O Rollout precisa de aprovação.
DOES_NOT_NEED_APPROVAL O Rollout não requer aprovação.
APPROVED O Rollout foi aprovado.
REJECTED A solicitação Rollout foi recusada.

Estado

Estados válidos de um Rollout.

Tipos enumerados
STATE_UNSPECIFIED O Rollout tem um estado não especificado.
SUCCEEDED A operação Rollout foi concluída.
FAILED Ocorreu uma falha no Rollout.
IN_PROGRESS O Rollout está sendo implantado.
PENDING_APPROVAL A Rollout precisa de aprovação.
APPROVAL_REJECTED Um aprovador rejeitou a Rollout.
PENDING O Rollout está aguardando a conclusão de um lançamento anterior neste Target.
PENDING_RELEASE O Rollout está aguardando a Release ser totalmente renderizada.
CANCELLING O Rollout está em processo de cancelamento.
CANCELLED A transação de Rollout foi cancelada.
HALTED A Rollout foi interrompida.

FailureCause

Falhas conhecidas no lançamento.

Tipos enumerados
FAILURE_CAUSE_UNSPECIFIED Nenhum motivo para a falha foi especificado.
CLOUD_BUILD_UNAVAILABLE O Cloud Build não está disponível porque não está ativado ou porque o Cloud Deploy não tem permissões suficientes. Consulte a permissão necessária.
EXECUTION_FAILED A operação de implantação não foi concluída com sucesso. Verifique os registros do Cloud Build.
DEADLINE_EXCEEDED A implantação não foi concluída no tempo alocado.
RELEASE_FAILED A versão está em estado de falha.
RELEASE_ABANDONED A versão foi abandonada.
VERIFICATION_CONFIG_NOT_FOUND Nenhuma configuração de verificação do Skaffold foi encontrada.
CLOUD_BUILD_REQUEST_FAILED O Cloud Build falhou ao atender à solicitação do Cloud Deploy. Consulte failedMessage para mais detalhes.
OPERATION_FEATURE_NOT_SUPPORTED Uma operação de lançamento tem um recurso configurado que não é compatível.

Fase

A fase representa uma coleção de jobs agrupados logicamente para um Rollout.

Representação 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

Apenas saída. O ID da fase.

state

enum (State)

Apenas saída. Estado atual da fase.

skipMessage

string

Apenas saída. Informações adicionais sobre o motivo pelo qual a Fase foi ignorada, se disponíveis.

Campo de união jobs. A composição do job dessa fase. jobs só pode ser de um dos seguintes tipos:
deploymentJobs

object (DeploymentJobs)

Apenas saída. Composição do job de implantação.

childRolloutJobs

object (ChildRolloutJobs)

Apenas saída. Composição do job de ChildLaunch.

Estado

Estados válidos de uma fase.

Tipos enumerados
STATE_UNSPECIFIED A fase tem um estado não especificado.
PENDING A Fase está aguardando uma ou mais fases anteriores serem concluídas.
IN_PROGRESS A Fase está em andamento.
SUCCEEDED A fase foi concluída.
FAILED A fase falhou.
ABORTED A fase foi cancelada.
SKIPPED A fase foi ignorada.

DeploymentJobs

Composição do job de implantação.

Representação JSON
{
  "deployJob": {
    object (Job)
  },
  "verifyJob": {
    object (Job)
  },
  "predeployJob": {
    object (Job)
  },
  "postdeployJob": {
    object (Job)
  }
}
Campos
deployJob

object (Job)

Apenas saída. O job de implantação. Este é o job de implantação na fase.

verifyJob

object (Job)

Apenas saída. O job de verificação. Executada após uma implantação se ela for bem-sucedida.

predeployJob

object (Job)

Apenas saída. O job de pré-implantação, que é o primeiro da fase.

postdeployJob

object (Job)

Apenas saída. O job de pós-implantação, que é o último da fase.

Job

O job representa uma operação para um Rollout.

Representação 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

Apenas saída. O ID do job.

state

enum (State)

Apenas saída. O estado atual do job.

skipMessage

string

Apenas saída. Informações adicionais sobre por que o job foi ignorado, se disponíveis.

jobRun

string

Apenas saída. O nome do JobRun responsável pela invocação mais recente desse job.

Campo de união job_type. O tipo de job. job_type só pode ser de um dos seguintes tipos:
deployJob

object (DeployJob)

Apenas saída. Um job de implantação.

verifyJob

object (VerifyJob)

Apenas saída. um job de verificação.

predeployJob

object (PredeployJob)

Apenas saída. Um job de pré-implantação.

postdeployJob

object (PostdeployJob)

Apenas saída. Um job de pós-implantação.

createChildRolloutJob

object (CreateChildRolloutJob)

Apenas saída. Um job createChild rollout.

advanceChildRolloutJob

object (AdvanceChildRolloutJob)

Apenas saída. Um job AdvancedChildLaunch.

Estado

Estados válidos de um job.

Tipos enumerados
STATE_UNSPECIFIED O job tem um estado não especificado.
PENDING O job está aguardando a conclusão das fases ou jobs anteriores.
DISABLED O job está desativado.
IN_PROGRESS O job está em andamento.
SUCCEEDED O job foi bem-sucedido.
FAILED O job falhou.
ABORTED O job foi cancelado.
SKIPPED O job foi ignorado.
IGNORED O job foi ignorado.

DeployJob

Esse tipo não tem campos.

Um job de implantação.

VerifyJob

Esse tipo não tem campos.

um job de verificação.

PredeployJob

Um job de pré-implantação.

Representação JSON
{
  "actions": [
    string
  ]
}
Campos
actions[]

string

Apenas saída. As ações personalizadas que o job de pré-implantação executa.

PostdeployJob

Um job de pós-implantação.

Representação JSON
{
  "actions": [
    string
  ]
}
Campos
actions[]

string

Apenas saída. As ações personalizadas que o job de pós-implantação executa.

CreateChildRolloutJob

Esse tipo não tem campos.

Um job createChild rollout.

AdvanceChildRolloutJob

Esse tipo não tem campos.

Um job AdvancedChildLaunch.

ChildRolloutJobs

Composição do job ChildLaunchs

Representação JSON
{
  "createRolloutJobs": [
    {
      object (Job)
    }
  ],
  "advanceRolloutJobs": [
    {
      object (Job)
    }
  ]
}
Campos
createRolloutJobs[]

object (Job)

Apenas saída. Lista de CreateChildLaunchJobs

advanceRolloutJobs[]

object (Job)

Apenas saída. Lista de AdvanceChildLaunchJobs

Metadados

Os metadados incluem informações associadas a um Rollout.

Representação JSON
{
  "cloudRun": {
    object (CloudRunMetadata)
  },
  "automation": {
    object (AutomationRolloutMetadata)
  },
  "custom": {
    object (CustomMetadata)
  }
}
Campos
cloudRun

object (CloudRunMetadata)

Apenas saída. O nome do serviço do Cloud Run associado a um Rollout.

automation

object (AutomationRolloutMetadata)

Apenas saída. AutomationLaunchMetadata contém informações sobre as interações entre o serviço de Automation e esse lançamento.

custom

object (CustomMetadata)

Apenas saída. Metadados personalizados fornecidos por operações Rollout definidas pelo usuário.

AutomationRolloutMetadata

AutomationLaunchMetadata contém ações relacionadas à Automation que foram realizadas em um lançamento.

Representação JSON
{
  "promoteAutomationRun": string,
  "advanceAutomationRuns": [
    string
  ],
  "repairAutomationRuns": [
    string
  ],
  "currentRepairAutomationRun": string
}
Campos
promoteAutomationRun

string

Apenas saída. O ID do AutomationRun iniciado por uma regra de lançamento de promoção.

advanceAutomationRuns[]

string

Apenas saída. Os IDs das AutomationRuns iniciados por uma regra de lançamento avançada.

repairAutomationRuns[]

string

Apenas saída. Os IDs das AutomationRuns iniciados por uma regra de lançamento de reparo.

currentRepairAutomationRun

string

Apenas saída. O AutomationRun atual repara o lançamento.

Métodos

advance

Avança um lançamento em um determinado projeto e local.

approve

Aprova um lançamento.

cancel

Cancela um lançamento em um determinado projeto e local.

create

Cria um novo lançamento em um determinado projeto e local.

get

Recebe detalhes de um único lançamento.

ignoreJob

Ignora o job especificado em um lançamento.

list

Lista os lançamentos em um determinado projeto e local.

retryJob

Repete o job especificado em um lançamento.