Criar uma função personalizada
Cria uma função personalizada 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 função de proprietário do processamento de fluxo do projeto ou a função de administrador de acesso ao banco de dados do projeto.
parâmetros de caminho
-
Sequência única 24de dí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})$
.
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
Cria uma função personalizada no projeto especificado.
-
Lista das ações de privilégio específicas que a função concede.
ação privilegiada que a função concede.
-
Lista das funções incorporadas que esta função personalizada herda.
Role herdado de outro contexto para este usuário de banco de dados.
-
Rótulo legível por humanos que identifica a função para a solicitação. Este nome deve ser exclusivo para essa função personalizada neste projeto.
curl \
--request POST 'https://cloud.mongodb.com/api/atlas/v1.0/groups/32b6e34b3d91647abb20e7b8/customDBRoles/roles' \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--header "Content-Type: application/json" \
--data '{"actions":[{"action":"FIND","resources":[{"cluster":true,"collection":"string","db":"string"}]}],"inheritedRoles":[{"db":"string","role":"string"}],"roleName":"string"}'
{
"actions": [
{
"action": "FIND",
"resources": [
{
"cluster": true,
"collection": "string",
"db": "string"
}
]
}
],
"inheritedRoles": [
{
"db": "string",
"role": "string"
}
],
"roleName": "string"
}
{
"actions": [
{
"action": "FIND",
"resources": [
{
"cluster": true,
"collection": "string",
"db": "string"
}
]
}
],
"inheritedRoles": [
{
"db": "string",
"role": "string"
}
],
"roleName": "string"
}
{
"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": 409,
"detail": "(This is just an example, the exception may not be related to this endpoint) Cannot delete organization link while there is active migration in following project ids: 60c4fd418ebe251047c50554",
"reason": "Conflict",
"errorCode": "CANNOT_DELETE_ORG_ACTIVE_LIVE_MIGRATION_ATLAS_ORG_LINK"
}
{
"error": 500,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Internal Server Error",
"errorCode": "UNEXPECTED_ERROR"
}