Atualizar agendamento de snapshot para um cluster
          
    Obsoleto(a)
 
        
        
        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.
parâmetros de caminho
- 
    
  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-]*$.
parâmetros de query
- 
    
  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.Prettyprint 
      
  
    
  
        corpo, corpo
      
    Obrigatório
 
    
    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,30ou60.
- 
    
  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 0para desabilitar a retenção diária de snapshots.Os valores são 0,3,4,5,6,7,15,30,60,90,120,180, ou360.
- 
    
  Número de meses que o MongoDB Cloud deve manter snapshots mensais. Defina esse valor como 0para 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,24ou36.
- 
    
  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,12ou24.
- 
    
  Número de dias que o MongoDB Cloud deve manter snapshots recentes. Os valores são 2,3,4ou5.
- 
    
  Número de semanas que o MongoDB Cloud deve manter snapshots semanais. Defina esse valor como 0para desabilitar a retenção semanal de snapshots.Os valores são 0,1,2,3,4,5,6,7,8,12,16,20,24ou52.
atlas api legacyBackup updateClusterSnapshotSchedule --helpimport (
	"os"
	"context"
	"log"
	sdk "go.mongodb.org/atlas-sdk/v20230101001/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.2023-01-01+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.2023-01-01+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"
}