Criar uma tarefa de restauração de backup legado Obsoleto(a)

POSTAR /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/restoreJobs

Restaura um backup legado para um cluster no projeto especificado. Para usar esse recurso, a conta de serviço ou a chave de API solicitante deve ter a função de proprietário do projeto. A partir de 23 de março de 2020, todos os novos clusters podem usar apenas backups em nuvem. Quando você faz upgrade para 4.2, seu sistema de backup faz upgrade para o backup em nuvem, caso esteja atualmente definido como backup legado. Após fazer o upgrade, todos os seus snapshots de backup legados existentes permanecerão disponíveis. Eles expiram ao longo do tempo de acordo com sua política de retenção. Sua política de backup é redefinida para o agendamento padrão. Se você tinha uma política de backup personalizada em vigor com backups legados, você deve recriá-la com o procedimento descrito na documentação de backups em nuvem. Esse ponto de extremidade não oferece suporte à criação de trabalhos de restauração de ponto de verificação para clusters fragmentados nem à criação de trabalhos de restauração para snapshots de queryable backup. Se você criar um trabalho de restauração automatizado especificando delivery.methodName de AUTOMATED_RESTORE no corpo da solicitação, o MongoDB Cloud removerá todos os dados existentes no cluster de destino antes da restauração.

Documentação de backups em nuvem

parâmetros de caminho

  • groupId string Obrigatório

    Sequência única de 24dígitos hexadecimais que identifica seu projeto. Use o endpoint /groups para extrair todos os projetos aos quais o usuário autenticado tem acesso.

    AVISO: grupos e projetos são termos sinônimos. O ID do seu grupo é igual ao ID do seu projeto. Para grupos existentes, o ID do grupo/projeto permanece o mesmo. O recurso e os endpoints correspondentes usam o termo grupos.

    O formato deve corresponder ao seguinte padrão: ^([a-f0-9]{24})$.

  • clusterName string Obrigatório

    Rótulo legível por humanos que identifica o cluster com o snapshot que você deseja retornar.

    O formato deve corresponder ao seguinte padrão: ^[a-zA-Z0-9][a-zA-Z0-9-]*$.

parâmetros de query

  • envelope booleano

    Sinalizador que indica se o aplicativo empacota a resposta em um objeto JSON envelope. Alguns clientes de API não podem acessar os cabeçalhos de resposta HTTP ou o código de status. Para corrigir isso, defina envelope=true na consulta. Os endpoints que retornam uma lista de resultados usam o objeto de resultados como um envelope. O aplicativo adiciona o parâmetro de status ao corpo da resposta.

    O valor padrão é false.

  • pretty booleano

    Sinalizador que indica se o corpo da resposta deve estar no formato prettyprint.

    O valor padrão é false.

    Prettyprint
application/vnd.atlas.2023-01-01+json

corpo, corpo Obrigatório

