Geração de registros de auditoria do Cloud TPU
Neste documento, descrevemos a geração de registros de auditoria do Cloud TPU. Os serviços do Google Cloud geram registros de auditoria das atividades administrativas e dos acessos nos recursos do Google Cloud . Para mais informações sobre os Registros de Auditoria do Cloud, confira:
- Tipos de registros de auditoria
- Estrutura da entrada de registro de auditoria
- Como armazenar e rotear registros de auditoria
- Resumo dos preços do Cloud Logging
- Ativar registros de auditoria de acesso aos dados
Nome do serviço
Os registros de auditoria do Cloud TPU usam o nome de serviço tpu.googleapis.com.
Filtre por este serviço:
protoPayload.serviceName="tpu.googleapis.com"
Métodos por tipo de permissão
Cada permissão do IAM tem uma propriedade type, com um tipo enumerado
que pode ser um dos quatro seguintes valores: ADMIN_READ, ADMIN_WRITE,
DATA_READ ou DATA_WRITE. Quando você chama um método,
o Cloud TPU gera um registro de auditoria com uma categoria dependente da
propriedade type da permissão necessária para executar esse método.
Métodos que exigem uma permissão do IAM com o valor da propriedade type
de DATA_READ, DATA_WRITE ou ADMIN_READ geram
registros de auditoria de acesso aos dados.
Métodos que exigem uma permissão do IAM com o valor da propriedade type
de ADMIN_WRITE geram
registros de auditoria de atividade do administrador.
| Tipo de permissão | Métodos |
|---|---|
ADMIN_READ |
google.cloud.tpu.v1.Tpu.GetNodegoogle.cloud.tpu.v1.Tpu.ListNodesgoogle.cloud.tpu.v1alpha1.Tpu.GetNodegoogle.cloud.tpu.v1alpha1.Tpu.ListNodesgoogle.cloud.tpu.v2.Tpu.GetGuestAttributesgoogle.cloud.tpu.v2.Tpu.GetNodegoogle.cloud.tpu.v2.Tpu.GetQueuedResourcegoogle.cloud.tpu.v2.Tpu.ListNodesgoogle.cloud.tpu.v2.Tpu.ListQueuedResourcesgoogle.cloud.tpu.v2alpha1.Tpu.GetGuestAttributesgoogle.cloud.tpu.v2alpha1.Tpu.GetNodegoogle.cloud.tpu.v2alpha1.Tpu.GetQueuedResourcegoogle.cloud.tpu.v2alpha1.Tpu.ListNodesgoogle.cloud.tpu.v2alpha1.Tpu.ListQueuedResourcesgoogle.cloud.tpu.v2alpha1.Tpu.ListReservations |
ADMIN_WRITE |
google.cloud.tpu.v1.Tpu.CreateNode (LRO)google.cloud.tpu.v1.Tpu.DeleteNode (LRO)google.cloud.tpu.v1.Tpu.ReimageNodegoogle.cloud.tpu.v1.Tpu.StartNode (LRO)google.cloud.tpu.v1.Tpu.StopNode (LRO)google.cloud.tpu.v1alpha1.Tpu.CreateNode (LRO)google.cloud.tpu.v1alpha1.Tpu.DeleteNode (LRO)google.cloud.tpu.v1alpha1.Tpu.ReimageNode (LRO)google.cloud.tpu.v1alpha1.Tpu.StartNode (LRO)google.cloud.tpu.v1alpha1.Tpu.StopNode (LRO)google.cloud.tpu.v2.Tpu.CreateNode (LRO)google.cloud.tpu.v2.Tpu.CreateQueuedResource (LRO)google.cloud.tpu.v2.Tpu.DeleteNode (LRO)google.cloud.tpu.v2.Tpu.DeleteQueuedResource (LRO)google.cloud.tpu.v2.Tpu.ResetQueuedResource (LRO)google.cloud.tpu.v2.Tpu.StartNode (LRO)google.cloud.tpu.v2.Tpu.StopNode (LRO)google.cloud.tpu.v2.Tpu.UpdateNode (LRO)google.cloud.tpu.v2alpha1.Tpu.CreateNode (LRO)google.cloud.tpu.v2alpha1.Tpu.CreateQueuedResource (LRO)google.cloud.tpu.v2alpha1.Tpu.DeleteNode (LRO)google.cloud.tpu.v2alpha1.Tpu.DeleteQueuedResource (LRO)google.cloud.tpu.v2alpha1.Tpu.ResetQueuedResource (LRO)google.cloud.tpu.v2alpha1.Tpu.SimulateMaintenanceEvent (LRO)google.cloud.tpu.v2alpha1.Tpu.StartNode (LRO)google.cloud.tpu.v2alpha1.Tpu.StopNode (LRO)google.cloud.tpu.v2alpha1.Tpu.UpdateNode (LRO) |
Registros de auditoria da interface da API
Para saber como e quais permissões são avaliadas para cada método, consulte a documentação do Identity and Access Management para o Cloud TPU.
google.cloud.tpu.v1.Tpu
Os registros de auditoria a seguir estão associados a métodos que pertencem a
google.cloud.tpu.v1.Tpu.
CreateNode
- Método:
google.cloud.tpu.v1.Tpu.CreateNode - Tipo de registro de auditoria: atividade do administrador
- Permissões:
tpu.nodes.create - ADMIN_WRITE
- O método é uma operação de streaming ou de longa duração:
operação de longa duração
- Filtrar para este método:
protoPayload.methodName="google.cloud.tpu.v1.Tpu.CreateNode"
DeleteNode
- Método:
google.cloud.tpu.v1.Tpu.DeleteNode - Tipo de registro de auditoria: atividade do administrador
- Permissões:
tpu.nodes.delete - ADMIN_WRITE
- O método é uma operação de streaming ou de longa duração:
operação de longa duração
- Filtrar para este método:
protoPayload.methodName="google.cloud.tpu.v1.Tpu.DeleteNode"
GetNode
- Método:
google.cloud.tpu.v1.Tpu.GetNode - Tipo de registro de auditoria: acesso aos dados
- Permissões:
tpu.nodes.get - ADMIN_READ
- O método é uma operação de streaming ou de longa duração:
nenhum
- Filtrar para este método:
protoPayload.methodName="google.cloud.tpu.v1.Tpu.GetNode"
ListNodes
- Método:
google.cloud.tpu.v1.Tpu.ListNodes - Tipo de registro de auditoria: acesso aos dados
- Permissões:
tpu.nodes.list - ADMIN_READ
- O método é uma operação de streaming ou de longa duração:
nenhum
- Filtrar para este método:
protoPayload.methodName="google.cloud.tpu.v1.Tpu.ListNodes"
ReimageNode
- Método:
google.cloud.tpu.v1.Tpu.ReimageNode - Tipo de registro de auditoria: atividade do administrador
- Permissões:
tpu.nodes.reimage - ADMIN_WRITE
- O método é uma operação de streaming ou de longa duração:
nenhum
- Filtrar para este método:
protoPayload.methodName="google.cloud.tpu.v1.Tpu.ReimageNode"
StartNode
- Método:
google.cloud.tpu.v1.Tpu.StartNode - Tipo de registro de auditoria: atividade do administrador
- Permissões:
tpu.nodes.start - ADMIN_WRITE
- O método é uma operação de streaming ou de longa duração:
operação de longa duração
- Filtrar para este método:
protoPayload.methodName="google.cloud.tpu.v1.Tpu.StartNode"
StopNode
- Método:
google.cloud.tpu.v1.Tpu.StopNode - Tipo de registro de auditoria: atividade do administrador
- Permissões:
tpu.nodes.stop - ADMIN_WRITE
- O método é uma operação de streaming ou de longa duração:
operação de longa duração
- Filtrar para este método:
protoPayload.methodName="google.cloud.tpu.v1.Tpu.StopNode"
google.cloud.tpu.v1alpha1.Tpu
Os registros de auditoria a seguir estão associados a métodos que pertencem a
google.cloud.tpu.v1alpha1.Tpu.
CreateNode
- Método:
google.cloud.tpu.v1alpha1.Tpu.CreateNode - Tipo de registro de auditoria: atividade do administrador
- Permissões:
tpu.nodes.create - ADMIN_WRITE
- O método é uma operação de streaming ou de longa duração:
operação de longa duração
- Filtrar para este método:
protoPayload.methodName="google.cloud.tpu.v1alpha1.Tpu.CreateNode"
DeleteNode
- Método:
google.cloud.tpu.v1alpha1.Tpu.DeleteNode - Tipo de registro de auditoria: atividade do administrador
- Permissões:
tpu.nodes.delete - ADMIN_WRITE
- O método é uma operação de streaming ou de longa duração:
operação de longa duração
- Filtrar para este método:
protoPayload.methodName="google.cloud.tpu.v1alpha1.Tpu.DeleteNode"
GetNode
- Método:
google.cloud.tpu.v1alpha1.Tpu.GetNode - Tipo de registro de auditoria: acesso aos dados
- Permissões:
tpu.nodes.get - ADMIN_READ
- O método é uma operação de streaming ou de longa duração:
nenhum
- Filtrar para este método:
protoPayload.methodName="google.cloud.tpu.v1alpha1.Tpu.GetNode"
ListNodes
- Método:
google.cloud.tpu.v1alpha1.Tpu.ListNodes - Tipo de registro de auditoria: acesso aos dados
- Permissões:
tpu.nodes.list - ADMIN_READ
- O método é uma operação de streaming ou de longa duração:
nenhum
- Filtrar para este método:
protoPayload.methodName="google.cloud.tpu.v1alpha1.Tpu.ListNodes"
ReimageNode
- Método:
google.cloud.tpu.v1alpha1.Tpu.ReimageNode - Tipo de registro de auditoria: atividade do administrador
- Permissões:
tpu.nodes.reimage - ADMIN_WRITE
- O método é uma operação de streaming ou de longa duração:
operação de longa duração
- Filtrar para este método:
protoPayload.methodName="google.cloud.tpu.v1alpha1.Tpu.ReimageNode"
StartNode
- Método:
google.cloud.tpu.v1alpha1.Tpu.StartNode - Tipo de registro de auditoria: atividade do administrador
- Permissões:
tpu.nodes.start - ADMIN_WRITE
- O método é uma operação de streaming ou de longa duração:
operação de longa duração
- Filtrar para este método:
protoPayload.methodName="google.cloud.tpu.v1alpha1.Tpu.StartNode"
StopNode
- Método:
google.cloud.tpu.v1alpha1.Tpu.StopNode - Tipo de registro de auditoria: atividade do administrador
- Permissões:
tpu.nodes.stop - ADMIN_WRITE
- O método é uma operação de streaming ou de longa duração:
operação de longa duração
- Filtrar para este método:
protoPayload.methodName="google.cloud.tpu.v1alpha1.Tpu.StopNode"
google.cloud.tpu.v2.Tpu
Os registros de auditoria a seguir estão associados a métodos que pertencem a
google.cloud.tpu.v2.Tpu.
CreateNode
- Método:
google.cloud.tpu.v2.Tpu.CreateNode - Tipo de registro de auditoria: atividade do administrador
- Permissões:
tpu.nodes.create - ADMIN_WRITE
- O método é uma operação de streaming ou de longa duração:
operação de longa duração
- Filtrar para este método:
protoPayload.methodName="google.cloud.tpu.v2.Tpu.CreateNode"
CreateQueuedResource
- Método:
google.cloud.tpu.v2.Tpu.CreateQueuedResource - Tipo de registro de auditoria: atividade do administrador
- Permissões:
tpu.nodes.create - ADMIN_WRITE
- O método é uma operação de streaming ou de longa duração:
operação de longa duração
- Filtrar para este método:
protoPayload.methodName="google.cloud.tpu.v2.Tpu.CreateQueuedResource"
DeleteNode
- Método:
google.cloud.tpu.v2.Tpu.DeleteNode - Tipo de registro de auditoria: atividade do administrador
- Permissões:
tpu.nodes.delete - ADMIN_WRITE
- O método é uma operação de streaming ou de longa duração:
operação de longa duração
- Filtrar para este método:
protoPayload.methodName="google.cloud.tpu.v2.Tpu.DeleteNode"
DeleteQueuedResource
- Método:
google.cloud.tpu.v2.Tpu.DeleteQueuedResource - Tipo de registro de auditoria: atividade do administrador
- Permissões:
tpu.nodes.delete - ADMIN_WRITE
- O método é uma operação de streaming ou de longa duração:
operação de longa duração
- Filtrar para este método:
protoPayload.methodName="google.cloud.tpu.v2.Tpu.DeleteQueuedResource"
GetGuestAttributes
- Método:
google.cloud.tpu.v2.Tpu.GetGuestAttributes - Tipo de registro de auditoria: acesso aos dados
- Permissões:
tpu.nodes.get - ADMIN_READ
- O método é uma operação de streaming ou de longa duração:
nenhum
- Filtrar para este método:
protoPayload.methodName="google.cloud.tpu.v2.Tpu.GetGuestAttributes"
GetNode
- Método:
google.cloud.tpu.v2.Tpu.GetNode - Tipo de registro de auditoria: acesso aos dados
- Permissões:
tpu.nodes.get - ADMIN_READ
- O método é uma operação de streaming ou de longa duração:
nenhum
- Filtrar para este método:
protoPayload.methodName="google.cloud.tpu.v2.Tpu.GetNode"
GetQueuedResource
- Método:
google.cloud.tpu.v2.Tpu.GetQueuedResource - Tipo de registro de auditoria: acesso aos dados
- Permissões:
tpu.nodes.get - ADMIN_READ
- O método é uma operação de streaming ou de longa duração:
nenhum
- Filtrar para este método:
protoPayload.methodName="google.cloud.tpu.v2.Tpu.GetQueuedResource"
ListNodes
- Método:
google.cloud.tpu.v2.Tpu.ListNodes - Tipo de registro de auditoria: acesso aos dados
- Permissões:
tpu.nodes.list - ADMIN_READ
- O método é uma operação de streaming ou de longa duração:
nenhum
- Filtrar para este método:
protoPayload.methodName="google.cloud.tpu.v2.Tpu.ListNodes"
ListQueuedResources
- Método:
google.cloud.tpu.v2.Tpu.ListQueuedResources - Tipo de registro de auditoria: acesso aos dados
- Permissões:
tpu.nodes.list - ADMIN_READ
- O método é uma operação de streaming ou de longa duração:
nenhum
- Filtrar para este método:
protoPayload.methodName="google.cloud.tpu.v2.Tpu.ListQueuedResources"
ResetQueuedResource
- Método:
google.cloud.tpu.v2.Tpu.ResetQueuedResource - Tipo de registro de auditoria: atividade do administrador
- Permissões:
tpu.nodes.reset - ADMIN_WRITE
- O método é uma operação de streaming ou de longa duração:
operação de longa duração
- Filtrar para este método:
protoPayload.methodName="google.cloud.tpu.v2.Tpu.ResetQueuedResource"
StartNode
- Método:
google.cloud.tpu.v2.Tpu.StartNode - Tipo de registro de auditoria: atividade do administrador
- Permissões:
tpu.nodes.start - ADMIN_WRITE
- O método é uma operação de streaming ou de longa duração:
operação de longa duração
- Filtrar para este método:
protoPayload.methodName="google.cloud.tpu.v2.Tpu.StartNode"
StopNode
- Método:
google.cloud.tpu.v2.Tpu.StopNode - Tipo de registro de auditoria: atividade do administrador
- Permissões:
tpu.nodes.stop - ADMIN_WRITE
- O método é uma operação de streaming ou de longa duração:
operação de longa duração
- Filtrar para este método:
protoPayload.methodName="google.cloud.tpu.v2.Tpu.StopNode"
UpdateNode
- Método:
google.cloud.tpu.v2.Tpu.UpdateNode - Tipo de registro de auditoria: atividade do administrador
- Permissões:
tpu.nodes.update - ADMIN_WRITE
- O método é uma operação de streaming ou de longa duração:
operação de longa duração
- Filtrar para este método:
protoPayload.methodName="google.cloud.tpu.v2.Tpu.UpdateNode"
google.cloud.tpu.v2alpha1.Tpu
Os registros de auditoria a seguir estão associados a métodos que pertencem a
google.cloud.tpu.v2alpha1.Tpu.
CreateNode
- Método:
google.cloud.tpu.v2alpha1.Tpu.CreateNode - Tipo de registro de auditoria: atividade do administrador
- Permissões:
tpu.nodes.create - ADMIN_WRITE
- O método é uma operação de streaming ou de longa duração:
operação de longa duração
- Filtrar para este método:
protoPayload.methodName="google.cloud.tpu.v2alpha1.Tpu.CreateNode"
CreateQueuedResource
- Método:
google.cloud.tpu.v2alpha1.Tpu.CreateQueuedResource - Tipo de registro de auditoria: atividade do administrador
- Permissões:
tpu.nodes.create - ADMIN_WRITE
- O método é uma operação de streaming ou de longa duração:
operação de longa duração
- Filtrar para este método:
protoPayload.methodName="google.cloud.tpu.v2alpha1.Tpu.CreateQueuedResource"
DeleteNode
- Método:
google.cloud.tpu.v2alpha1.Tpu.DeleteNode - Tipo de registro de auditoria: atividade do administrador
- Permissões:
tpu.nodes.delete - ADMIN_WRITE
- O método é uma operação de streaming ou de longa duração:
operação de longa duração
- Filtrar para este método:
protoPayload.methodName="google.cloud.tpu.v2alpha1.Tpu.DeleteNode"
DeleteQueuedResource
- Método:
google.cloud.tpu.v2alpha1.Tpu.DeleteQueuedResource - Tipo de registro de auditoria: atividade do administrador
- Permissões:
tpu.nodes.delete - ADMIN_WRITE
- O método é uma operação de streaming ou de longa duração:
operação de longa duração
- Filtrar para este método:
protoPayload.methodName="google.cloud.tpu.v2alpha1.Tpu.DeleteQueuedResource"
GetGuestAttributes
- Método:
google.cloud.tpu.v2alpha1.Tpu.GetGuestAttributes - Tipo de registro de auditoria: acesso aos dados
- Permissões:
tpu.nodes.get - ADMIN_READ
- O método é uma operação de streaming ou de longa duração:
nenhum
- Filtrar para este método:
protoPayload.methodName="google.cloud.tpu.v2alpha1.Tpu.GetGuestAttributes"
GetNode
- Método:
google.cloud.tpu.v2alpha1.Tpu.GetNode - Tipo de registro de auditoria: acesso aos dados
- Permissões:
tpu.nodes.get - ADMIN_READ
- O método é uma operação de streaming ou de longa duração:
nenhum
- Filtrar para este método:
protoPayload.methodName="google.cloud.tpu.v2alpha1.Tpu.GetNode"
GetQueuedResource
- Método:
google.cloud.tpu.v2alpha1.Tpu.GetQueuedResource - Tipo de registro de auditoria: acesso aos dados
- Permissões:
tpu.nodes.get - ADMIN_READ
- O método é uma operação de streaming ou de longa duração:
nenhum
- Filtrar para este método:
protoPayload.methodName="google.cloud.tpu.v2alpha1.Tpu.GetQueuedResource"
ListNodes
- Método:
google.cloud.tpu.v2alpha1.Tpu.ListNodes - Tipo de registro de auditoria: acesso aos dados
- Permissões:
tpu.nodes.list - ADMIN_READ
- O método é uma operação de streaming ou de longa duração:
nenhum
- Filtrar para este método:
protoPayload.methodName="google.cloud.tpu.v2alpha1.Tpu.ListNodes"
ListQueuedResources
- Método:
google.cloud.tpu.v2alpha1.Tpu.ListQueuedResources - Tipo de registro de auditoria: acesso aos dados
- Permissões:
tpu.nodes.list - ADMIN_READ
- O método é uma operação de streaming ou de longa duração:
nenhum
- Filtrar para este método:
protoPayload.methodName="google.cloud.tpu.v2alpha1.Tpu.ListQueuedResources"
ListReservations
- Método:
google.cloud.tpu.v2alpha1.Tpu.ListReservations - Tipo de registro de auditoria: acesso aos dados
- Permissões:
tpu.nodes.get - ADMIN_READ
- O método é uma operação de streaming ou de longa duração:
nenhum
- Filtrar para este método:
protoPayload.methodName="google.cloud.tpu.v2alpha1.Tpu.ListReservations"
ResetQueuedResource
- Método:
google.cloud.tpu.v2alpha1.Tpu.ResetQueuedResource - Tipo de registro de auditoria: atividade do administrador
- Permissões:
tpu.nodes.reset - ADMIN_WRITE
- O método é uma operação de streaming ou de longa duração:
operação de longa duração
- Filtrar para este método:
protoPayload.methodName="google.cloud.tpu.v2alpha1.Tpu.ResetQueuedResource"
SimulateMaintenanceEvent
- Método:
google.cloud.tpu.v2alpha1.Tpu.SimulateMaintenanceEvent - Tipo de registro de auditoria: atividade do administrador
- Permissões:
tpu.nodes.simulateMaintenanceEvent - ADMIN_WRITE
- O método é uma operação de streaming ou de longa duração:
operação de longa duração
- Filtrar para este método:
protoPayload.methodName="google.cloud.tpu.v2alpha1.Tpu.SimulateMaintenanceEvent"
StartNode
- Método:
google.cloud.tpu.v2alpha1.Tpu.StartNode - Tipo de registro de auditoria: atividade do administrador
- Permissões:
tpu.nodes.start - ADMIN_WRITE
- O método é uma operação de streaming ou de longa duração:
operação de longa duração
- Filtrar para este método:
protoPayload.methodName="google.cloud.tpu.v2alpha1.Tpu.StartNode"
StopNode
- Método:
google.cloud.tpu.v2alpha1.Tpu.StopNode - Tipo de registro de auditoria: atividade do administrador
- Permissões:
tpu.nodes.stop - ADMIN_WRITE
- O método é uma operação de streaming ou de longa duração:
operação de longa duração
- Filtrar para este método:
protoPayload.methodName="google.cloud.tpu.v2alpha1.Tpu.StopNode"
UpdateNode
- Método:
google.cloud.tpu.v2alpha1.Tpu.UpdateNode - Tipo de registro de auditoria: atividade do administrador
- Permissões:
tpu.nodes.update - ADMIN_WRITE
- O método é uma operação de streaming ou de longa duração:
operação de longa duração
- Filtrar para este método:
protoPayload.methodName="google.cloud.tpu.v2alpha1.Tpu.UpdateNode"
Eventos do sistema
Os registros de auditoria de eventos do sistema são gerados pelos sistemas do GCP, e não por ações diretas do usuário. Para mais informações, consulte Registros de auditoria de eventos do sistema.
| Nome do método | Filtrar para este evento | Observações |
|---|---|---|
| tpu.nodes.restart |
protoPayload.methodName="tpu.nodes.restart"
|
Ocorre quando um nó encerrado é reparado e reiniciado. |
| tpu.nodes.terminate |
protoPayload.methodName="tpu.nodes.terminate"
|
Ocorre quando um nó é encerrado involuntariamente, por exemplo, devido a um evento de manutenção. O motivo do encerramento está disponível em protoPayload.metadata.terminateReason. |
Métodos que não geram registros de auditoria
Um método pode não gerar registros de auditoria por um ou mais dos seguintes motivos:
- É um método de alto volume que envolve geração de registros significativos e custos de armazenamento.
- Tem pouco valor para a auditoria.
- Outro registro de auditoria ou plataforma já oferece cobertura do método.
Os métodos abaixo não geram registros de auditoria:
google.cloud.location.Locations.GetLocationgoogle.cloud.location.Locations.ListLocationsgoogle.cloud.tpu.v1.Tpu.GetAcceleratorTypegoogle.cloud.tpu.v1.Tpu.GetTensorFlowVersiongoogle.cloud.tpu.v1.Tpu.ListAcceleratorTypesgoogle.cloud.tpu.v1.Tpu.ListTensorFlowVersionsgoogle.cloud.tpu.v1alpha1.Tpu.GetAcceleratorTypegoogle.cloud.tpu.v1alpha1.Tpu.GetTensorFlowVersiongoogle.cloud.tpu.v1alpha1.Tpu.ListAcceleratorTypesgoogle.cloud.tpu.v1alpha1.Tpu.ListTensorFlowVersionsgoogle.cloud.tpu.v2.Tpu.GetAcceleratorTypegoogle.cloud.tpu.v2.Tpu.GetRuntimeVersiongoogle.cloud.tpu.v2.Tpu.ListAcceleratorTypesgoogle.cloud.tpu.v2.Tpu.ListRuntimeVersionsgoogle.cloud.tpu.v2alpha1.Tpu.GetAcceleratorTypegoogle.cloud.tpu.v2alpha1.Tpu.GetRuntimeVersiongoogle.cloud.tpu.v2alpha1.Tpu.ListAcceleratorTypesgoogle.cloud.tpu.v2alpha1.Tpu.ListRuntimeVersionsgoogle.longrunning.Operations.WaitOperation