REST Resource: projects.locations.deliveryPipelines.automations

Ressource: Automatisierung

Eine Automation-Ressource in der Cloud Deploy API.

Ein Automation ermöglicht die Automatisierung manuell gesteuerter Aktionen für eine Bereitstellungspipeline, einschließlich der Hervorhebung von Releases unter den Zielen, der Roll-out-Reparatur und der Weiterentwicklung der Bereitstellungsstrategie für den Roll-out. Durch die Automatisierung sollen manuelle Eingriffe in den Continuous-Delivery-Prozess reduziert werden.

JSON-Darstellung
{
  "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)
    }
  ]
}
Felder
name

string

Nur Ausgabe. Name von Automation. Das Format ist projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/automations/{automation}.

uid

string

Nur Ausgabe. Eindeutige Kennung von Automation.

description

string

Optional. Beschreibung von Automation. Maximale Länge: 255 Zeichen

createTime

string (Timestamp format)

Nur Ausgabe. Zeitpunkt, zu dem die Automatisierung erstellt wurde.

Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Nur Ausgabe. Zeitpunkt der Aktualisierung der Automatisierung.

Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

annotations

map (key: string, value: string)

Optional. Nutzeranmerkungen Diese Attribute können nur vom Nutzer und nicht von Cloud Deploy festgelegt und verwendet werden. Für Anmerkungen gelten folgende Einschränkungen:

  • Annotationen sind Schlüssel/Wert-Paare.
  • Gültige Annotationsschlüssel bestehen aus zwei Segmenten: einem optionalen Präfix und einem Namen, die durch einen Schrägstrich (/) getrennt sind.
  • Das Namenssegment ist erforderlich und darf maximal 63 Zeichen lang sein. Es muss mit einem alphanumerischen Zeichen ([a-z0-9A-Z]) beginnen und enden und darf dazwischen Bindestriche (-), Unterstriche (_), Punkte (.) und alphanumerische Zeichen enthalten.
  • Das Präfix ist optional. Wenn das Präfix angegeben wird, muss es eine DNS-Subdomain sein: eine Reihe von DNS-Labels, die durch Punkte getrennt sind(.), insgesamt maximal 253 Zeichen, gefolgt von einem Schrägstrich (/).

Weitere Informationen finden Sie unter https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#syntax-and-character-set.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

labels

map (key: string, value: string)

Optional. Labels sind Attribute, die sowohl vom Nutzer als auch von Cloud Deploy festgelegt und verwendet werden können. Labels müssen die folgenden Einschränkungen erfüllen:

  • Schlüssel und Werte dürfen nur Kleinbuchstaben, numerische Zeichen, Unterstriche und Bindestriche enthalten.
  • Alle Zeichen müssen die UTF-8-Codierung verwenden; internationale Zeichen sind zulässig.
  • Schlüssel müssen mit einem Kleinbuchstaben oder einem internationalen Zeichen beginnen.
  • Jede Ressource ist auf maximal 64 Labels beschränkt.

Sowohl Schlüssel als auch Werte sind zusätzlich auf maximal 63 Zeichen beschränkt.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

etag

string

Optional. Das schwache ETag der Ressource Automation. Diese Prüfsumme wird vom Server basierend auf dem Wert anderer Felder berechnet und kann bei Aktualisierungs- und Löschanfragen gesendet werden, um sicherzustellen, dass der Client vor dem Fortfahren über einen aktuellen Wert verfügt.

suspended

boolean

Optional. Wenn sie gesperrt ist, wird die Ausführung der Automatisierung deaktiviert.

serviceAccount

string

Erforderlich. E-Mail-Adresse des nutzerverwalteten IAM-Dienstkontos, das Cloud Deploy-Release- und Roll-out-Ressourcen erstellt.

selector

object (AutomationResourceSelector)

Erforderlich. Ausgewählte Ressourcen, auf die die Automatisierung angewendet wird.

rules[]

object (AutomationRule)

Erforderlich. Liste der Automatisierungsregeln, die mit der Automatisierungsressource verknüpft sind. Muss mindestens eine Regel haben und auf 250 Regeln pro Bereitstellungspipeline beschränkt sein. Hinweis: Die Reihenfolge der Regeln hier unterscheidet sich von der Ausführungsreihenfolge.

AutomationResourceSelector

AutomationResourceSelector enthält die Informationen zur Auswahl der Ressourcen, auf die eine Automatisierung angewendet wird.

JSON-Darstellung
{
  "targets": [
    {
      object (TargetAttribute)
    }
  ]
}
Felder
targets[]

object (TargetAttribute)

Enthält Attribute zu einem Ziel.

