Operation

Este recurso representa uma operação de longa duração resultante de uma chamada à API de rede.

Representação JSON
{
  "name": string,
  "metadata": {
    "@type": string,
    field1: ...,
    ...
  },
  "done": boolean,

  // Union field result can be only one of the following:
  "error": {
    object (Status)
  },
  "response": {
    "@type": string,
    field1: ...,
    ...
  }
  // End of list of possible types for union field result.
}
Campos
name

string

O nome atribuído pelo servidor, que é exclusivo somente no mesmo serviço que o retorna originalmente. Se você usar o mapeamento padrão de HTTP, name precisa ser um nome de recurso que termine com operations/{unique_id}.

metadata

object

Metadados específicos do serviço associados à operação. Eles geralmente contêm informações sobre o progresso e metadados comuns, como a hora da criação. Em alguns serviços, esses metadados talvez não sejam fornecidos. Em qualquer método que retorna uma operação de longa duração, o tipo de metadados, se houver, deve ser documentado.

Um objeto contendo campos de um tipo arbitrário. Um campo adicional "@type" contém uma URI que identifica o tipo. Exemplo: { "id": 1234, "@type": "types.example.com/standard/id" }.

done

boolean

Se o valor for false, significa que a operação ainda está em andamento. Se for true, a operação será concluída e error ou response estarão disponíveis.

Campo de união result. O resultado da operação, que pode ser um error ou uma response válida. Se done == false, nem error ou response estão definidos. Se done == true, é possível definir exatamente um entre error ou response. Alguns serviços podem não fornecer o resultado. result pode ser apenas de um dos tipos a seguir:
error

object (Status)

Resultado do erro da operação em caso de falha ou cancelamento.

response

object

A resposta normal e bem-sucedida da operação. Se o método original não retornar dados em caso de êxito, como Delete, a resposta será google.protobuf.Empty. Se o método original for Get/Create/Update padrão, a resposta será o recurso. Para outros métodos, a resposta precisa ser do tipo XxxResponse, em que Xxx é o nome do método original. Por exemplo, se o nome do método original for TakeSnapshot(), o tipo inferido de resposta será TakeSnapshotResponse.

Um objeto contendo campos de um tipo arbitrário. Um campo adicional "@type" contém uma URI que identifica o tipo. Exemplo: { "id": 1234, "@type": "types.example.com/standard/id" }.