REST Resource: projects.locations.investigations

Ressource : Investigation

Contient le contenu d'une investigation de dépannage Gemini Cloud Assist.

Représentation JSON
{
  "name": string,
  "createTime": string,
  "updateTime": string,
  "labels": {
    string: string,
    ...
  },
  "revision": string,
  "revisionIndex": integer,
  "revisionPredecessor": string,
  "annotations": {
    object (InvestigationAnnotations)
  },
  "executionState": enum (InvestigationExecutionState),
  "error": {
    object (Status)
  },
  "operation": string,
  "title": string,
  "observations": {
    string: {
      object (Observation)
    },
    ...
  },
  "observerStatuses": {
    string: {
      object (ObserverStatus)
    },
    ...
  }
}
Champs
name

string

Identifiant. Nom de l'investigation, au format : projects/{projectNumber}/locations/{locationId}/investigations/{investigationId}

createTime

string (Timestamp format)

Uniquement en sortie. Heure à laquelle l'enquête a été créée.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Uniquement en sortie. Date et heure de la dernière mise à jour de l'investigation.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

labels

map (key: string, value: string)

Facultatif. Étiquettes définies par l'utilisateur pour l'investigation.

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

revision

string

Uniquement en sortie. Nom de ressource de la révision actuelle de l'investigation, au format : projects/{projectNumber}/locations/{locationId}/investigations/{investigationId}/revisions/{revision_id}

revisionIndex

integer

Uniquement en sortie. Index de la révision actuelle de l'investigation.

revisionPredecessor

string

Facultatif. Nom de la révision qui a précédé celle-ci.

annotations

object (InvestigationAnnotations)

Facultatif. Annotations supplémentaires sur l'investigation.

executionState

enum (InvestigationExecutionState)

Uniquement en sortie. État d'exécution de l'investigation.

error

object (Status)

Uniquement en sortie. Erreur en cas d'échec de l'exécution de l'investigation. Ce champ n'est défini que si executionState est INVESTIGATION_EXECUTION_STATE_FAILED.

operation

string

Uniquement en sortie. Nom de ressource de l'opération d'exécution la plus récente effectuée sur l'investigation, au format suivant : projects/{projectNumber}/locations/{locationId}/operations/{operation_id}

title

string

Facultatif. Titre de l'investigation lisible par l'humain.

observations

map (key: string, value: object (Observation))

Facultatif. Observations sur l'état du projet qui constituent le contenu de l'investigation.

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

observerStatuses

map (key: string, value: object (ObserverStatus))

Facultatif. États des observateurs qui ont été appelés pour exécuter l'investigation.

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

InvestigationAnnotations

Annotations supplémentaires sur une investigation.

Représentation JSON
{
  "supportCase": string,
  "revisionLastRunInterval": {
    object (Interval)
  },
  "pagePath": string,
  "extrasMap": {
    string: string,
    ...
  }
}
Champs
supportCase

string

Facultatif. Numéro de demande d'assistance associé à l'enquête.

revisionLastRunInterval

object (Interval)

Uniquement en sortie. Intervalle au cours duquel l'investigation a été exécutée pour la dernière fois.

pagePath

string

Facultatif. Chemin d'accès à une page Web à partir de laquelle cette investigation a été créée.

extrasMap

map (key: string, value: string)

Facultatif. Annotations supplémentaires spécifiées par le client.

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

Intervalle

Représente un intervalle de temps, encodé sous la forme d'un code temporel de début (inclusif) et d'un code temporel de fin (exclusif).

La valeur de début doit être inférieure ou égale à celle de fin. Lorsque la valeur de début est la même que la valeur de fin, l'intervalle est vide (il ne correspond à aucune durée). Lorsque les heures de début et de fin ne sont pas spécifiées, l'intervalle couvre toutes les heures.

Représentation JSON
{
  "startTime": string,
  "endTime": string
}
Champs
startTime

string (Timestamp format)

Facultatif. Valeur de début (inclusive) de l'intervalle.