TargetAttribute

Enthält Kriterien für die Auswahl von Zielen.

JSON-Darstellung
{
  "id": string,
  "labels": {
    string: string,
    ...
  }
}
Felder
id

string

ID von Target. Dieses Feld kann einen der folgenden Werte enthalten: * Das letzte Segment eines Zielnamens. Die ID benötigt nur die ID, um zu bestimmen, auf welches Ziel * „*“ verwiesen wird, also alle Ziele an einem Standort.

labels

map (key: string, value: string)

Ziellabels.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

AutomationRule

AutomationRule definiert die Automatisierungsaktivitäten.

JSON-Darstellung
{

  // 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.
}
Felder
Union-Feld rule. Die Konfiguration der Automatisierungsregel. Für rule ist nur einer der folgenden Werte zulässig:
promoteReleaseRule

object (PromoteReleaseRule)

Optional. PromoteReleaseRule stuft einen Release automatisch vom aktuellen Ziel zu einem angegebenen Ziel hoch.

advanceRolloutRule

object (AdvanceRolloutRule)

Optional. Mit AdvanceRolloutRule wird ein erfolgreiches Roll-out automatisch fortgesetzt.

repairRolloutRule

object (RepairRolloutRule)

Optional. Das RepairRolloutRule repariert ein fehlgeschlagenes Roll-out automatisch.

PromoteReleaseRule

Die Regel PromoteRelease stuft einen Release vom aktuellen Ziel automatisch zu einem angegebenen Ziel hoch.

JSON-Darstellung
{
  "id": string,
  "wait": string,
  "destinationTargetId": string,
  "condition": {
    object (AutomationRuleCondition)
  },
  "destinationPhase": string
}
Felder
id

string

Erforderlich. ID der Regel. Diese ID muss in der Automation-Ressource, zu der diese Regel gehört, eindeutig sein. Das Format dafür ist [a-z]([a-z0-9-]{0,61}[a-z0-9])?.

wait

string (Duration format)

Optional. Legt fest, wie lange der Release pausiert werden muss, bis er zum nächsten Ziel hochgestuft wird.

Die Dauer in Sekunden mit bis zu neun Nachkommastellen und am Ende mit "s". Beispiel: "3.5s".

destinationTargetId

string

Optional. Die ID der Phase in der Pipeline, in der dieser Release bereitgestellt wird. Wenn keine Vorgabe erfolgt, wird standardmäßig die nächste Phase im Angebotsablauf ausgewählt. Dieses Feld kann einen der folgenden Werte enthalten:

  • Das letzte Segment eines Zielnamens. Die ID wird lediglich benötigt, um festzustellen, ob das Ziel eine der Phasen in der in der Pipeline definierten Hochstufungssequenz ist.
  • „@next“, das nächste Ziel in der Hochstufungssequenz.
condition

object (AutomationRuleCondition)

Nur Ausgabe. Informationen zum Status der Automatisierungsregel.

destinationPhase

string

Optional. Die Startphase des Roll-outs, das durch diesen Vorgang erstellt wird. Standardeinstellung ist die erste Phase.

AutomationRuleCondition

AutomationRuleCondition enthält Bedingungen, die für eine Automation-Regel relevant sind.

JSON-Darstellung
{
  "targetsPresentCondition": {
    object (TargetsPresentCondition)
  }
}
Felder
targetsPresentCondition

object (TargetsPresentCondition)

Optional. Details zu in der Regel aufgezählten Zielen.

AdvanceRolloutRule

Die Automatisierungsregel rollouts.advance setzt das erfolgreiche Roll-out automatisch in die nächste Phase fort.

JSON-Darstellung
{
  "id": string,
  "sourcePhases": [
    string
  ],
  "wait": string,
  "condition": {
    object (AutomationRuleCondition)
  }
}
Felder
id

string

Erforderlich. ID der Regel. Diese ID muss in der Automation-Ressource, zu der diese Regel gehört, eindeutig sein. Das Format dafür ist [a-z]([a-z0-9-]{0,61}[a-z0-9])?.

sourcePhases[]

string

Optional. Der Vorgang wird nur fortgesetzt, wenn der Phasenname mit einem Namen in der Liste übereinstimmt. Dieser Wert muss aus Kleinbuchstaben, Ziffern und Bindestrichen bestehen, mit einem Buchstaben beginnen und mit einem Buchstaben oder einer Ziffer enden. Er darf maximal 63 Zeichen lang sein. Er muss also dem folgenden Regex entsprechen: ^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$.

wait

string (Duration format)

Optional. Wartezeit nach Abschluss eines Roll-outs.