Backup legado para restaurar em um cluster no projeto especificado.

  • checkpointId string

    String exclusiva de 24 dígitos hexadecimais que identifica o checkpoint fragmentado do cluster. O checkpoint representa o ponto no tempo de retorno para o qual você deseja restaurar seus dados. Esse parâmetro se aplica quando "delivery.methodName" : "AUTOMATED_RESTORE". Use esse parâmetro somente com clusters fragmentados.

    • Se você definir checkpointId, não poderá definir oplogInc, oplogTs, snapshotId ou pointInTimeUTCMillis.
    • Se você fornecer esse parâmetro, esse ponto de extremidade restaurará todos os dados até esse ponto de verificação para o banco de dados especificado no objeto delivery

    O formato deve corresponder ao seguinte padrão: ^([a-f0-9]{24})$.

  • delivery objeto Obrigatório

    Método e detalhes que indicam como entregar os dados de snapshot restaurados.

    Ocultar atributos de entrega Mostrar atributos de entrega objeto
    • expirationHours integer(int32)

      Número de horas após a conclusão do tarefa de restauração, que indica quando o Localizador de recursos uniforme (URL) do arquivo de download de snapshot expira. O recurso retorna este parâmetro quando "delivery.methodName" : "HTTP".

      O valor mínimo é 1.

    • maxDownloads integer(int32)

      Inteiro positivo que indica quantas vezes você pode usar o Localizador de recursos uniforme (URL) para o arquivo de download do snapshot. O recurso retorna este parâmetro quando "delivery.methodName" : "HTTP".

      O valor mínimo é 1.

    • methodName string Obrigatório

      Etiqueta legível para humanos que identifica os meios de entrega dos dados. Se você "delivery.methodName" : "AUTOMATED_RESTORE" definir, também deverá definir: delivery.targetGroupId e delivery.targetClusterName ou delivery.targetClusterId. A resposta retorna "delivery.methodName" : "HTTP" como uma restauração automatizada usa o HyperText Transport Protocol (HTTP) para entregar o tarefa de restauração ao host de destino.

      Os valores são CLIENT_PIT_HTTP, QUERY, AUTOMATED_RESTORE, HTTP, THIRD_PARTY_COPY, CLIENT_PIT_SCP ou SCP.

    • targetClusterId string

      24String única de dígitos hexadecimais que identifica o cluster de destino. Use o clusterId retornado no corpo da resposta dos endpoints Obter todos os snapshots e Obter um snapshot. Esse parâmetro se aplica "delivery.methodName" : "AUTOMATED_RESTORE" quando.

      Se o cluster de destino não tiver o backup ativado, dois recursos retornarão parâmetros com valores vazios:

      • O endpointObter todos os snapshots retorna uma array de resultados vazia sem elementos clusterId
      • Obter um endpoint de snapshot não retorna um parâmetro clusterId.

      Para retornar uma resposta com o parâmetro clusterId, use o parâmetro delivery.targetClusterName ou habilite o backup no cluster de destino.

      O formato deve corresponder ao seguinte padrão: ^([a-f0-9]{24})$.

    • targetClusterName string

      Rótulo legível por humanos que identifica o cluster de destino. Use o clusterName retornado no corpo da resposta dos endpoints Obter todos os snapshots e Obter um snapshot. Esse parâmetro se aplica "delivery.methodName" : "AUTOMATED_RESTORE" quando.

      Se o cluster de destino não tiver o backup ativado, dois recursos retornarão parâmetros com valores vazios:

      • O endpointObter todos os snapshots retorna uma array de resultados vazia sem elementos clusterId
      • Obter um endpoint de snapshot não retorna um parâmetro clusterId.

      Para retornar uma resposta com o parâmetro clusterId, use o parâmetro delivery.targetClusterName ou habilite o backup no cluster de destino.

      O formato deve corresponder ao seguinte padrão: ^[a-zA-Z0-9][a-zA-Z0-9-]*$.

    • targetGroupId string

      String única de 24dígitos hexadecimais que identifica o projeto que contém o cluster de destino para a tarefa de restauração. O recurso retorna esse parâmetro quando "delivery.methodName" : "AUTOMATED_RESTORE".

      O formato deve corresponder ao seguinte padrão: ^([a-f0-9]{24})$.

  • oplogInc integer(int32)

    Ordinal incrementado de trinta e dois bits que representa operações em um determinado segundo. Quando emparelhado com oplogTs, isso representa o ponto no tempo para o qual o MongoDB Cloud restaura seus dados. Este parâmetro se aplica quando "delivery.methodName" : "AUTOMATED_RESTORE".

    • Se configurar oplogInc, você deverá configurar oplogTs e não poderá configurar checkpointId, snapshotId ou pointInTimeUTCMillis.
    • Se você fornecer esse parâmetro, esse ponto de extremidade restaurará todos os dados até e incluindo este carimbo de data/hora Oplog no banco de dados especificado no objeto delivery.

    O valor mínimo é 1.

  • oplogTs string

    Data e hora a partir das quais você deseja restaurar esse snapshot. Este parâmetro expressa seu valor no formato ISO 8601 em UTC. Isso representa a primeira parte de um carimbo de data/hora do Oplog. Quando emparelhados com o oploginc, eles representam a última operação de banco de dados para a qual você deseja restaurar seus dados. Esse parâmetro se aplica quando "delivery.methodName" : "AUTOMATED_RESTORE". Execute uma consulta em local.oplog.rs em seu conjunto de réplicas para encontrar o carimbo de data/hora desejado.

    • Se você definir oplogTs, deverá definir oplogInc e não poderá definir checkpointId, snapshotId ou pointInTimeUTCMillis.
    • Se você fornecer esse parâmetro, esse ponto de extremidade restaurará todos os dados até e incluindo este carimbo de data/hora Oplog no banco de dados especificado no objeto delivery.

    O formato deve corresponder ao seguinte padrão: ^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d{1,9})?(?:Z|[+-][01]\\d:[0-5]\\d)$.

  • pointInTimeUTCMillis integer(int64)

    Carimbo de data/hora a partir do qual pretende restaurar esse snapshot. Este parâmetro expressa seu valor no número de milissegundos decorridos desde a era UNIX. Esse carimbo de data/hora deve estar entre as últimas 24 horas da hora atual. Esse parâmetro se aplica quando "delivery.methodName" : "AUTOMATED_RESTORE".

    • Se você fornecer esse parâmetro, esse ponto de extremidade restaurará todos os dados até esse momento no banco de dados especificado no objeto delivery.
    • Se você definir pointInTimeUTCMillis, não poderá definir oplogInc, oplogTs, snapshotId ou checkpointId.

    O valor mínimo é 1199145600000.

    UNIX Epoch
  • snapshotId string

    String exclusiva de 24 dígitos hexadecimais que identifica o snapshot a ser restaurado. Se você definir snapshotId, não poderá definir oplogInc, oplogTs, pointInTimeUTCMillis ou checkpointId.

    O formato deve corresponder ao seguinte padrão: ^([a-f0-9]{24})$.