Si elle est spécifiée, un code temporel correspondant à cet intervalle devra être égal ou postérieur à l'heure de début.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

endTime

string (Timestamp format)

Facultatif. Valeur de fin (exclusive) de l'intervalle.

Si elle est spécifiée, un code temporel correspondant à cet intervalle devra être antérieur à l'heure de fin.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

InvestigationExecutionState

État d'exécution d'une investigation.

Énumérations
INVESTIGATION_EXECUTION_STATE_UNSPECIFIED Valeur par défaut. Cette valeur n'est pas utilisée.
INVESTIGATION_EXECUTION_STATE_RUNNING L'investigation est en cours d'exécution.
INVESTIGATION_EXECUTION_STATE_MODIFIED L'investigation n'a pas encore été exécutée depuis sa dernière mise à jour.
INVESTIGATION_EXECUTION_STATE_FAILED L'exécution de l'investigation est terminée, mais elle a échoué.
INVESTIGATION_EXECUTION_STATE_COMPLETED Toutes les tâches d'exécution sont terminées, et l'investigation est au repos.

Observation

Une observation représente un fait unique sur l'état du système étudié, ainsi qu'un classement de sa pertinence.

Représentation JSON
{
  "id": string,
  "timeIntervals": [
    {
      object (Interval)
    }
  ],
  "title": string,
  "observationType": enum (ObservationType),
  "observerType": enum (ObserverType),
  "text": string,
  "data": {
    object
  },
  "dataUrls": {
    string: string,
    ...
  },
  "knowledgeUrls": {
    string: string,
    ...
  },
  "baseObservations": [
    string
  ],
  "relevantResources": [
    string
  ],
  "recommendation": string,
  "systemRelevanceScore": number,
  "relevanceOverride": enum (UserRelevance),
  "observationCompletionState": enum (ObservationCompletionState),
  "observedNormalOperation": boolean
}
Champs
id

string

Uniquement en sortie. Il identifie de manière unique cette observation. Elle est toujours égale à la clé du mappage de cette observation dans l'investigation parente.

timeIntervals[]

object (Interval)

Facultatif. Intervalle durant lequel cette observation a été effectuée.

title

string

Facultatif. Titre de l'observation lisible par l'humain.

observationType

enum (ObservationType)

Obligatoire. Type d'observation.

observerType

enum (ObserverType)

Obligatoire. Type d'observateur ayant produit cette observation.

text

string

Facultatif. Texte en langage naturel ou au format Markdown expliquant l'observation.

data

object (Struct format)

Facultatif. Représentation structurée de l'observation. Il n'est pas obligatoire ni garanti qu'il soit conforme à un schéma particulier.

dataUrls

map (key: string, value: string)

Facultatif. URL pointant vers des preuves étayant cette observation. Mappe une description lisible par l'humain sur une URL.

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

knowledgeUrls

map (key: string, value: string)

Facultatif. URL pointant vers des connaissances de référence liées à cette observation. Mappe une description lisible par l'humain sur une URL.

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

baseObservations[]

string

Facultatif. ID des autres observations sur lesquelles cette observation est basée. Par exemple, une observation d'hypothèse enregistre les observations qui soutiennent cette hypothèse.

relevantResources[]

string

Facultatif. Ressources Google Cloud pertinentes pour l'observation. Il doit s'agir d'URI de ressources complets, par exemple : "//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance"

recommendation

string

Facultatif. Texte en langage naturel ou au format Markdown décrivant une action recommandée pour corriger la cause première ou examiner plus en détail le problème.

systemRelevanceScore

number

Facultatif. Pertinence de cette observation, telle que perçue par l'observateur. Cette valeur permet de classer les observations lors de la génération d'hypothèses. Le système génère des observations dans la plage [-1, 1], où -1 signifie complètement non pertinent, 0 signifie neutre et 1 signifie une confiance totale dans sa pertinence.

relevanceOverride

enum (UserRelevance)

Facultatif. Avis de l'utilisateur concernant la pertinence.

observationCompletionState

enum (ObservationCompletionState)

