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

Ressource: Déploiement

Une ressource Rollout dans l'API Cloud Deploy

Un Rollout contient des informations sur un déploiement spécifique vers un Target.

Représentation 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
  ]
}
Champs
name

string

Facultatif. Nom du Rollout. Le format est le suivant : projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}. Le composant rollout doit correspondre à [a-z]([a-z0-9-]{0,61}[a-z0-9])?

uid

string

Uniquement en sortie. Identifiant unique du Rollout.

description

string

Description de Rollout pour l'utilisateur. Ne doit pas dépasser 255 caractères

annotations

map (key: string, value: string)

Annotations utilisateur Ces attributs ne peuvent être définis et utilisés que par l'utilisateur, et non par Cloud Deploy. Consultez https://google.aip.dev/128#annotations pour en savoir plus sur les limites de format et de taille.

Objet contenant une liste de paires "key": value. Exemple : { "name": "wrench", "mass": "1.3kg", "count": "3" }.

labels

map (key: string, value: string)

Les étiquettes sont des attributs qui peuvent être définis et utilisés à la fois par l'utilisateur et par Cloud Deploy. Les étiquettes doivent respecter les contraintes suivantes:

  • Les clés et les valeurs ne peuvent contenir que des lettres minuscules, des chiffres, des traits de soulignement et des tirets.
  • Tous les caractères doivent être encodés au format UTF-8. Les caractères internationaux sont acceptés.
  • Les clés doivent commencer par une lettre minuscule ou un caractère international.
  • Chaque ressource est limitée à un maximum de 64 libellés.

Les clés et les valeurs doivent également avoir une taille inférieure ou égale à 128 octets.

Objet contenant une liste de paires "key": value. Exemple : { "name": "wrench", "mass": "1.3kg", "count": "3" }.

createTime

string (Timestamp format)

Uniquement en sortie. Heure à laquelle le Rollout a été créé.

Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

approveTime

string (Timestamp format)

Uniquement en sortie. Heure à laquelle Rollout a été approuvé.

Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

enqueueTime

string (Timestamp format)

Uniquement en sortie. Heure à laquelle le Rollout a été mis en file d'attente.

Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

deployStartTime

string (Timestamp format)

Uniquement en sortie. Heure à laquelle le déploiement de Rollout a commencé.

Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

deployEndTime

string (Timestamp format)

Uniquement en sortie. Heure à laquelle le déploiement de Rollout s'est terminé.

Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

targetId

string

Obligatoire. ID de la cible sur laquelle ce Rollout est en cours de déploiement.

approvalState

enum (ApprovalState)

Uniquement en sortie. État d'approbation de Rollout.

state

enum (State)

Uniquement en sortie. État actuel de Rollout.

failureReason

string

Uniquement en sortie. Informations supplémentaires sur l'échec du déploiement, si disponibles.

deployingBuild

string

Uniquement en sortie. Nom de ressource de l'objet Build Cloud Build utilisé pour déployer le déploiement. Le format est le suivant : projects/{project}/locations/{location}/builds/{build}.

etag

string

Cette somme de contrôle est calculée par le serveur en fonction de la valeur d'autres champs. Elle peut être envoyée lors des requêtes de mise à jour et de suppression pour s'assurer que le client dispose d'une valeur à jour avant de poursuivre.

deployFailureCause

enum (FailureCause)

Uniquement en sortie. Motif de l'échec du déploiement. Ce paramètre n'est jamais spécifié pendant le déploiement.

phases[]

object (Phase)

Uniquement en sortie. Phases représentant les workflows de ce Rollout.

metadata

object (Metadata)

Uniquement en sortie. Les métadonnées contiennent des informations sur le déploiement.

controllerRollout

string

Uniquement en sortie. Nom du ControllerRollout. Le format est le suivant : projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}.

rollbackOfRollout

string

Uniquement en sortie. Nom du Rollout qui fait l'objet d'un rollback par ce Rollout. Ce champ est vide si ce Rollout n'a pas été créé pour effectuer un rollback.

rolledBackByRollouts[]

string

Uniquement en sortie. Noms des Rollouts qui ont annulé ce Rollout.

ApprovalState

États d'approbation valides d'une Rollout.

Enums
APPROVAL_STATE_UNSPECIFIED L'Rollout a un état d'approbation non spécifié.
NEEDS_APPROVAL L'Rollout nécessite une approbation.
DOES_NOT_NEED_APPROVAL L'Rollout ne nécessite pas d'approbation.
APPROVED Le Rollout a été approuvé.
REJECTED Le Rollout a été refusé.