Respostas

  • 200 application/vnd.atlas.2023-01-01+json

    OK

    Ocultar atributos de resposta Mostrar atributos de resposta objeto
    • Resultados array[objeto]

      Lista de documentos retornados que o MongoDB Cloud fornece ao concluir esta solicitação.

      Ocultar atributos de resultados Mostrar atributos de resultados objeto
      • batchId string

        String única de 24dígitos hexadecimais que identifica o lote ao qual pertence essa tarefa de restauração. Esse parâmetro existe somente para uma restauração de cluster fragmentado .

        O formato deve corresponder ao seguinte padrão: ^([a-f0-9]{24})$.

      • clusterId string

        String única de 24dígitos hexadecimais que identifica o cluster com o snapshot que você deseja retornar. Esse parâmetro retorna para clusters de restauração.

        O formato deve corresponder ao seguinte padrão: ^([a-f0-9]{24})$.

      • clusterName string

        Rótulo legível por humanos que identifica o cluster que contém os snapshots que você deseja recuperar.

        O formato deve corresponder ao seguinte padrão: ^[a-zA-Z0-9][a-zA-Z0-9-]*$.

      • Criado string(data-hora)

        Data e hora em que alguém solicitou essa tarefa de restauração. Este parâmetro expressa seu valor no formato de registro de data/hora ISO 8601 em UTC.

      • delivery objeto Obrigatório

        Método e detalhes que indicam como entregar os dados de snapshot restaurados.

        Ocultar atributos de entrega Mostrar atributos de entrega objeto
        • authHeader string

          Nome do cabeçalho a ser usado ao baixar a restauração, usado com "delivery.methodName" : "HTTP".

        • authValue string

          Valor do cabeçalho a ser usado ao baixar a restauração, usada com "delivery.methodName" : "HTTP".

        • expirationHours integer(int32)

          Número de horas após a conclusão do tarefa de restauração, que indica quando o Localizador de recursos uniforme (URL) do arquivo de download de snapshot expira. O recurso retorna este parâmetro quando "delivery.methodName" : "HTTP".

          O valor mínimo é 1.

        • expira string(data-hora)

          Data e hora em que o Localizador de recursos uniforme (URL) do arquivo de download de snapshot expira. Este parâmetro expressa seu valor no formato de registro de data/hora ISO 8601 em UTC. O recurso retorna esse parâmetro quando "delivery.methodName" : "HTTP".

        • maxDownloads integer(int32)

          Inteiro positivo que indica quantas vezes você pode usar o Localizador de recursos uniforme (URL) para o arquivo de download do snapshot. O recurso retorna este parâmetro quando "delivery.methodName" : "HTTP".

          O valor mínimo é 1.

        • methodName string Obrigatório

          Etiqueta legível para humanos que identifica os meios de entrega dos dados. Se você "delivery.methodName" : "AUTOMATED_RESTORE" definir, também deverá definir: delivery.targetGroupId e delivery.targetClusterName ou delivery.targetClusterId. A resposta retorna "delivery.methodName" : "HTTP" como uma restauração automatizada usa o HyperText Transport Protocol (HTTP) para entregar o tarefa de restauração ao host de destino.

          Os valores são CLIENT_PIT_HTTP, QUERY, AUTOMATED_RESTORE, HTTP, THIRD_PARTY_COPY, CLIENT_PIT_SCP ou SCP.

        • statusName string

          Estado do arquivo de snapshot para download quando o MongoDB Cloud recebeu esta solicitação.

          Os valores são NOT_STARTED, IN_PROGRESS, READY, FAILED, INTERRUPTED, EXPIRED, MAX_DOWNLOADS_EXCEEDED ou PENDING.

        • targetClusterId string

          24String única de dígitos hexadecimais que identifica o cluster de destino. Use o clusterId retornado no corpo da resposta dos endpoints Obter todos os snapshots e Obter um snapshot. Esse parâmetro se aplica "delivery.methodName" : "AUTOMATED_RESTORE" quando.

          Se o cluster de destino não tiver o backup ativado, dois recursos retornarão parâmetros com valores vazios:

          • O endpointObter todos os snapshots retorna uma array de resultados vazia sem elementos clusterId
          • Obter um endpoint de snapshot não retorna um parâmetro clusterId.

          Para retornar uma resposta com o parâmetro clusterId, use o parâmetro delivery.targetClusterName ou habilite o backup no cluster de destino.

          O formato deve corresponder ao seguinte padrão: ^([a-f0-9]{24})$.

        • targetClusterName string

          Rótulo legível por humanos que identifica o cluster de destino. Use o clusterName retornado no corpo da resposta dos endpoints Obter todos os snapshots e Obter um snapshot. Esse parâmetro se aplica "delivery.methodName" : "AUTOMATED_RESTORE" quando.

          Se o cluster de destino não tiver o backup ativado, dois recursos retornarão parâmetros com valores vazios:

          • O endpointObter todos os snapshots retorna uma array de resultados vazia sem elementos clusterId
          • Obter um endpoint de snapshot não retorna um parâmetro clusterId.

          Para retornar uma resposta com o parâmetro clusterId, use o parâmetro delivery.targetClusterName ou habilite o backup no cluster de destino.

          O formato deve corresponder ao seguinte padrão: ^[a-zA-Z0-9][a-zA-Z0-9-]*$.

        • targetGroupId string

          String única de 24dígitos hexadecimais que identifica o projeto que contém o cluster de destino para a tarefa de restauração. O recurso retorna esse parâmetro quando "delivery.methodName" : "AUTOMATED_RESTORE".

          O formato deve corresponder ao seguinte padrão: ^([a-f0-9]{24})$.

        • URL string Obsoleto(a)

          Localizador uniforme de recursos (URL) do qual você pode baixar os dados de snapshot restaurados. URL inclui a chave de verificação. O recurso retorna este parâmetro quando "delivery.methodName" : "HTTP".

        • urlV2 string

          Localizador uniforme de recursos (URL) do qual você pode baixar os dados de snapshot restaurados. Isso deve ser preferido a URL. A chave de verificação deve ser enviada como um cabeçalho HTTP . O recurso retorna este parâmetro "delivery.methodName" : "HTTP" quando.

      • encryptionEnabled booleano

        Sinalizador que indica se alguém criptografou os dados no snapshot restaurado.

      • groupId string

        String única de 24dígitos hexadecimais que identifica o projeto que possui os snapshots.

        O formato deve corresponder ao seguinte padrão: ^([a-f0-9]{24})$.

      • hashes array[objeto]

        Lista que contém documentos que mapeiam cada arquivo de restauração para uma checksum com hash. Esse parâmetro se aplica depois que você baixa o delivery.url correspondente ."methodName" : "HTTP" Se, esta lista conterá um objeto que representa o hash do arquivo .tar.gz.

        Par de chaves e valores que mapeia um arquivo de restauração para uma checksum com hash . Esse parâmetro se aplica depois que você baixa o delivery.url correspondente .

        Ocultar atributos de hashes Mostrar atributos de hashes objeto
        • Nome do Arquivo string

          Etiqueta legível por humanos que identifica o arquivo hasheado.

        • hash string

          checksum hashed que mapeia para o arquivo de restauração.

        • typeName string

          Rótulo legível por humanos que identifica o algoritmo de hash usado para calcular o valor do hash.

          O valor é SHA1.

      • id string

        String única de 24 dígitos hexadecimais que identifica a tarefa de restauração.

        O formato deve corresponder ao seguinte padrão: ^([a-f0-9]{24})$.

      • masterKeyUUID string(uuid)

        Identificador universalmente exclusivo (UUID) que identifica a chave mestra da interoperabilidade de gerenciamento de chaves (KMIP) usada para criptografar os dados do snapshot. Esse parâmetro se aplica somente quando "encryptionEnabled" : "true".

      • snapshotId string

        String exclusiva de 24 dígitos hexadecimais que identifica o snapshot a ser restaurado. Se você definir snapshotId, não poderá definir oplogInc, oplogTs, pointInTimeUTCMillis ou checkpointId.

        O formato deve corresponder ao seguinte padrão: ^([a-f0-9]{24})$.

      • statusName string

        Etiqueta legível por humanos que identifica o status do arquivo para download no momento da solicitação.

        Os valores são IN_PROGRESS, BROKEN, KILLED ou FINISHED.

      • timestamp objeto

        Carimbo de data/hora JSON que indica quando ocorreu a entrada do token de checkpoint no oplog.

        Ocultar atributos de carimbo de data/hora Mostrar atributos de timestamp objeto
        • data string(data-hora)

          Data e hora em que o oplog registrou essa operação de banco de dados . Este parâmetro expressa seu valor no formato de registro de data/hora ISO 8601 em UTC.

        • Incremento integer(int32)

          Ordem da operação do banco de dados que o oplog registrou em data e hora específicas.

          O valor mínimo é 1199145600.

    • contagem total integer(int32)

      Número total de documentos disponíveis. O MongoDB Cloud omite este valor se includeCount estiver definido como false. O número total é uma estimativa e pode não ser exato.

      O valor mínimo é 0.

  • 400 aplicação/json

    Solicitação inválida.

    Ocultar atributos de resposta Mostrar atributos de resposta objeto
    • badRequestDetail objeto

      Detalhes da solicitação inválida.

      Ocultar atributo ruimRequestDetail Mostrar atributo ruimRequestDetail objeto
      • Campos array[objeto]

        Descreve todas as violações em uma solicitação do cliente .

        Ocultar atributos de campos Mostrar atributos dos campos objeto
        • Descrição string Obrigatório

          Uma descrição do motivo pelo qual o elemento de solicitação é incorreto.

        • Campo string Obrigatório

          Um caminho que leva a um campo no corpo da solicitação.

    • detalhe string

      Descreve as condições ou os motivos específicos que causam cada tipo de erro.

    • Erro integer(int32) Obrigatório

      O código de status HTTP retornado com este erro.

      Documentação externa
    • Código de erro string Obrigatório

      Código de erro do aplicativo retornado com esse erro.

    • Parâmetros array[objeto]

      Parâmetros usados para fornecer mais informações sobre o erro.

    • Razão string

      Mensagens de erro de aplicativo retornadas com este erro.

  • 401 aplicação/json

    Não autorizado.

    Ocultar atributos de resposta Mostrar atributos de resposta objeto
    • badRequestDetail objeto

      Detalhes da solicitação inválida.

      Ocultar atributo ruimRequestDetail Mostrar atributo ruimRequestDetail objeto
      • Campos array[objeto]

        Descreve todas as violações em uma solicitação do cliente .

        Ocultar atributos de campos Mostrar atributos dos campos objeto
        • Descrição string Obrigatório

          Uma descrição do motivo pelo qual o elemento de solicitação é incorreto.

        • Campo string Obrigatório

          Um caminho que leva a um campo no corpo da solicitação.

    • detalhe string

      Descreve as condições ou os motivos específicos que causam cada tipo de erro.

    • Erro integer(int32) Obrigatório

      O código de status HTTP retornado com este erro.

      Documentação externa
    • Código de erro string Obrigatório

      Código de erro do aplicativo retornado com esse erro.

    • Parâmetros array[objeto]

      Parâmetros usados para fornecer mais informações sobre o erro.

    • Razão string

      Mensagens de erro de aplicativo retornadas com este erro.

  • 403 aplicação/json

    Forbidden.

    Ocultar atributos de resposta Mostrar atributos de resposta objeto
    • badRequestDetail objeto

      Detalhes da solicitação inválida.

      Ocultar atributo ruimRequestDetail Mostrar atributo ruimRequestDetail objeto
      • Campos array[objeto]

        Descreve todas as violações em uma solicitação do cliente .

        Ocultar atributos de campos Mostrar atributos dos campos objeto
        • Descrição string Obrigatório

          Uma descrição do motivo pelo qual o elemento de solicitação é incorreto.

        • Campo string Obrigatório

          Um caminho que leva a um campo no corpo da solicitação.

    • detalhe string

      Descreve as condições ou os motivos específicos que causam cada tipo de erro.

    • Erro integer(int32) Obrigatório

      O código de status HTTP retornado com este erro.

      Documentação externa
    • Código de erro string Obrigatório

      Código de erro do aplicativo retornado com esse erro.

    • Parâmetros array[objeto]

      Parâmetros usados para fornecer mais informações sobre o erro.

    • Razão string

      Mensagens de erro de aplicativo retornadas com este erro.

  • 404 aplicação/json

    Não encontrado.

    Ocultar atributos de resposta Mostrar atributos de resposta objeto
    • badRequestDetail objeto

      Detalhes da solicitação inválida.

      Ocultar atributo ruimRequestDetail Mostrar atributo ruimRequestDetail objeto
      • Campos array[objeto]

        Descreve todas as violações em uma solicitação do cliente .

        Ocultar atributos de campos Mostrar atributos dos campos objeto
        • Descrição string Obrigatório

          Uma descrição do motivo pelo qual o elemento de solicitação é incorreto.

        • Campo string Obrigatório

          Um caminho que leva a um campo no corpo da solicitação.

    • detalhe string

      Descreve as condições ou os motivos específicos que causam cada tipo de erro.

    • Erro integer(int32) Obrigatório

      O código de status HTTP retornado com este erro.

      Documentação externa
    • Código de erro string Obrigatório

      Código de erro do aplicativo retornado com esse erro.

    • Parâmetros array[objeto]

      Parâmetros usados para fornecer mais informações sobre o erro.

    • Razão string

      Mensagens de erro de aplicativo retornadas com este erro.

  • 500 aplicação/json

    Erro interno do servidor.

    Ocultar atributos de resposta Mostrar atributos de resposta objeto
    • badRequestDetail objeto

      Detalhes da solicitação inválida.

      Ocultar atributo ruimRequestDetail Mostrar atributo ruimRequestDetail objeto
      • Campos array[objeto]

        Descreve todas as violações em uma solicitação do cliente .

        Ocultar atributos de campos Mostrar atributos dos campos objeto
        • Descrição string Obrigatório

          Uma descrição do motivo pelo qual o elemento de solicitação é incorreto.

        • Campo string Obrigatório

          Um caminho que leva a um campo no corpo da solicitação.

    • detalhe string

      Descreve as condições ou os motivos específicos que causam cada tipo de erro.

    • Erro integer(int32) Obrigatório

      O código de status HTTP retornado com este erro.

      Documentação externa
    • Código de erro string Obrigatório

      Código de erro do aplicativo retornado com esse erro.

    • Parâmetros array[objeto]

      Parâmetros usados para fornecer mais informações sobre o erro.

    • Razão string

      Mensagens de erro de aplicativo retornadas com este erro.

