REST Resource: projects.locations.deliveryPipelines.automations

Risorsa: Automation

Una risorsa Automation nell'API Cloud Deploy.

Un Automation consente l'automazione delle azioni condotte manualmente per una pipeline di distribuzione, che include la promozione delle release tra le destinazioni, la riparazione dell'implementazione e l'avanzamento della strategia di deployment dell'implementazione. Lo scopo dell'Automation è ridurre l'intervento manuale nel processo di distribuzione continua.

Rappresentazione JSON
{
  "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)
    }
  ]
}
Campi
name

string

Solo output. Nome di Automation. Il formato è projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/automations/{automation}.

uid

string

Solo output. Identificatore univoco di Automation.

description

string

Facoltativo. Descrizione del Automation. La lunghezza massima è di 255 caratteri.

createTime

string (Timestamp format)

Solo output. L'ora in cui è stata creata l'automazione.

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

updateTime

string (Timestamp format)

Solo output. L'ora in cui è stata aggiornata l'automazione.

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

annotations

map (key: string, value: string)

Facoltativo. Annotazioni dell'utente. Questi attributi possono essere impostati e utilizzati solo dall'utente e non da Cloud Deploy. Le annotazioni devono soddisfare i seguenti vincoli:

  • Le annotazioni sono coppie chiave/valore.
  • Le chiavi di annotazione valide hanno due segmenti: un prefisso facoltativo e un nome, separati da una barra (/).
  • Il segmento del nome è obbligatorio e deve avere una lunghezza massima di 63 caratteri, deve iniziare e terminare con un carattere alfanumerico ([a-z0-9A-Z]) e può comprendere trattini (-), trattini bassi (_), punti (.) e caratteri alfanumerici.
  • Il prefisso è facoltativo. Se specificato, il prefisso deve essere un sottodominio DNS: una serie di etichette DNS separate da punti(.), non più lunga di 253 caratteri in totale, seguite da una barra (/).

Per maggiori dettagli, visita la pagina https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#syntax-and-character-set.

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

labels

map (key: string, value: string)

Facoltativo. 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 un limite di <= 63 caratteri.

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

etag

string

Facoltativo. L'etag debole della risorsa Automation. 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.

suspended

boolean

Facoltativo. Quando l'opzione è sospesa, l'automazione viene disattivata dall'esecuzione.

serviceAccount

string

Obbligatorio. Indirizzo email dell'account di servizio IAM gestito dall'utente che crea le risorse di rilascio e implementazione di Cloud Deploy.

selector

object (AutomationResourceSelector)

Obbligatorio. Risorse selezionate a cui verrà applicata l'automazione.

rules[]

object (AutomationRule)

Obbligatorio. Elenco delle regole di Automation associate alla risorsa Automation. Deve avere almeno una regola e un massimo di 250 regole per pipeline di pubblicazione. Nota: l'ordine delle regole qui è diverso da quello di esecuzione.

AutomationResourceSelector

AutomationResourceSelector contiene le informazioni per selezionare le risorse a cui verrà applicata un'Automation.

Rappresentazione JSON
{
  "targets": [
    {
      object (TargetAttribute)
    }
  ]
}
Campi
targets[]

object (TargetAttribute)

Contiene attributi relativi a un target.

TargetAttribute

Contiene criteri per la selezione dei target.

Rappresentazione JSON
{
  "id": string,
  "labels": {
    string: string,
    ...
  }
}
Campi
id

string

ID di Target. Il valore di questo campo può essere uno dei seguenti: * L'ultimo segmento di un nome target. L'ID è necessario solo per stabilire a quale target viene fatto riferimento con * "*", tutti i target in una località.

labels

map (key: string, value: string)

Etichette di destinazione.

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

AutomationRule

AutomationRule definisce le attività di automazione.

Rappresentazione JSON
{

  // 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.
}
Campi
Campo di unione rule. La configurazione della regola di Automation. rule può essere solo uno dei seguenti:
promoteReleaseRule

object (PromoteReleaseRule)

Facoltativo. PromoteReleaseRule promuoverà automaticamente una release dal target corrente a un target specifico.

advanceRolloutRule

object (AdvanceRolloutRule)

Facoltativo. AdvanceRolloutRule farà avanzare automaticamente un'implementazione riuscita.

repairRolloutRule

object (RepairRolloutRule)

Facoltativo. RepairRolloutRule correggerà automaticamente un'implementazione non riuscita.

PromoteReleaseRule

PromoteRelease regola promuoverà automaticamente una release dal target corrente a un target specificato.

Rappresentazione JSON
{
  "id": string,
  "wait": string,
  "destinationTargetId": string,
  "condition": {
    object (AutomationRuleCondition)
  },
  "destinationPhase": string
}
Campi
id

string

Obbligatorio. ID della regola. Questo ID deve essere univoco nella risorsa Automation a cui appartiene la regola. Il formato è [a-z]([a-z0-9-]{0,61}[a-z0-9])?.

wait

string (Duration format)

Facoltativo. Per quanto tempo la release deve essere messa in pausa prima che venga promossa al target successivo.

Una durata in secondi con un massimo di nove cifre frazionarie, che termina con "s". Esempio: "3.5s".

destinationTargetId

string

Facoltativo. L'ID della fase della pipeline in cui viene eseguito il deployment di Release. Se non specificati, imposta per impostazione predefinita la fase successiva del flusso di promozione. Il valore di questo campo potrebbe essere uno dei seguenti:

  • L'ultimo segmento di un nome target. Occorre l'ID solo per determinare se il target è una delle fasi della sequenza di promozione definita nella pipeline.
  • "@next", il target successivo nella sequenza di promozioni.
