Atualiza o agendamento de snapshots 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 2020, todos os novos clusters podem usar apenas backups na nuvem. Ao atualizar para 4.2, seu sistema de backup atualiza para o backup na nuvem se estiver atualmente definido como backup legado . Após esta atualização, todos os seus snapshots de backup legado existentes permanecerão disponíveis. Eles expiram ao longo do tempo de acordo com a sua política de retenção. Sua política de backup é redefinida para o agendamento padrão. Se você tiver uma política de backup personalizada em vigor com backups legado , deverá recriá-la com o procedimento descrito na documentação do Cloud Backup.
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})$.
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-]*$.
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.
Sinalizador que indica se o corpo da resposta deve estar no formato prettyprint.
O valor padrão é false.
Atualize o agendamento de snapshots para um cluster no projeto especificado.
Quantidade de tempo expressa em minutos entre os checkpoints de cluster sucessivos. Este parâmetro se aplica somente a clusters fragmentados. Esse número determina a granularidade dos backups em nuvem contínuos para clusters fragmentados.
Os valores são 15, 30 ou 60.
String única de 24 dígitos hexadecimais que identifica o cluster com o snapshot que você deseja retornar.
O formato deve corresponder ao seguinte padrão: ^([a-f0-9]{24})$.
Quantidade de tempo para manter snapshots diários. O MongoDB Cloud expressa esse valor em dias. Defina esse valor como 0 para desabilitar a retenção diária de snapshots.
Os valores são 0, 3, 4, 5, 6, 7, 15, 30, 60, 90, 120, 180, ou 360.
Número de meses que o MongoDB Cloud deve manter snapshots mensais. Defina esse valor como 0 para desabilitar a retenção mensal de snapshots.
Os valores são 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 18, 24 ou 36.
Número de horas antes da hora atual a partir da qual o MongoDB Cloud pode criar um snapshot contínuo de backups em nuvem.
Número de horas que devem passar antes de fazer outro snapshot.
Os valores são 6, 8, 12 ou 24.
Número de dias que o MongoDB Cloud deve manter snapshots recentes.
Os valores são 2, 3, 4 ou 5.
Número de semanas que o MongoDB Cloud deve manter snapshots semanais. Defina esse valor como 0 para desabilitar a retenção semanal de snapshots.
Os valores são 0, 1, 2, 3, 4, 5, 6, 7, 8, 12, 16, 20, 24 ou 52.
atlas api legacyBackup updateClusterSnapshotSchedule --help
import (
"os"
"context"
"log"
sdk "go.mongodb.org/atlas-sdk/v20240805001/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.UpdateGroupClusterSnapshotScheduleApiParams{}
sdkResp, httpResp, err := client.LegacyBackupApi.
UpdateGroupClusterSnapshotScheduleWithParams(ctx, params).
Execute()
}
curl --include --header "Authorization: Bearer ${ACCESS_TOKEN}" \
--header "Accept: application/vnd.atlas.2024-08-05+json" \
--header "Content-Type: application/json" \
-X PATCH "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/snapshotSchedule" \
-d '{ <Payload> }'
curl --user "${PUBLIC_KEY}:${PRIVATE_KEY}" \
--digest --include \
--header "Accept: application/vnd.atlas.2024-08-05+json" \
--header "Content-Type: application/json" \
-X PATCH "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/snapshotSchedule" \
-d '{ <Payload> }'
{
"clusterCheckpointIntervalMin": 15,
"clusterId": "32b6e34b3d91647abb20e7b8",
"dailySnapshotRetentionDays": 0,
"monthlySnapshotRetentionMonths": 0,
"pointInTimeWindowHours": 42,
"snapshotIntervalHours": 6,
"snapshotRetentionDays": 2,
"weeklySnapshotRetentionWeeks": 0
}
{
"clusterCheckpointIntervalMin": 15,
"clusterId": "32b6e34b3d91647abb20e7b8",
"dailySnapshotRetentionDays": 0,
"groupId": "32b6e34b3d91647abb20e7b8",
"links": [
{
"href": "https://cloud.mongodb.com/api/atlas",
"rel": "self"
}
],
"monthlySnapshotRetentionMonths": 0,
"pointInTimeWindowHours": 42,
"snapshotIntervalHours": 6,
"snapshotRetentionDays": 2,
"weeklySnapshotRetentionWeeks": 0
}
{
"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"
}
{
"error": 401,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Unauthorized",
"errorCode": "NOT_ORG_GROUP_CREATOR"
}
{
"error": 403,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Forbidden",
"errorCode": "CANNOT_CHANGE_GROUP_NAME"
}
{
"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"
}
{
"error": 500,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Internal Server Error",
"errorCode": "UNEXPECTED_ERROR"
}