POST /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/restoreJobs
atlas api legacyBackup createGroupClusterRestoreJob --help
import (
	"os"
	"context"
	"log"
	sdk "go.mongodb.org/atlas-sdk/v20250312001/admin"
)

func main() {
	ctx := context.Background()
	clientID := os.Getenv("MONGODB_ATLAS_CLIENT_ID")
	clientSecret := os.Getenv("MONGODB_ATLAS_CLIENT_SECRET")

	// See https://dochub.mongodb.org/core/atlas-go-sdk-oauth
	client, err := sdk.NewClient(sdk.UseOAuthAuth(clientID, clientSecret))

	if err != nil {
		log.Fatalf("Error: %v", err)
	}

	params = &sdk.CreateGroupClusterRestoreJobApiParams{}
	sdkResp, httpResp, err := client.LegacyBackupApi.
		CreateGroupClusterRestoreJobWithParams(ctx, params).
		Execute()
}
curl --include --header "Authorization: Bearer ${ACCESS_TOKEN}" \
  --header "Accept: application/vnd.atlas.2025-03-12+json" \
  --header "Content-Type: application/json" \
  -X POST "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/restoreJobs" \
  -d '{ <Payload> }'
curl --user "${PUBLIC_KEY}:${PRIVATE_KEY}" \
  --digest --include \
  --header "Accept: application/vnd.atlas.2025-03-12+json" \
  --header "Content-Type: application/json" \
  -X POST "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/restoreJobs" \
  -d '{ <Payload> }'