État

États valides d'une Rollout.

Enums
STATE_UNSPECIFIED L'état de Rollout n'est pas spécifié.
SUCCEEDED La tâche Rollout a bien été effectuée.
FAILED Échec de Rollout.
IN_PROGRESS Le déploiement Rollout est en cours.
PENDING_APPROVAL L'entité "Rollout" est en attente d'approbation.
APPROVAL_REJECTED Un approbateur a refusé la Rollout.
PENDING Le Rollout est en attente d'un ou de plusieurs déploiements antérieurs sur ce Target.
PENDING_RELEASE Rollout attend que Release soit entièrement affiché.
CANCELLING L'Rollout est en cours d'annulation.
CANCELLED Le Rollout a été annulé.
HALTED Rollout est arrêté.

FailureCause

Échecs de déploiement connus.

Enums
FAILURE_CAUSE_UNSPECIFIED Aucun motif d'échec n'est spécifié.
CLOUD_BUILD_UNAVAILABLE Cloud Build n'est pas disponible, soit parce qu'il n'est pas activé, soit parce que Cloud Deploy ne dispose pas des autorisations nécessaires. Consultez Autorisation requise.
EXECUTION_FAILED L'opération de déploiement ne s'est pas terminée correctement. Consultez les journaux Cloud Build.
DEADLINE_EXCEEDED Le déploiement n'a pas été effectué dans le temps imparti.
RELEASE_FAILED La version présente un état d'échec.
RELEASE_ABANDONED La version est abandonnée.
VERIFICATION_CONFIG_NOT_FOUND Aucune configuration de vérification Skaffold n'a été trouvée.
CLOUD_BUILD_REQUEST_FAILED Cloud Build n'a pas pu traiter la requête de Cloud Deploy. Pour en savoir plus, consultez la section "failMessage".
OPERATION_FEATURE_NOT_SUPPORTED Une fonctionnalité configurée pour une opération de déploiement n'est pas compatible.

Phase

Une phase représente un ensemble de tâches regroupées de manière logique dans un Rollout.

Représentation 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.
}
Champs
id

string

Uniquement en sortie. ID de la phase.

state

enum (State)

Uniquement en sortie. État actuel de la phase.

skipMessage

string

Uniquement en sortie. Informations supplémentaires sur le motif d'omission de la phase, le cas échéant.

Champ d'union jobs. Composition des tâches de cette phase. jobs ne peut être qu'un des éléments suivants :
deploymentJobs

object (DeploymentJobs)

Uniquement en sortie. Composition du job de déploiement.

childRolloutJobs

object (ChildRolloutJobs)

Uniquement en sortie. Composition du job ChildRollout.

État

États valides d'une phase.

Enums
STATE_UNSPECIFIED L'état de la phase n'est pas spécifié.
PENDING La phase attend qu'une ou plusieurs phases antérieures se terminent.
IN_PROGRESS La phase est en cours.
SUCCEEDED La phase a réussi.
FAILED Échec de la phase.
ABORTED La phase a été annulée.
SKIPPED La phase a été ignorée.

DeploymentJobs

Composition du job de déploiement.

Représentation JSON
{
  "deployJob": {
    object (Job)
  },
  "verifyJob": {
    object (Job)
  },
  "predeployJob": {
    object (Job)
  },
  "postdeployJob": {
    object (Job)
  }
}
Champs
deployJob

object (Job)

Uniquement en sortie. Job de déploiement. Il s'agit du job de déploiement en phase.

verifyJob

object (Job)

Uniquement en sortie. Job de vérification. S'exécute après un déploiement si celui-ci réussit.

predeployJob

object (Job)

Uniquement en sortie. Le job de prédéploiement, qui est le premier job de la phase.

postdeployJob

object (Job)

Uniquement en sortie. Le job de postdéploiement, qui est le dernier job de la phase.

Job

Le job représente une opération pour un Rollout.

Représentation 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.
}
Champs
id

string

Uniquement en sortie. ID de la tâche.

state

enum (State)

Uniquement en sortie. État actuel de la tâche.

skipMessage

string

Uniquement en sortie. Informations supplémentaires sur la raison pour laquelle la tâche a été ignorée, le cas échéant.

jobRun

string

Uniquement en sortie. Nom du JobRun responsable de l'appel le plus récent de cette tâche.

Champ d'union job_type. Type d'offre d'emploi. job_type ne peut être qu'un des éléments suivants :
deployJob

object (DeployJob)

Uniquement en sortie. Tâche de déploiement.

