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

Risorsa: implementazione

Una risorsa Rollout nell'API Cloud Deploy.

Un elemento Rollout contiene informazioni su un deployment specifico in un Target.

Rappresentazione 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
  ]
}
Campi
name

string

Facoltativo. Nome di Rollout. Il formato è projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}. Il componente rollout deve corrispondere a [a-z]([a-z0-9-]{0,61}[a-z0-9])?

uid

string

Solo output. Identificatore univoco di Rollout.

description

string

Descrizione del Rollout per scopi utente. La lunghezza massima è di 255 caratteri.

annotations

map (key: string, value: string)

Annotazioni dell'utente. Questi attributi possono essere impostati e utilizzati solo dall'utente e non da Cloud Deploy. Consulta la pagina https://google.aip.dev/128#annotations per ulteriori dettagli quali le limitazioni relative a formato e dimensioni.

Un oggetto contenente un elenco di "key": value coppie. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

labels

map (key: string, value: string)

Le etichette sono attributi che possono essere impostati e utilizzati sia dall'utente sia da Cloud Deploy. Le etichette devono soddisfare i seguenti vincoli:

  • Le chiavi e i valori possono contenere solo lettere minuscole, caratteri numerici, trattini bassi e trattini.
  • Tutti i caratteri devono utilizzare la codifica UTF-8 e sono consentiti caratteri internazionali.
  • Le chiavi devono iniziare con una lettera minuscola o un carattere internazionale.
  • Ogni risorsa è limitata a un massimo di 64 etichette.

Sia le chiavi che i valori sono vincolati a essere inoltre <= 128 byte.

Un oggetto contenente un elenco di "key": value coppie. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

createTime

string (Timestamp format)

Solo output. Ora in cui è stato creato l'elemento Rollout.

Un timestamp in formato "Zulu" RFC3339 UTC, con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

approveTime

string (Timestamp format)

Solo output. Ora in cui è stato approvato il Rollout.

Un timestamp in formato "Zulu" RFC3339 UTC, con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

enqueueTime

string (Timestamp format)

Solo output. L'ora in cui Rollout è stato accodato.

Un timestamp in formato "Zulu" RFC3339 UTC, con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

deployStartTime

string (Timestamp format)

Solo output. L'ora in cui è iniziato il deployment di Rollout.

Un timestamp in formato "Zulu" RFC3339 UTC, con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

deployEndTime

string (Timestamp format)

Solo output. Ora in cui è terminato il deployment di Rollout.

Un timestamp in formato "Zulu" RFC3339 UTC, con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

targetId

string

Obbligatorio. L'ID della destinazione in cui viene eseguito il deployment di Rollout.

approvalState

enum (ApprovalState)

Solo output. Stato di approvazione del Rollout.

state

enum (State)

Solo output. Stato attuale di Rollout.

failureReason

string

Solo output. Informazioni aggiuntive sull'errore di implementazione, se disponibili.

deployingBuild

string

Solo output. Il nome della risorsa dell'oggetto Build di Cloud Build utilizzato per il deployment dell'implementazione. Il formato è projects/{project}/locations/{location}/builds/{build}.

etag

string

Questo checksum viene calcolato dal server in base al valore di altri campi e può essere inviato in caso di richieste di aggiornamento ed eliminazione per garantire che il client abbia un valore aggiornato prima di procedere.

deployFailureCause

enum (FailureCause)

Solo output. Il motivo per cui questa implementazione non è riuscita. Questo valore non verrà sempre specificato durante l'implementazione.

phases[]

object (Phase)

Solo output. Le fasi che rappresentano i flussi di lavoro di questo Rollout.

metadata

object (Metadata)

Solo output. I metadati contengono informazioni sull'implementazione.

controllerRollout

string

Solo output. Nome di ControllerRollout. Il formato è projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}.

rollbackOfRollout

string

Solo output. Nome del Rollout di cui viene eseguito il rollback da questo Rollout. Vuoto se questo Rollout non è stato creato come rollback.

rolledBackByRollouts[]

string

Solo output. Nomi di Rollouts che hanno eseguito il rollback di questo Rollout.

ApprovalState

Stati di approvazione validi di un Rollout.

Enum
APPROVAL_STATE_UNSPECIFIED Rollout ha uno stato di approvazione non specificato.
NEEDS_APPROVAL Rollout richiede l'approvazione.
DOES_NOT_NEED_APPROVAL Rollout non richiede l'approvazione.
APPROVED Il documento Rollout è stato approvato.
REJECTED Il documento Rollout è stato rifiutato.