Exemplos de solicitação
{
  "checkpointId": "32b6e34b3d91647abb20e7b8",
  "delivery": {
    "expirationHours": 42,
    "maxDownloads": 42,
    "methodName": "CLIENT_PIT_HTTP",
    "targetClusterId": "32b6e34b3d91647abb20e7b8",
    "targetClusterName": "string",
    "targetGroupId": "32b6e34b3d91647abb20e7b8"
  },
  "oplogInc": 42,
  "oplogTs": "string",
  "pointInTimeUTCMillis": 42,
  "snapshotId": "32b6e34b3d91647abb20e7b8"
}
Exemplos de resposta (200)
{
  "links": [
    {
      "href": "https://cloud.mongodb.com/api/atlas",
      "rel": "self"
    }
  ],
  "results": [
    {
      "batchId": "32b6e34b3d91647abb20e7b8",
      "clusterId": "32b6e34b3d91647abb20e7b8",
      "clusterName": "string",
      "created": "2025-05-04T09:42:00Z",
      "delivery": {
        "authHeader": "string",
        "authValue": "string",
        "expirationHours": 42,
        "expires": "2025-05-04T09:42:00Z",
        "maxDownloads": 42,
        "methodName": "CLIENT_PIT_HTTP",
        "statusName": "NOT_STARTED",
        "targetClusterId": "32b6e34b3d91647abb20e7b8",
        "targetClusterName": "string",
        "targetGroupId": "32b6e34b3d91647abb20e7b8",
        "url": "string",
        "urlV2": "string"
      },
      "encryptionEnabled": true,
      "groupId": "32b6e34b3d91647abb20e7b8",
      "hashes": [
        {
          "fileName": "string",
          "hash": "string",
          "links": [
            {
              "href": "https://cloud.mongodb.com/api/atlas",
              "rel": "self"
            }
          ],
          "typeName": "SHA1"
        }
      ],
      "id": "32b6e34b3d91647abb20e7b8",
      "links": [
        {
          "href": "https://cloud.mongodb.com/api/atlas",
          "rel": "self"
        }
      ],
      "masterKeyUUID": "string",
      "snapshotId": "32b6e34b3d91647abb20e7b8",
      "statusName": "IN_PROGRESS",
      "timestamp": {
        "date": "2025-05-04T09:42:00Z",
        "increment": 1199145600
      }
    }
  ],
  "totalCount": 42
}
Exemplos de resposta (400)
{
  "error": 400,
  "detail": "(This is just an example, the exception may not be related to this endpoint) No provider AWS exists.",
  "reason": "Bad Request",
  "errorCode": "VALIDATION_ERROR"
}
Exemplos de resposta (401)
{
  "error": 401,
  "detail": "(This is just an example, the exception may not be related to this endpoint)",
  "reason": "Unauthorized",
  "errorCode": "NOT_ORG_GROUP_CREATOR"
}
Exemplos de resposta (403)
{
  "error": 403,
  "detail": "(This is just an example, the exception may not be related to this endpoint)",
  "reason": "Forbidden",
  "errorCode": "CANNOT_CHANGE_GROUP_NAME"
}
Exemplos de resposta (404)
{
  "error": 404,
  "detail": "(This is just an example, the exception may not be related to this endpoint) Cannot find resource AWS",
  "reason": "Not Found",
  "errorCode": "RESOURCE_NOT_FOUND"
}
Exemplos de resposta (500)
{
  "error": 500,
  "detail": "(This is just an example, the exception may not be related to this endpoint)",
  "reason": "Internal Server Error",
  "errorCode": "UNEXPECTED_ERROR"
}