verifyJob

object (VerifyJob)

Uniquement en sortie. Tâche de vérification.

predeployJob

object (PredeployJob)

Uniquement en sortie. Job de prédéploiement.

postdeployJob

object (PostdeployJob)

Uniquement en sortie. Job de post-déploiement.

createChildRolloutJob

object (CreateChildRolloutJob)

Uniquement en sortie. Tâche createChildRollout.

advanceChildRolloutJob

object (AdvanceChildRolloutJob)

Uniquement en sortie. Tâche AdvancedChildRollout.

État

États valides d'une tâche.

Enums
STATE_UNSPECIFIED L'état de la tâche n'est pas spécifié.
PENDING La tâche attend qu'une ou plusieurs phases ou tâches antérieures se terminent.
DISABLED La tâche est désactivée.
IN_PROGRESS La tâche est en cours.
SUCCEEDED La tâche a réussi.
FAILED La tâche a échoué.
ABORTED La tâche a été annulée.
SKIPPED Le job a été ignoré.
IGNORED La tâche a été ignorée.

DeployJob

Ce type ne comporte aucun champ.

Tâche de déploiement.

VerifyJob

Ce type ne comporte aucun champ.

Tâche de vérification.

PredeployJob

Job de prédéploiement.

Représentation JSON
{
  "actions": [
    string
  ]
}
Champs
actions[]

string

Uniquement en sortie. Actions personnalisées exécutées par le job de prédéploiement.

PostdeployJob

Job de post-déploiement.

Représentation JSON
{
  "actions": [
    string
  ]
}
Champs
actions[]

string

Uniquement en sortie. Actions personnalisées exécutées par le job de post-déploiement.

CreateChildRolloutJob

Ce type ne comporte aucun champ.

Tâche createChildRollout.

AdvanceChildRolloutJob

Ce type ne comporte aucun champ.

Tâche AdvancedChildRollout.

ChildRolloutJobs

Composition du job ChildRollouts

Représentation JSON
{
  "createRolloutJobs": [
    {
      object (Job)
    }
  ],
  "advanceRolloutJobs": [
    {
      object (Job)
    }
  ]
}
Champs
createRolloutJobs[]

object (Job)

Uniquement en sortie. Liste des CreateChildRolloutJobs

advanceRolloutJobs[]

object (Job)

Uniquement en sortie. Liste des AdvanceChildRolloutJobs

Métadonnées

Les métadonnées incluent les informations associées à un Rollout.

Représentation JSON
{
  "cloudRun": {
    object (CloudRunMetadata)
  },
  "automation": {
    object (AutomationRolloutMetadata)
  },
  "custom": {
    object (CustomMetadata)
  }
}
Champs
cloudRun

object (CloudRunMetadata)

Uniquement en sortie. Nom du service Cloud Run associé à un Rollout.

automation

object (AutomationRolloutMetadata)

Uniquement en sortie. AutomationRolloutMetadata contient les informations sur les interactions entre le service Automation et ce déploiement.

custom

object (CustomMetadata)

Uniquement en sortie. Métadonnées personnalisées fournies par les opérations Rollout définies par l'utilisateur.

AutomationRolloutMetadata

AutomationRolloutMetadata contient les actions liées à l'automatisation qui ont été effectuées lors d'un déploiement.

Représentation JSON
{
  "promoteAutomationRun": string,
  "advanceAutomationRuns": [
    string
  ],
  "repairAutomationRuns": [
    string
  ],
  "currentRepairAutomationRun": string
}
Champs
promoteAutomationRun

string

Uniquement en sortie. ID de l'AutomationRun initiée par une règle de version de promotion.

advanceAutomationRuns[]

string

Uniquement en sortie. ID des AutomationRuns initiées par une règle de déploiement anticipé.

repairAutomationRuns[]

string

Uniquement en sortie. ID des AutomationRuns initiées par une règle de déploiement de réparation.

currentRepairAutomationRun

string

Uniquement en sortie. AutomationRun en cours qui répare le déploiement.

Méthodes

advance

Avance un déploiement dans un projet et un emplacement donnés.

approve

Approuver un déploiement.

cancel

Annule un déploiement dans un projet et un emplacement donnés.

create

Crée un déploiement dans un projet et un emplacement donnés.

get

Récupère les détails d'un seul déploiement.

ignoreJob

Ignore la tâche spécifiée dans un déploiement.

list

Répertorie les déploiements dans un projet et un emplacement donnés.

retryJob

Relance la tâche spécifiée dans un déploiement.