Stato

Stati validi di Rollout.

Enum
STATE_UNSPECIFIED Rollout ha uno stato non specificato.
SUCCEEDED Rollout completato.
FAILED L'operazione Rollout non è riuscita.
IN_PROGRESS È in corso il deployment di Rollout.
PENDING_APPROVAL Rollout richiede l'approvazione.
APPROVAL_REJECTED Un approvatore ha rifiutato Rollout.
PENDING Il Rollout è in attesa del completamento di una o più implementazioni precedenti su questo Target.
PENDING_RELEASE Rollout è in attesa che Release venga visualizzato completamente.
CANCELLING Il Rollout è in fase di annullamento.
CANCELLED Il documento Rollout è stato annullato.
HALTED Rollout è stato interrotto.

FailureCause

Errori di implementazione noti.

Enum
FAILURE_CAUSE_UNSPECIFIED Nessun motivo specificato per l'errore.
CLOUD_BUILD_UNAVAILABLE Cloud Build non è disponibile perché non è abilitato o perché Cloud Deploy non ha autorizzazioni sufficienti. Consulta l'autorizzazione richiesta.
EXECUTION_FAILED L'operazione di deployment non è stata completata correttamente; controlla i log di Cloud Build.
DEADLINE_EXCEEDED Il deployment non è stato completato entro il tempo allocato.
RELEASE_FAILED La release è in uno stato non riuscito.
RELEASE_ABANDONED La release viene abbandonata.
VERIFICATION_CONFIG_NOT_FOUND Nessuna configurazione di verifica Skaffold trovata.
CLOUD_BUILD_REQUEST_FAILED Cloud Build non è riuscito a soddisfare la richiesta di Cloud Deploy. Per ulteriori dettagli, vedi failureMessage.
OPERATION_FEATURE_NOT_SUPPORTED Per un'operazione di implementazione è stata configurata una funzionalità non supportata.

Fase

La fase rappresenta una raccolta di job raggruppati logicamente per un Rollout.

Rappresentazione 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.
}
Campi
id

string

Solo output. L'ID della fase.

state

enum (State)

Solo output. Stato attuale della fase.

skipMessage

string

Solo output. Informazioni aggiuntive sul motivo per cui la fase è stata saltata, se disponibili.

Campo di unione jobs. La composizione del lavoro di questa fase. jobs può essere solo uno dei seguenti:
deploymentJobs

object (DeploymentJobs)

Solo output. Composizione del lavoro di deployment.

childRolloutJobs

object (ChildRolloutJobs)

Solo output. Composizione del lavoro ChildRollout.

Stato

Stati validi di una fase.

Enum
STATE_UNSPECIFIED La fase ha uno stato non specificato.
PENDING La Fase è in attesa del completamento di una o più Fasi precedenti.
IN_PROGRESS La fase è in corso.
SUCCEEDED La fase è riuscita.
FAILED Fase non riuscita.
ABORTED Fase interrotta.
SKIPPED La fase è stata saltata.

DeploymentJobs

Composizione del lavoro di deployment.

Rappresentazione JSON
{
  "deployJob": {
    object (Job)
  },
  "verifyJob": {
    object (Job)
  },
  "predeployJob": {
    object (Job)
  },
  "postdeployJob": {
    object (Job)
  }
}
Campi
deployJob

object (Job)

Solo output. Il job di deployment. Questo è il job di deployment nella fase.

verifyJob

object (Job)

Solo output. Il job di verifica. Viene eseguito dopo un deployment se quest'ultimo ha esito positivo.

predeployJob

object (Job)

Solo output. Il job di pre-deployment, che è il primo job nella fase.

postdeployJob

object (Job)

Solo output. Il job post-deployment, che è l'ultimo job nella fase.

Job

Il job rappresenta un'operazione per un Rollout.

Rappresentazione 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.
}
Campi
id

string

Solo output. L'ID del job.

state

enum (State)

Solo output. Lo stato attuale del job.

skipMessage

string

Solo output. Informazioni aggiuntive sul motivo per cui il job è stato ignorato, se disponibili.

jobRun

string

Solo output. Il nome di JobRun responsabile della chiamata più recente a questo job.

Campo di unione job_type. Il tipo di job. job_type può essere solo uno dei seguenti:
deployJob