Facultatif. Indique si l'observation est entièrement formée et peut être utilisée pour tirer des conclusions.

observedNormalOperation

boolean

Facultatif. Si la valeur est "false" ou n'est pas spécifiée, cette observation fournit des informations sur un problème ou une cause première. Si la valeur est "true", cette observation indique qu'un système a été observé comme fonctionnant normalement. Ces résultats négatifs peuvent être utiles pour le diagnostic. Ce champ n'a aucune corrélation avec le score de pertinence.

ObservationType

Correspond au type de données constituant une observation. Cet aspect est indépendant de la provenance : un journal peut être fourni explicitement par l'utilisateur, extrait par l'IA ou repéré par un runbook.

Enums
OBSERVATION_TYPE_UNSPECIFIED Valeur par défaut.
OBSERVATION_TYPE_CLOUD_LOG Le texte de cette observation est une entrée de journal.
OBSERVATION_TYPE_CLOUD_METRIC Le contenu de cette observation est une métrique ou un groupe de métriques.
OBSERVATION_TYPE_CAIS_CONFIG Configuration
OBSERVATION_TYPE_CAIS_CONFIG_DIFF Modification de la configuration
OBSERVATION_TYPE_CLOUD_ALERT Alerte
OBSERVATION_TYPE_CICD_EVENT Événement provenant d'un système d'intégration continue, par exemple un échec du vérificateur.
OBSERVATION_TYPE_TEXT_DESCRIPTION Entrée de texte libre, telle que l'entrée initiale de l'utilisateur. Peut être au format Markdown.
OBSERVATION_TYPE_HYPOTHESIS Il s'agit de conclusions [provisoires] émises par le système. Elles peuvent devenir des entrées dans une révision ultérieure. Dans ce cas, les recommandations seront utilisées, mais pas la correction.
OBSERVATION_TYPE_STRUCTURED_INPUT Entrée structurée, par exemple des paramètres de runbook saisis dans un formulaire.
OBSERVATION_TYPE_COMPOSITE Utilisé pour une observation qui inclut plusieurs types de preuves, comme une sortie de runbook.
OBSERVATION_TYPE_OTHER La sortie du runbook peut être "autre" si aucun des autres types ne s'applique.
OBSERVATION_TYPE_LOG_THEME Un thème découvert dans les journaux.
OBSERVATION_TYPE_CONFIG_ANALYSIS Signale une sortie incluant une configuration analysée par le LLM.
OBSERVATION_TYPE_OUTAGE Signale une sortie incluant un incident de PSH.
OBSERVATION_TYPE_KNOWLEDGE Texte fournissant des informations sur le problème spécifique d'un utilisateur. Par exemple, des instructions ou des liens externes du catalogue d'erreurs, des RAG, etc.

ObserverType

Cela indique comment les données ont été ajoutées à l'investigation.

Enums
OBSERVER_TYPE_UNSPECIFIED Valeur par défaut. Non utilisé.
OBSERVER_TYPE_DIAGNOSTICS Les diagnostics intègrent une notion explicite de cause racine, par exemple via des runbooks.
OBSERVER_TYPE_SIGNALS Les signaux servent à traiter les problèmes dont les causes ne sont pas clairement identifiées.
OBSERVER_TYPE_DETERMINISTIC_CODE Cela concerne le code qui dépend uniquement des prémisses. Par exemple, des recherches effectuées dans le catalogue d'erreurs.
OBSERVER_TYPE_AI Cela concerne les inférences d'IA qui dépendent uniquement des observations désignées comme prémisses.
OBSERVER_TYPE_USER Observation de l'entrée utilisateur, y compris les réponses aux clarifications. Toutes les observations spécifiées par l'utilisateur seront forcées à ce type.
OBSERVER_TYPE_ALERT Observation provenant d'une alerte.

UserRelevance

Il s'agit de l'avis exprimé par l'utilisateur concernant la pertinence d'une observation.

