Extraia arquivos de configuração do aplicativo

REMENDO /groups/{groupId}/apps/{appId}/push

Carregue uma nova configuração completa do aplicativo. Esta operação substitui toda a configuração existente do aplicativo.

Aviso: se a configuração do aplicativo incluir referências a um secret, você deverá criar o secret antes de enviar a configuração.

parâmetros de caminho

aplicação/json

corpo, corpo

  • name string Obrigatório

    O nome do aplicativo.

  • provider_region string Obrigatório

    Um dos seguintes:

    Os valores são aws-us-east-1, aws-us-west-2, aws-us-east-2, aws-eu-central-1, aws-eu-west-1, aws-eu-west-2, aws-ap-southeast-1, aws-ap-southeast-2, aws-ap-south-1 ou aws-sa-east-1.

    Os valores são azure-eastus2, azure-westus, azure-westeurope, azure-eastasia ou azure-southeastasia.

    Os valores são gcp-us-central1, gcp-us-east4, gcp-us-west1, gcp-europe-west1 ou gcp-asia-south1.

  • deployment_model string Obrigatório

    Um modelo de implantação de aplicativos.

    Os valores são GLOBAL ou LOCAL.

  • ambiente string

    O ambiente do aplicativo.

    Os valores são development, testing, qa ou production.

  • auth_providers array[objeto] Obrigatório
    Qualquer um dos seguintes:
  • custom_user_data objeto | zero
    Ocultar atributos custom_user_data Mostrar atributos custom_user_data objeto | zero
    • nome do banco de dados string

      O nome do banco de dados que contém dados de usuário personalizados.

    • collection_name string

      O nome da coleção que contém dados de usuário personalizado.

    • user_id_field string

      O nome de um campo que aparece em cada documento de dados de usuário personalizado e que contém o ID da conta de usuário do usuário correspondente de cada documento.

    • habilitado booleano

      Se true, os dados de usuário personalizado estão habilitados.

    • mongo_service_name string Obrigatório

      O nome da fonte de dados vinculada do MongoDB que contém dados personalizados do usuário.

    • on_user_creation_function_name string

      O nome de uma função de criação de usuário que é executada sempre que um novo usuário se registra.

  • data_api_config objeto | zero
    Ocultar atributos data_api_config Mostrar atributos data_api_config objeto | zero
    • desabilitado booleano Obrigatório
    • versões array[string] Obrigatório

      Uma versão compatível da Data API.

      O valor é v1.

    • return_type string Obrigatório

      Um formato de dados compatível com a Data API e endpoints personalizados.

      Os valores são JSON ou EJSON.

    • create_user_on_auth booleano
    • run_as_user_id string

      ID da conta de um usuário do aplicativo. Se definidos, os endpoints sempre serão executados da forma como o usuário especificou.

    • run_as_user_id_script_source string

      Código fonte em string para uma função que retorna o ID da conta de um usuário do aplicativo. Se definidos, os endpoints executam a função em cada solicitação e são executados como o usuário com o ID retornado da função.

    • validation_method string Obrigatório

      Os valores são NO_VALIDATION, SECRET_AS_QUERY_PARAM ou VERIFY_PAYLOAD.

    • secret_name string

      Se validation_method estiver definido como "SECRET_AS_QUERY_PARAM" ou "VERIFY_PAYLOAD", este é o name do Segredo que autoriza as solicitações.

    • can_evaluate objeto

      Uma expressão JSON que avalia para true se um endpoint for permitido ser executado em resposta a uma solicitação recebida.

  • data_sources array[objeto] Obrigatório
    Um dos seguintes:
  • pontos de extremidade array[objeto] Obrigatório
    Ocultar atributos de endpoints Mostrar atributos de endpoints objeto
    • route string Obrigatório
    • http_method string Obrigatório

      Os valores são GET, POST, PUT, PATCH, DELETE ou *.

    • function_id string Obrigatório
    • validation_method string Obrigatório

      Os valores são NO_VALIDATION, SECRET_AS_QUERY_PARAM ou VERIFY_PAYLOAD.

    • secret_id string

      Se validation_method estiver definido como "SECRET_AS_QUERY_PARAM" ou "VERIFY_PAYLOAD", este é o _id do Segredo que autoriza as solicitações.

    • return_type string Obrigatório

      Um formato de dados compatível com a Data API e endpoints personalizados.

      Os valores são JSON ou EJSON.

    • respond_result booleano Obrigatório
    • fetch_custom_user_data booleano
    • create_user_on_auth booleano
    • desabilitado booleano Obrigatório
    • function_name string Obrigatório

      O nome das funções do endpoint.

  • environments objeto Obrigatório
    Ocultar atributo de ambientes Mostrar atributo de ambientes objeto
    • values objeto

      Um objeto que mapeia cada nome de ambiente possível para definições dos valores de ambiente disponíveis nesse ambiente.

      Hide values attributes Mostrar atributos de valores objeto
      • none objeto
        Ocultar atributo nenhum Não mostrar atributo objeto
        • values objeto
      • desenvolvimento objeto
        Ocultar atributo de desenvolvimento Mostrar atributo de desenvolvimento objeto
        • values objeto
      • ensaio objeto
        Ocultar atributo de teste Mostrar atributo de teste objeto
        • values objeto
      • qa objeto
        Hide qa attribute Mostrar atributo qa objeto
        • values objeto
      • produção objeto
        Ocultar atributo de produção Mostrar atributo de produção objeto
        • values objeto
  • functions array[objeto] Obrigatório
    Ocultar atributos de funções Mostrar atributos de funções objeto
    • can_evaluate objeto

      Uma expressão JSON que avalia para true se a função tem permissão para ser executada em resposta a uma solicitação de entrada.

    • name string Obrigatório

      Um nome exclusivo para a função.

    • privado booleano Obrigatório

      Se true, a função estará oculta nos aplicativos de cliente. Você ainda pode chamar uma função privada a partir de expressões JSON e outras funções, incluindo webhooks e triggers de entrada.

    • Fonte string Obrigatório

      O código-fonte em strings para a função. O código deve ser ES6 válido.

    • run_as_system booleano

      Se true, a função executa com privilégios completos, ignorando regras em todos os serviços.

    • run_as_user_id string

      ID da conta de um usuário do aplicativo. Se definidos, os endpoints sempre serão executados da forma como o usuário especificou. Não é possível usar com run_as_user_id_script_source.

    • run_as_user_id_script_source string

      O código-fonte em string para uma função que retorna o ID da conta de um usuário do aplicação . Se definidos, os endpoints executam a função em cada solicitação e são executados como o usuário com o ID retornado da função. Não é possível usar run_as_user_id com.

  • graphql objeto Obrigatório
    Ocultar atributos do GraphQL Mostrar atributos do graphql objeto
    • config objeto Obrigatório
      Ocultar atributos de configuração Mostrar atributos de configuração objeto
      • use_natural_pluralization booleano

        Se true, os nomes de tipo de esquema gerados utilizam a pluralização em inglês comum sempre que possível.

        Se false, ou se uma pluralização natural não pode ser determinada, então os tipos plurais usam o nome do tipo singular com um "s" anexado ao final.

        Você não pode alterar esse valor depois de criar seu aplicativo. Este valor é true para todos os novos aplicativos.

      • disable_schema_introspection booleano

        Se true, a GraphQL API bloqueia consultas de introspecção dos clientes.

    • validation_settings objeto Obrigatório
      Ocultar atributos validation_settings Mostrar atributos validation_settings objeto
      • read_validation_action string

        Os valores são ERROR ou WARN.

      • read_validation_level string

        Os valores são STRICT ou OFF.

      • write_validation_action string

        Os valores são ERROR ou WARN.

      • write_validation_level string

        Os valores são STRICT ou OFF.

    • custom_resolvers array[objeto] Obrigatório
      Ocultar atributos custom_resolvers Mostrar atributos custom_resolvers objeto
      • on_type string Obrigatório

        O nome do tipo principal do resolvedor. Pode ser "Query", "Mutation" ou o nome de um tipo gerado se essa for uma propriedade computada.

      • field_name string Obrigatório

        O nome do campo do resolvedor personalizado que aparece no esquema GraphQL.

      • input_type corda | objeto

        O tipo do parâmetro input do resolvedor personalizado. Pode ser um escalar, o nome de um tipo gerado existente ou um objeto de JSON schema personalizado. Se indefinido, o resolvedor não aceita uma entrada.

      • input_type_format string

        O tipo de entrada que o resolvedor personalizado usa. Este valor deve corresponder ao valor de input_type:

        • Um tipo de entrada escalar deve usar "scalar" ou "scalar-list"
        • Um tipo de entrada gerado deve utilizar "generated" ou "generated-list"
        • Um tipo de entrada personalizado deve usar "custom"

        Se indefinido, o resolvedor não aceita uma entrada.

        Os valores são scalar, scalar-list, generated, generated-list ou custom.

      • payload_type corda | objeto

        O tipo do valor retornado pelo resolvedor personalizado. Pode ser um escalar, o nome de um tipo gerado existente ou um objeto de JSON schema personalizado.

        Se indefinido, o resolvedor retornará um objeto DefaultPayload:

        type DefaultPayload {
          status: String!
        }
        
      • payload_type_format string

        O tipo de carga útil que o resolvedor personalizado usa. Esse valor deve estar de acordo com o valor de payload_type:

        • Um tipo de carga escalar deve usar "scalar" ou "scalar-list"
        • Um tipo de carga útil gerado deve usar "generated" ou "generated-list"
        • Um tipo de carga útil personalizado deve usar "custom"

        Se indefinido, o resolvedor retorna um objeto DefaultPayload.

        Os valores são scalar, scalar-list, generated, generated-list ou custom.

      • function_name string Obrigatório

        O nome da função do resolvedor.

  • hosting objeto Obrigatório
    Ocultar atributos de hospedagem Mostrar atributos de hospedagem objeto
    • habilitado booleano Obrigatório
    • custom_domain string
    • default_error_path string
    • default_error_code string
  • https_endpoints array[objeto] Obrigatório

    [Obsoleto] Uma lista de serviços HTTP legados. Apenas para compatibilidade com versões anteriores.

    Ocultar atributos https_endpoints Mostrar atributos https_endpoints objeto
    • name string

      O nome do serviço.

    • type string

      O tipo do serviço.

      Os valores são aws, twilio, github, gcm ou http.

    • incoming_webhooks array[objeto]
      Ocultar atributos recebidas_webhooks Mostrar atributos embedded_webhooks objeto
      • name string Obrigatório
      • function_source string Obrigatório
      • respond_result booleano Obrigatório
      • opções objeto
        Ocultar atributos de opções Mostrar atributos de opções objeto
        • segredo string
        • secretAsQueryParam booleano
    • Versão inteiro
  • log_forwarders array[objeto] Obrigatório
    Ocultar atributos log_forwarders Mostrar atributos do log_forwarders objeto
    • name string Obrigatório
    • desabilitado booleano Obrigatório
    • log_types array[string] Obrigatório

      Os valores são auth, endpoint, function, graphql, push, schema, service, sync, trigger ou trigger_error_handler.

    • log_statuses array[string] Obrigatório

      Os valores são error ou success.

    • política objeto Obrigatório
      Ocultar atributo da política Mostrar atributo da política objeto
      • type string

        Os valores são single ou batch.

    • ação objeto Obrigatório
      Ocultar atributos de ação Mostrar atributos de ação objeto
      • type string

        Os valores são collection ou function.

      • name string
      • data_source string
      • database string
      • collection string
  • schemas array[objeto] Obrigatório
    Ocultar atributos de esquemas Mostrar atributos de esquemas objeto
    • metadata objeto

      Metadados que descrevem a qual coleção vinculada o esquema se aplica.

      Hide metadata attributes Mostrar atributos de metadados objeto
      • data_source string

        O nome da fonte de dados .

      • database string

        O nome do banco de dados.

      • collection string

        O nome da collection.

    • schema objeto

      Um esquema válido para a coleção.

      Ocultar atributos de esquema Mostrar atributos do esquema objeto
      • bsonType string

        O tipo de BSON do campo.

        Os valores são object, array, string, number, int, long, double, decimal, date, timestamp, bool, null, regex, objectId, binary, uuid, function, javascript, symbol, minKey ou maxKey.

      • title string

        Um título legível por humanos para o esquema.

      • necessário array[string]

        Para esquemas object, uma array de nomes de campo necessários em instâncias do objeto.

      • properties objeto

        Um objeto onde cada nome de campo é uma propriedade no esquema. O valor correspondente é uma definição de esquema para esse campo.

        Ocultar atributo de propriedades Mostrar atributo de propriedades objeto
        • * objeto

          Um esquema válido para a coleção.

    • relationships objeto

      Relacionamentos com collection externas. Cada nome de campo é uma propriedade no esquema. O valor correspondente é uma definição de relacionamento para esse campo.

      Ocultar atributo de relacionamentos Mostrar atributo de relacionamentos objeto
      • * objeto Propriedades adicionais
        Ocultar atributos * Mostrar atributos * objeto
        • ref string

          Uma string de referência para a collection estrangeira.

        • foreign_key string

          O nome do campo na collection externa para a qual o relacionamento aponta.

        • is_list booleano

          Se true:

          • o relacionamento pode ponto para muitos documentos estrangeiros.
          • o campo local deve ser definido como uma array no esquema de coleção.
  • Serviços array[objeto] Obrigatório

    [Obsoleto] Uma lista de serviços de terceiros não HTTP legados. Apenas para compatibilidade com versões anteriores.

    Ocultar atributos de serviços Mostrar atributos de serviços objeto
    • name string

      O nome do serviço.

    • type string

      O tipo do serviço.

      Os valores são aws, twilio, github, gcm ou http.

    • incoming_webhooks array[objeto]
      Ocultar atributos recebidas_webhooks Mostrar atributos embedded_webhooks objeto
      • name string Obrigatório
      • function_source string Obrigatório
      • respond_result booleano Obrigatório
      • opções objeto
        Ocultar atributos de opções Mostrar atributos de opções objeto
        • segredo string
        • secretAsQueryParam booleano
    • Versão inteiro
  • sincronizar objeto Obrigatório
    Ocultar atributos de sincronização Mostrar atributos de sincronização objeto
    • state string Obrigatório

      O estado do serviço de sincronização ("enabled", "disabled" ou vazio se a Sincronização não estiver configurada).

    • nome do banco de dados string

      O nome de um banco de dados no cluster sincronizado em que o App Services armazena dados no modo de desenvolvimento. O App Services gera automaticamente um esquema para cada tipo sincronizado e mapeia cada tipo de objeto para uma collection no banco de dados.

    • queryable_fields_names array[string]

      Uma array de nomes de campo de query em qualquer coleção.

    • indexed_queryable_fields_names array[string]

      Uma lista de nomes de campo a serem usados como o campo de query indexado. Embora essa propriedade seja uma array, a Sync atualmente permite apenas um campo de query indexado. Portanto, essa array pode conter no máximo um elemento.

      O campo de query indexado deve estar presente no esquema e ser do mesmo tipo de campo elegível em todas as coleções que você sincronizar. O nome do campo de query indexado também deve aparecer no queryable_fields_names pois este é um campo de query global.

    • collection_queryable_fields_names objeto

      Uma array de nomes de campo de query na collection especificada.

      Ocultar atributo collection_queryable_fields_names Mostrar atributo collection_queryable_fields_names objeto
      • * objeto Propriedades adicionais
        Ocultar atributo * Mostrar atributo * objeto
        • * string Propriedades adicionais

          O nome do campo de query.

    • Permissões objeto

      Obsoleto(a)

    • last_disabled string

      A última vez que a sincronização foi desativada, representada pelo número de segundos desde o UNIX epoch.

    • client_max_offline_days inteiro

      O número de dias em que o cliente pode ficar offline antes que o reinício do cliente seja necessário.

    • is_recovery_mode_disabled booleano

      Especifica se o modo de reinício do cliente está desabilitado. Por padrão, o modo de reinício do cliente está habilitado e esse valor false é.

    • asymmetric_tables array[string]

      Uma array dos nomes das collections definidas como assimétricas com a ingestão de dados , nas quais os clientes podem gravar dados, mas não ler.

  • triggers array[objeto] Obrigatório
    Um dos seguintes:
  • values array[objeto] Obrigatório
    Hide values attributes Mostrar atributos de valores objeto
    • name string Obrigatório
    • privado booleano Obrigatório
    • from_secret booleano Obrigatório

      trueSe, o valor é uma referência por nome a um Segredo.