object (DeployJob)

Solo output. Un job di deployment.

verifyJob

object (VerifyJob)

Solo output. Un job di verifica.

predeployJob

object (PredeployJob)

Solo output. Un job pre-deployment.

postdeployJob

object (PostdeployJob)

Solo output. Un job post-deployment.

createChildRolloutJob

object (CreateChildRolloutJob)

Solo output. Un job createChildRollout.

advanceChildRolloutJob

object (AdvanceChildRolloutJob)

Solo output. Un job progressChildRollout.

Stato

Stati validi di un job.

Enum
STATE_UNSPECIFIED Il job ha uno stato non specificato.
PENDING Il job è in attesa del completamento di una o più Fasi o di un job precedenti.
DISABLED Il job è disabilitato.
IN_PROGRESS Il job è in corso.
SUCCEEDED Il job è riuscito.
FAILED Il job non è riuscito.
ABORTED Il job è stato interrotto.
SKIPPED Il job è stato ignorato.
IGNORED Il job è stato ignorato.

DeployJob

Questo tipo non contiene campi.

Un job di deployment.

VerifyJob

Questo tipo non contiene campi.

Un job di verifica.

PredeployJob

Un job pre-deployment.

Rappresentazione JSON
{
  "actions": [
    string
  ]
}
Campi
actions[]

string

Solo output. Le azioni personalizzate eseguite dal job pre-deployment.

PostdeployJob

Un job post-deployment.

Rappresentazione JSON
{
  "actions": [
    string
  ]
}
Campi
actions[]

string

Solo output. Le azioni personalizzate eseguite dal job post-deployment.

CreateChildRolloutJob

Questo tipo non contiene campi.

Un job createChildRollout.

AdvanceChildRolloutJob

Questo tipo non contiene campi.

Un job progressChildRollout.

ChildRolloutJobs

Composizione job ChildRollouts

Rappresentazione JSON
{
  "createRolloutJobs": [
    {
      object (Job)
    }
  ],
  "advanceRolloutJobs": [
    {
      object (Job)
    }
  ]
}
Campi
createRolloutJobs[]

object (Job)

Solo output. Elenco di CreateChildRolloutJobs

advanceRolloutJobs[]

object (Job)

Solo output. Elenco di avanceChildRolloutJob

Metadati

I metadati includono informazioni associate a un Rollout.

Rappresentazione JSON
{
  "cloudRun": {
    object (CloudRunMetadata)
  },
  "automation": {
    object (AutomationRolloutMetadata)
  },
  "custom": {
    object (CustomMetadata)
  }
}
Campi
cloudRun

object (CloudRunMetadata)

Solo output. Il nome del servizio Cloud Run associato a un Rollout.

automation

object (AutomationRolloutMetadata)

Solo output. AutomationRolloutMetadata contiene le informazioni sulle interazioni tra il servizio di Automation e questa implementazione.

custom

object (CustomMetadata)

Solo output. Metadati personalizzati forniti da operazioni Rollout definite dall'utente.

AutomationRolloutMetadata

AutomationRolloutMetadata contiene azioni relative all'Automation che sono state eseguite durante un'implementazione.

Rappresentazione JSON
{
  "promoteAutomationRun": string,
  "advanceAutomationRuns": [
    string
  ],
  "repairAutomationRuns": [
    string
  ],
  "currentRepairAutomationRun": string
}
Campi
promoteAutomationRun

string

Solo output. L'ID dell'elemento AutomationRun avviato da una regola di release di promozione.

advanceAutomationRuns[]

string

Solo output. Gli ID dell'elemento AutomationRuns avviati da una regola di implementazione avanzata.

repairAutomationRuns[]

string

Solo output. Gli ID delle esecuzioni di AutomationRuns avviate da una regola di implementazione della riparazione.

currentRepairAutomationRun

string

Solo output. L'attuale AutomationRun che ripristina l'implementazione.

Metodi

advance

Promuove un'implementazione in un progetto e in una località specifici.

approve

Approva un'implementazione.

cancel

Annulla un'implementazione in un progetto e una località specifici.

create

Crea una nuova implementazione in un progetto e una località specifici.

get

Recupera i dettagli di una singola implementazione.

ignoreJob

Ignora il job specificato in un'implementazione.

list

Elenca le implementazioni in un progetto e in una località specifici.

retryJob

Riprova il job specificato in un'implementazione.