Enums
USER_RELEVANCE_UNSPECIFIED L'utilisateur n'a pas indiqué si cette observation était pertinente ou non.
USER_RELEVANCE_PROMOTED L'utilisateur a marqué cette observation comme pertinente.
USER_RELEVANCE_REJECTED L'utilisateur a marqué cette observation comme non pertinente.

ObservationCompletionState

Indique si l'observation est entièrement formée et complète.

Enums
OBSERVATION_COMPLETION_STATE_UNSPECIFIED Valeur par défaut. sera traitée comme TERMINÉE.
OBSERVATION_COMPLETION_STATE_COMPLETE Cette observation est complète.
OBSERVATION_COMPLETION_STATE_INCOMPLETE Il manque des informations dans cette observation, ou elle doit être traitée par un autre observateur. Ce type d'observation peut être supprimé lors des prochaines exécutions d'investigation.

ObserverStatus

Un ObserverStatus représente l'état d'un observateur à un moment précis de l'exécution d'une investigation.

Représentation JSON
{
  "observer": string,
  "observerExecutionState": enum (ObserverExecution),
  "observerDisplayName": string,
  "updateTime": string,
  "startTime": string,
  "updateComment": string,
  "observerErrors": [
    {
      object (Status)
    }
  ]
}
Champs
observer

string

Uniquement en sortie. Il identifie de manière unique cet observateur. Elle est toujours égale à la clé du mappage de cet observateur dans l'investigation parente.

observerExecutionState

enum (ObserverExecution)

Facultatif. État actuel de l'exécution de l'observateur.

observerDisplayName

string

Obligatoire. Nom à afficher de l'observateur, lisible par l'humain.

updateTime

string (Timestamp format)

Facultatif. Heure à laquelle l'observateur a mis à jour l'enquête pour la dernière fois. Si l'observerExecutionState est défini sur "COMPLETE" ou "FAILED", il s'agit de l'heure à laquelle l'observateur a terminé son observation.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

startTime

string (Timestamp format)

Facultatif. Heure à laquelle l'observateur a commencé son observation.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

updateComment

string

Facultatif. Mise à jour de l'état renseigné par l'observateur.

observerErrors[]

object (Status)

Facultatif. Erreur qui empêchait un observateur de faire une observation particulière.

ObserverExecution

État de l'observateur.

Énumérations
OBSERVER_EXECUTION_UNSPECIFIED L'état de l'observateur n'est pas spécifié.
OBSERVER_EXECUTION_NOT_STARTED L'investigation n'a pas encore commencé.
OBSERVER_EXECUTION_RUNNING L'investigation est en cours, et cet observateur est exécutable ou en cours d'exécution.
OBSERVER_EXECUTION_COMPLETE L'observateur a terminé sans erreur interne.
OBSERVER_EXECUTION_FAILED L'observateur a tenté de s'exécuter, mais a échoué en raison d'une erreur. Cette valeur est spécifique à un composant et peut être affichée dans l'UI si l'observation est visible, avec une priorité très faible.
OBSERVER_EXECUTION_BLOCKED L'observateur est bloqué en attendant une entrée.
OBSERVER_EXECUTION_INVESTIGATION_BLOCKED L'observateur signale une erreur qui bloque ou affecte gravement l'investigation (par exemple, une journalisation ou un flux CAIS désactivés). Doit être affiché de manière bien visible dans l'UI.
OBSERVER_EXECUTION_INVESTIGATION_DEGRADED L'observateur signale une erreur impactant l'investigation et qui peut nécessiter que l'utilisateur escalade ou relance l'investigation après avoir identifié la cause et résolu le problème.

Méthodes

create

Crée une investigation dans un projet donné.

delete

Supprime une seule investigation.

get

Récupère les détails d'une seule investigation.

getIamPolicy

Récupère la stratégie de contrôle des accès d'une ressource.

list

Liste les investigations d'un projet et d'un emplacement donnés.

patch

Met à jour les paramètres d'une seule investigation.

setIamPolicy

Définit la stratégie de contrôle d'accès sur la ressource spécifiée.

testIamPermissions

Renvoie les autorisations qu'un appelant a sur la ressource spécifiée.