Respostas

  • 204

    Push bem-sucedido

  • 400

    Solicitação inválida

  • 500

    Erro ao extrair a configuração

PATCH /groups/{groupId}/apps/{appId}/push
curl \
 --request PATCH 'https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/push' \
 --header "Authorization: Bearer $ACCESS_TOKEN" \
 --header "Content-Type: application/json" \
 --data '{"name":"string","":"aws-us-east-1","deployment_model":"GLOBAL","environment":"production","auth_providers":[{"name":"anon-user","type":"anon-user","disabled":true}],"custom_user_data":{"database_name":"myapp","collection_name":"users","user_id_field":"user_account_id","enabled":true,"mongo_service_name":"mongodb-atlas","on_user_creation_function_name":"myFunction"},"data_api_config":{"disabled":true,"versions":["v1"],"return_type":"JSON","create_user_on_auth":true,"run_as_user_id":"string","run_as_user_id_script_source":"string","validation_method":"NO_VALIDATION","secret_name":"string","can_evaluate":{}},"data_sources":[{"name":"string","type":"string","config":{"clusterName":"Cluster0","readPreference":"primary","readPreferenceTagSets":["server1"],"wireProtocolEnabled":true},"default_rule":{"roles":[{"document_filters":{"":{}},"name":"string","":{},"fields":{},"additional_fields":{"":{}}}],"filters":[{"name":"string","":{},"query":{},"projection":{"additionalProperty1":0,"additionalProperty2":0}}]},"rules":[{"database":"string","collection":"string","roles":[{"document_filters":{"":{}},"name":"string","":{},"fields":{},"additional_fields":{"":{}}}],"filters":[{"name":"string","":{},"query":{},"projection":{"additionalProperty1":0,"additionalProperty2":0}}]}]}],"endpoints":[{"route":"string","http_method":"GET","function_id":"string","validation_method":"NO_VALIDATION","secret_id":"string","return_type":"JSON","respond_result":true,"fetch_custom_user_data":true,"create_user_on_auth":true,"disabled":true,"function_name":"string"}],"environments":{"values":{"none":{"values":{}},"development":{"values":{}},"testing":{"values":{}},"qa":{"values":{}},"production":{"values":{}}}},"functions":[{"can_evaluate":{},"name":"string","private":true,"source":"string","run_as_system":true,"run_as_user_id":"string","run_as_user_id_script_source":"string"}],"graphql":{"config":{"use_natural_pluralization":true,"disable_schema_introspection":true},"validation_settings":{"read_validation_action":"ERROR","read_validation_level":"STRICT","write_validation_action":"ERROR","write_validation_level":"STRICT"},"custom_resolvers":[{"on_type":"string","field_name":"string","input_type":"string","input_type_format":"scalar","payload_type":"string","payload_type_format":"scalar","function_name":"string"}]},"hosting":{"enabled":true,"custom_domain":"example.com","default_error_path":"/404.html","default_error_code":"404"},"https_endpoints":[{"name":"string","type":"aws","incoming_webhooks":[{"name":"string","function_source":"string","respond_result":true,"options":{"secret":"string","secretAsQueryParam":true}}],"version":42}],"log_forwarders":[{"name":"string","disabled":true,"log_types":["auth"],"log_statuses":["error"],"policy":{"type":"single"},"action":{"type":"collection","name":"string","data_source":"string","database":"string","collection":"string"}}],"schemas":[{"metadata":{"data_source":"string","database":"string","collection":"string"},"schema":{"bsonType":"object","title":"string","required":["string"],"properties":{"*":{}}},"relationships":{"additionalProperty1":{"ref":"string","foreign_key":"string","is_list":true},"additionalProperty2":{"ref":"string","foreign_key":"string","is_list":true}}}],"services":[{"name":"string","type":"aws","incoming_webhooks":[{"name":"string","function_source":"string","respond_result":true,"options":{"secret":"string","secretAsQueryParam":true}}],"version":42}],"sync":{"state":"string","database_name":"string","queryable_fields_names":["string"],"indexed_queryable_fields_names":["string"],"collection_queryable_fields_names":{"additionalProperty1":{"additionalProperty1":"string","additionalProperty2":"string"},"additionalProperty2":{"additionalProperty1":"string","additionalProperty2":"string"}},"permissions":{},"last_disabled":"string","client_max_offline_days":42,"is_recovery_mode_disabled":true,"asymmetric_tables":["string"]},"triggers":[{"name":"onNewEmployee","type":"DATABASE","config":{"match":{},"project":{},"database":"HR","collection":"employees","service_id":"5adeb649b8b998486770ae7c","full_document":true,"operation_types":["INSERT"]},"function_id":"5eea9ca4ca0e356e2c2a148a","event_processors":{"FUNCTION":{"config":{"function_id":"6841b8d3e71dc81bed89dbba","function_name":"Atlas_Triggers_DatabaseInsert_1749137618"}}}}],"values":[{"name":"string","private":true,"from_secret":true}]}'