condition

object (AutomationRuleCondition)

Solo output. Informazioni sullo stato della regola di Automation.

destinationPhase

string

Facoltativo. La fase iniziale dell'implementazione creata da questa operazione. Imposta la prima fase per impostazione predefinita.

AutomationRuleCondition

AutomationRuleCondition contiene condizioni pertinenti a una regola Automation.

Rappresentazione JSON
{
  "targetsPresentCondition": {
    object (TargetsPresentCondition)
  }
}
Campi
targetsPresentCondition

object (TargetsPresentCondition)

Facoltativo. Dettagli relativi ai target enumerati nella regola.

AdvanceRolloutRule

La regola di automazione rollouts.advance farà avanzare automaticamente un'implementazione riuscita alla fase successiva.

Rappresentazione JSON
{
  "id": string,
  "sourcePhases": [
    string
  ],
  "wait": string,
  "condition": {
    object (AutomationRuleCondition)
  }
}
Campi
id

string

Obbligatorio. ID della regola. Questo ID deve essere univoco nella risorsa Automation a cui appartiene la regola. Il formato è [a-z]([a-z0-9-]{0,61}[a-z0-9])?.

sourcePhases[]

string

Facoltativo. Procedi solo dopo che il nome della fase corrisponde a uno qualsiasi nell'elenco. Questo valore deve essere composto da lettere minuscole, numeri e trattini, deve iniziare con una lettera, terminare con una lettera o un numero e avere una lunghezza massima di 63 caratteri. In altre parole, deve corrispondere alla seguente regex: ^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$.

wait

string (Duration format)

Facoltativo. Tempo di attesa al termine dell'implementazione.

Una durata in secondi con un massimo di nove cifre frazionarie, che termina con "s". Esempio: "3.5s".

condition

object (AutomationRuleCondition)

Solo output. Informazioni sullo stato della regola di Automation.

RepairRolloutRule

La regola di automazione RepairRolloutRule riparerà automaticamente un Rollout che non ha superato il controllo.

Rappresentazione JSON
{
  "id": string,
  "sourcePhases": [
    string
  ],
  "jobs": [
    string
  ],
  "repairModes": [
    {
      object (RepairMode)
    }
  ],
  "condition": {
    object (AutomationRuleCondition)
  }
}
Campi
id

string

Obbligatorio. ID della regola. Questo ID deve essere univoco nella risorsa Automation a cui appartiene la regola. Il formato è [a-z]([a-z0-9-]{0,61}[a-z0-9])?.

sourcePhases[]

string

Facoltativo. Fasi entro le quali i job sono soggetti ad azioni di riparazione automatiche in caso di errore. Procedi solo dopo che il nome di fase corrisponde a uno qualsiasi nell'elenco o per tutte le fasi se non specificato. Questo valore deve essere composto da lettere minuscole, numeri e trattini, deve iniziare con una lettera, terminare con una lettera o un numero e avere una lunghezza massima di 63 caratteri. In altre parole, deve corrispondere alla seguente regex: ^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$.

jobs[]

string

Facoltativo. Lavori da riparare. Procedi solo dopo che il nome del job corrisponde a uno qualsiasi nell'elenco o per tutti i job se non specificati o vuoti. La fase che include il job deve corrispondere all'ID fase specificato in sourcePhase. Questo valore deve essere composto da lettere minuscole, numeri e trattini, deve iniziare con una lettera, terminare con una lettera o un numero e avere una lunghezza massima di 63 caratteri. In altre parole, deve corrispondere alla seguente regex: ^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$.

repairModes[]

object (RepairMode)

Obbligatorio. Definisce i tipi di azioni di riparazione automatiche per i job non riusciti.

condition

object (AutomationRuleCondition)

Solo output. Informazioni sullo stato della regola "Automation".

RepairMode

Configurazione dell'azione di riparazione.

Rappresentazione JSON
{

  // 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.
}
Campi
Campo di unione mode. L'azione di riparazione da eseguire. mode può essere solo uno dei seguenti:
retry

object (Retry)

Facoltativo. Riprova un job non riuscito.

rollback

object (Rollback)

Facoltativo. Esegue il rollback di un Rollout.

Riprova

Riprova il job non riuscito.

Rappresentazione JSON
{
  "attempts": string,
  "wait": string,
  "backoffMode": enum (BackoffMode)
}
Campi
attempts

string (int64 format)

Obbligatorio. Numero totale di nuovi tentativi. Il nuovo tentativo viene ignorato se il valore è impostato su 0; il valore minimo è 1, mentre il valore massimo è 10.

wait

string (Duration format)

Facoltativo. Tempo di attesa del primo tentativo. Il valore predefinito è 0, mentre il valore massimo è 14 giorni.

Una durata in secondi con un massimo di nove cifre frazionarie, che termina con "s". Esempio: "3.5s".

backoffMode

enum (BackoffMode)

Facoltativo. La sequenza di come verrà aumentato il tempo di attesa. L'impostazione predefinita è Lineare. La modalità di backoff verrà ignorata se wait è 0.

Esegui il rollback

Esegue il rollback di un Rollout.

Rappresentazione JSON
{
  "destinationPhase": string
}
Campi
destinationPhase

string

Facoltativo. L'ID della fase iniziale per Rollout. Se non specificati, Rollout inizierà nella fase stabile.

Metodi

create

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

delete

Elimina una singola risorsa di Automation.

get

Recupera i dettagli di una singola Automation.

list

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

patch

Aggiorna i parametri di una singola risorsa di Automation.