Die Dauer in Sekunden mit bis zu neun Nachkommastellen und am Ende mit "s". Beispiel: "3.5s".

condition

object (AutomationRuleCondition)

Nur Ausgabe. Informationen zum Status der Automatisierungsregel.

RepairRolloutRule

Die Automatisierungsregel „RepairRolloutRule“ repariert eine fehlgeschlagene Rollout automatisch.

JSON-Darstellung
{
  "id": string,
  "sourcePhases": [
    string
  ],
  "jobs": [
    string
  ],
  "repairModes": [
    {
      object (RepairMode)
    }
  ],
  "condition": {
    object (AutomationRuleCondition)
  }
}
Felder
id

string

Erforderlich. ID der Regel. Diese ID muss in der Automation-Ressource, zu der diese Regel gehört, eindeutig sein. Das Format dafür ist [a-z]([a-z0-9-]{0,61}[a-z0-9])?.

sourcePhases[]

string

Optional. Phasen, in denen Jobs bei einem Fehler automatisch repariert werden. Der Vorgang wird nur fortgesetzt, nachdem der Phasenname mit einem Namen in der Liste übereinstimmt, oder für alle Phasen, falls nicht angegeben. Dieser Wert muss aus Kleinbuchstaben, Ziffern und Bindestrichen bestehen, mit einem Buchstaben beginnen und mit einem Buchstaben oder einer Ziffer enden. Er darf maximal 63 Zeichen lang sein. Er muss also dem folgenden Regex entsprechen: ^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$.

jobs[]

string

Optional. Zu reparierende Aufträge. Der Vorgang wird nur fortgesetzt, nachdem der Jobname mit einem Namen in der Liste übereinstimmt, oder für alle Jobs, falls nicht angegeben oder leer. Die Phase, die den Job enthält, muss mit der in sourcePhase angegebenen Phasen-ID übereinstimmen. Dieser Wert muss aus Kleinbuchstaben, Ziffern und Bindestrichen bestehen, mit einem Buchstaben beginnen und mit einem Buchstaben oder einer Ziffer enden. Er darf maximal 63 Zeichen lang sein. Er muss also dem folgenden Regex entsprechen: ^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$.

repairModes[]

object (RepairMode)

Erforderlich. Definiert die Arten von automatischen Reparaturaktionen für fehlgeschlagene Jobs.

condition

object (AutomationRuleCondition)

Nur Ausgabe. Informationen zum Status der Automatisierungsregel.

RepairMode

Konfiguration der Reparaturaktion.

JSON-Darstellung
{

  // 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.
}
Felder
Union-Feld mode. Die auszuführende Reparaturaktion. Für mode ist nur einer der folgenden Werte zulässig:
retry

object (Retry)

Optional. Fehlgeschlagener Job wird wiederholt.

rollback

object (Rollback)

Optional. Führt ein Rollback für Rollout durch.

Wiederholen

Versucht den fehlgeschlagenen Job noch einmal.

JSON-Darstellung
{
  "attempts": string,
  "wait": string,
  "backoffMode": enum (BackoffMode)
}
Felder
attempts

string (int64 format)

Erforderlich. Gesamtzahl der Wiederholungsversuche. Wenn auf 0 festgelegt, wird die Wiederholung übersprungen. Der Mindestwert ist 1 und der Höchstwert 10.

wait

string (Duration format)

Optional. Legt fest, wie lange auf die erste Wiederholung gewartet werden soll. Der Standardwert ist 0 und der Höchstwert ist 14 Tage.

Die Dauer in Sekunden mit bis zu neun Nachkommastellen und am Ende mit "s". Beispiel: "3.5s".

backoffMode

enum (BackoffMode)

Optional. Das Muster, wie die Wartezeit verlängert wird. Die Standardeinstellung ist „Linear“. Der Backoff-Modus wird ignoriert, wenn wait 0 ist.

Rollback

Führt ein Rollback für Rollout durch.

JSON-Darstellung
{
  "destinationPhase": string
}
Felder
destinationPhase

string

Optional. Die Startphasen-ID für den Rollout. Wenn keine Vorgabe erfolgt, beginnt Rollout in der stabilen Phase.

Methoden

create

Erstellt eine neue Automatisierung in einem bestimmten Projekt und an einem bestimmten Standort.

delete

Löscht eine einzelne Automatisierungsressource.

get

Ruft Details zu einer einzelnen Automatisierung ab.

list

Listet Automatisierungen in einem bestimmten Projekt und an einem bestimmten Standort auf.

patch

Aktualisiert die Parameter einer einzelnen Automatisierungsressource.