Exemplos de solicitação
{
  "name": "string",
  "": "aws-us-east-1",
  "deployment_model": "GLOBAL",
  "environment": "production",
  "auth_providers": [
    {
      "name": "anon-user",
      "type": "anon-user",
      "disabled": true
    }
  ],
  "custom_user_data": {
    "database_name": "myapp",
    "collection_name": "users",
    "user_id_field": "user_account_id",
    "enabled": true,
    "mongo_service_name": "mongodb-atlas",
    "on_user_creation_function_name": "myFunction"
  },
  "data_api_config": {
    "disabled": true,
    "versions": [
      "v1"
    ],
    "return_type": "JSON",
    "create_user_on_auth": true,
    "run_as_user_id": "string",
    "run_as_user_id_script_source": "string",
    "validation_method": "NO_VALIDATION",
    "secret_name": "string",
    "can_evaluate": {}
  },
  "data_sources": [
    {
      "name": "string",
      "type": "string",
      "config": {
        "clusterName": "Cluster0",
        "readPreference": "primary",
        "readPreferenceTagSets": [
          "server1"
        ],
        "wireProtocolEnabled": true
      },
      "default_rule": {
        "roles": [
          {
            "document_filters": {
              "": {}
            },
            "name": "string",
            "": {},
            "fields": {},
            "additional_fields": {
              "": {}
            }
          }
        ],
        "filters": [
          {
            "name": "string",
            "": {},
            "query": {},
            "projection": {
              "additionalProperty1": 0,
              "additionalProperty2": 0
            }
          }
        ]
      },
      "rules": [
        {
          "database": "string",
          "collection": "string",
          "roles": [
            {
              "document_filters": {
                "": {}
              },
              "name": "string",
              "": {},
              "fields": {},
              "additional_fields": {
                "": {}
              }
            }
          ],
          "filters": [
            {
              "name": "string",
              "": {},
              "query": {},
              "projection": {
                "additionalProperty1": 0,
                "additionalProperty2": 0
              }
            }
          ]
        }
      ]
    }
  ],
  "endpoints": [
    {
      "route": "string",
      "http_method": "GET",
      "function_id": "string",
      "validation_method": "NO_VALIDATION",
      "secret_id": "string",
      "return_type": "JSON",
      "respond_result": true,
      "fetch_custom_user_data": true,
      "create_user_on_auth": true,
      "disabled": true,
      "function_name": "string"
    }
  ],
  "environments": {
    "values": {
      "none": {
        "values": {}
      },
      "development": {
        "values": {}
      },
      "testing": {
        "values": {}
      },
      "qa": {
        "values": {}
      },
      "production": {
        "values": {}
      }
    }
  },
  "functions": [
    {
      "can_evaluate": {},
      "name": "string",
      "private": true,
      "source": "string",
      "run_as_system": true,
      "run_as_user_id": "string",
      "run_as_user_id_script_source": "string"
    }
  ],
  "graphql": {
    "config": {
      "use_natural_pluralization": true,
      "disable_schema_introspection": true
    },
    "validation_settings": {
      "read_validation_action": "ERROR",
      "read_validation_level": "STRICT",
      "write_validation_action": "ERROR",
      "write_validation_level": "STRICT"
    },
    "custom_resolvers": [
      {
        "on_type": "string",
        "field_name": "string",
        "input_type": "string",
        "input_type_format": "scalar",
        "payload_type": "string",
        "payload_type_format": "scalar",
        "function_name": "string"
      }
    ]
  },
  "hosting": {
    "enabled": true,
    "custom_domain": "example.com",
    "default_error_path": "/404.html",
    "default_error_code": "404"
  },
  "https_endpoints": [
    {
      "name": "string",
      "type": "aws",
      "incoming_webhooks": [
        {
          "name": "string",
          "function_source": "string",
          "respond_result": true,
          "options": {
            "secret": "string",
            "secretAsQueryParam": true
          }
        }
      ],
      "version": 42
    }
  ],
  "log_forwarders": [
    {
      "name": "string",
      "disabled": true,
      "log_types": [
        "auth"
      ],
      "log_statuses": [
        "error"
      ],
      "policy": {
        "type": "single"
      },
      "action": {
        "type": "collection",
        "name": "string",
        "data_source": "string",
        "database": "string",
        "collection": "string"
      }
    }
  ],
  "schemas": [
    {
      "metadata": {
        "data_source": "string",
        "database": "string",
        "collection": "string"
      },
      "schema": {
        "bsonType": "object",
        "title": "string",
        "required": [
          "string"
        ],
        "properties": {
          "*": {}
        }
      },
      "relationships": {
        "additionalProperty1": {
          "ref": "string",
          "foreign_key": "string",
          "is_list": true
        },
        "additionalProperty2": {
          "ref": "string",
          "foreign_key": "string",
          "is_list": true
        }
      }
    }
  ],
  "services": [
    {
      "name": "string",
      "type": "aws",
      "incoming_webhooks": [
        {
          "name": "string",
          "function_source": "string",
          "respond_result": true,
          "options": {
            "secret": "string",
            "secretAsQueryParam": true
          }
        }
      ],
      "version": 42
    }
  ],
  "sync": {
    "state": "string",
    "database_name": "string",
    "queryable_fields_names": [
      "string"
    ],
    "indexed_queryable_fields_names": [
      "string"
    ],
    "collection_queryable_fields_names": {
      "additionalProperty1": {
        "additionalProperty1": "string",
        "additionalProperty2": "string"
      },
      "additionalProperty2": {
        "additionalProperty1": "string",
        "additionalProperty2": "string"
      }
    },
    "permissions": {},
    "last_disabled": "string",
    "client_max_offline_days": 42,
    "is_recovery_mode_disabled": true,
    "asymmetric_tables": [
      "string"
    ]
  },
  "triggers": [
    {
      "name": "onNewEmployee",
      "type": "DATABASE",
      "config": {
        "match": {},
        "project": {},
        "database": "HR",
        "collection": "employees",
        "service_id": "5adeb649b8b998486770ae7c",
        "full_document": true,
        "operation_types": [
          "INSERT"
        ]
      },
      "function_id": "5eea9ca4ca0e356e2c2a148a",
      "event_processors": {
        "FUNCTION": {
          "config": {
            "function_id": "6841b8d3e71dc81bed89dbba",
            "function_name": "Atlas_Triggers_DatabaseInsert_1749137618"
          }
        }
      }
    }
  ],
  "values": [
    {
      "name": "string",
      "private": true,
      "from_secret": true
    }
  ]
}