앱 구성 파일 푸시하기

패치 /groups/{groupId}/apps/{appId}/push

새로운 전체 앱 구성을 업로드합니다. 이 작업은 기존 앱 구성 전체를 덮어씁니다.

참고: 앱 구성에 시크릿에 대한 참조가 포함되어 있는 경우 구성을 푸시하기 전에 시크릿을 생성해야 합니다.

경로 매개변수

application/json

body

  • 이름 문자열 필수 사항

    앱의 이름입니다.

  • provider_region 문자열 필수 사항

    다음 중 하나입니다.

    값은 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 또는 aws-sa-east-1입니다.

    값은 azure-eastus2, azure-westus, azure-westeurope, azure-eastasia 또는 azure-southeastasia입니다.

    값은 gcp-us-central1, gcp-us-east4, gcp-us-west1, gcp-europe-west1 또는 gcp-asia-south1입니다.

  • deployment_model 문자열 필수 사항

    애플리케이션 배포 모델입니다.

    값은 GLOBAL 또는 LOCAL입니다.

  • 환경 문자열

    애플리케이션의 환경입니다.

    값은 development, testing, qa 또는 production입니다.

  • auth_providers 배열[객체] 필수 사항
    다음 중 하나:
  • custom_user_data 객체 | null
    custom_user_data 속성 숨기기 custom_user_data 속성 표시 객체 | null
    • database_name 문자열

      사용자 지정 사용자 데이터가 포함된 데이터베이스의 이름입니다.

    • collection_name 문자열

      사용자 지정 사용자 데이터가 포함된 컬렉션의 이름입니다.

    • user_id_field 문자열

      모든 사용자 지정 사용자 데이터 문서에 표시되고 각 문서에 해당하는 사용자의 사용자 계정 ID를 포함하는 필드의 이름입니다.

    • 활성화됨 부울

      true인 경우 사용자 지정 사용자 데이터가 활성화됩니다.

    • mongo_service_name 문자열 필수 사항

      사용자 지정 사용자 데이터 포함된 연결된 MongoDB 데이터 소스 의 이름입니다.

    • on_user_creation_function_name 문자열
  • data_api_config 객체 | null
    data_api_config 속성 숨기기 data_api_config 속성 표시 객체 | null
    • 비활성화 부울 필수 사항
    • versions array[string] 필수 사항

      데이터 API 의 지원되는 버전입니다.

      값은 v1입니다.

    • return_type 문자열 필수 사항

      데이터 API 및 사용자 지정 엔드포인트에서 지원하는 데이터 형식입니다.

      값은 JSON 또는 EJSON입니다.

    • create_user_on_auth 부울
    • run_as_user_id 문자열

      애플리케이션 사용자의 계정 ID. 정의된 경우 엔드포인트는 항상 지정된 사용자로 실행됩니다.

    • run_as_user_id_script_source 문자열

      애플리케이션 사용자의 계정 ID를 반환하는 함수에 대한 문자열화된 소스 코드입니다. 정의된 경우 엔드포인트는 모든 요청에서 함수를 실행하고 함수에서 반환된 ID를 가진 사용자로 실행됩니다.

    • validation_method 문자열 필수 사항

      값은 NO_VALIDATION, SECRET_AS_QUERY_PARAM 또는 VERIFY_PAYLOAD입니다.

    • secret_name 문자열

      validation_method"SECRET_AS_QUERY_PARAM" 또는 "VERIFY_PAYLOAD"로 설정된 경우 요청을 승인하는 시크릿name 니다.

    • can_evaluate 객체

      수신 요청에 대한 응답으로 엔드포인트의 실행이 허용되는 경우 true로 평가되는 JSON 표현식입니다.

  • data_sources 배열[객체] 필수 사항
    다음 중 하나입니다.
  • 엔드포인트 배열[객체] 필수 사항
    엔드포인트 속성 숨기기 엔드포인트 속성 표시 객체
    • 루트 문자열 필수 사항
    • http_method 문자열 필수 사항

      값은 GET, POST, PUT, PATCH, DELETE 또는 *입니다.

    • function_id 문자열 필수 사항
    • validation_method 문자열 필수 사항

      값은 NO_VALIDATION, SECRET_AS_QUERY_PARAM 또는 VERIFY_PAYLOAD입니다.

    • secret_id 문자열

      validation_method"SECRET_AS_QUERY_PARAM" 또는 "VERIFY_PAYLOAD"로 설정된 경우 요청을 승인하는 시크릿_id 니다.

    • return_type 문자열 필수 사항

      데이터 API 및 사용자 지정 엔드포인트에서 지원하는 데이터 형식입니다.

      값은 JSON 또는 EJSON입니다.

    • respond_result 부울 필수 사항
    • fetch_custom_user_data 부울
    • create_user_on_auth 부울
    • 비활성화 부울 필수 사항
    • function_name 문자열 필수 사항

      엔드포인트 함수의 이름입니다.

  • 환경 객체 필수 사항
    환경 속성 숨기기 환경 속성 표시 객체
    • values 객체

      가능한 각 환경 이름을 해당 환경에서 사용 가능한 환경 값의 정의에 매핑하는 객체 입니다.

      Hide values attributes 값 속성 표시 객체
      • none 객체
        속성 숨기기 속성 표시 없음 객체
        • values 객체
      • 개발 객체
        개발 속성 숨기기 개발 속성 표시 객체
        • values 객체
      • 테스트 객체
        테스트 속성 숨기기 테스트 속성 표시 객체
        • values 객체
      • qa 객체
        Hide qa attribute qa 속성 표시 객체
        • values 객체
      • 프로덕션 객체
        프로덕션 속성 숨기기 프로덕션 속성 표시 객체
        • values 객체
  • 함수 배열[객체] 필수 사항
    함수 속성 숨기기 함수 속성 표시 객체
    • can_evaluate 객체

      수신 요청에 대한 응답으로 함수의 실행이 허용되는 경 true로 평가되는 JSON 표현식입니다.

    • 이름 문자열 필수 사항

      함수의 고유 이름입니다.

    • 비공개 부울 필수 사항

      true인 경우 클라이언트 애플리케이션에서 함수가 숨겨집니다. JSON 표현식 및 수신 웹훅 및 트리거를 포함한 다른 함수에서 비공개 함수를 계속 호출할 수 있습니다.

    • source 문자열 필수 사항

      함수의 문자열화된 소스 코드입니다. 코드는 유효한 ES6여야 합니다.

    • run_as_system 부울

      true인 경우 함수가 모든 서비스에 대한 규칙을 우회하여 전체 권한으로 실행됩니다.

    • run_as_user_id 문자열

      애플리케이션 사용자의 계정 ID입니다. 정의된 경우 엔드포인트는 항상 지정된 사용자로 실행됩니다. run_as_user_id_script_source와 함께 사용할 수 없습니다.

    • run_as_user_id_script_source 문자열

      애플리케이션 사용자의 계정 ID 반환하는 함수 의 문자열화된 소스 코드 . 정의된 경우 엔드포인트는 모든 요청 에서 함수를 실행하고 함수에서 반환된 ID 가진 사용자로 실행 . run_as_user_id와 함께 사용할 수 없습니다.

  • GraphQL 객체 필수 사항
    GraphQL 속성 숨기기 GraphQL 속성 표시 객체
    • config 객체 필수 사항
      구성 속성 숨기기 구성 속성 표시 객체
      • use_natural_pluralization 부울

        true인 경우 생성된 스키마 유형 이름은 가능할 때마다 일반적인 영어 복수형을 사용합니다.

        false인 경우 또는 자연 복수형을 결정할 수 없는 경우 복수 유형은 끝에 "s"가 추가된 단수 유형 이름을 사용합니다.

        앱을 생성한 후에는 이 값을 변경할 수 없습니다. 모든 새 앱의 경우 이 값은 true입니다.

      • disable_schema_introspection 부울

        true인 경우 GraphQL API는 클라이언트의 인트로스펙션 쿼리를 차단합니다.

    • validation_settings 객체 필수 사항
      validation_settings 속성 숨기기 validation_settings 속성 표시 객체
      • read_validation_action 문자열

        값은 ERROR 또는 WARN입니다.

      • read_validation_level 문자열

        값은 STRICT 또는 OFF입니다.

      • write_validation_action 문자열

        값은 ERROR 또는 WARN입니다.

      • write_validation_level 문자열

        값은 STRICT 또는 OFF입니다.

    • custom_resolvers 배열[객체] 필수 사항
      custom_resolvers 속성 숨기기 custom_resolvers 속성 표시 객체
      • on_type 문자열 필수 사항

        해석기의 상위 유형 이름입니다. "Query", "Mutation" 또는 계산된 속성인 경우 생성된 유형의 이름일 수 있습니다.

      • field_name 문자열 필수 사항

        GraphQL 스키마에 표시되는 사용자 지정 해석기 필드의 이름입니다.

      • input_type 문자열 | 객체

        사용자 지정 해석기의 input 매개변수의 유형입니다. 이는 스칼라, 기존에 생성된 유형의 이름 또는 사용자 지정 JSON schema 객체일 수 있습니다. 정의되지 않은 경우 해석기는 입력을 허용하지 않습니다.

      • input_type_format 문자열

        사용자 지정 해석기가 사용하는 입력 유형의 종류입니다. 이 값은 input_type의 값과 일치해야 합니다.

        • 스칼라 입력 유형은 "scalar" 또는 "scalar-list"를 사용해야 합니다.
        • 생성된 입력 유형은 "generated" 또는 "generated-list"를 사용해야 합니다.
        • 사용자 지정 입력 유형은 다음을 사용해야 합니다. "custom"

        정의되지 않은 경우 해석기는 입력을 허용하지 않습니다.

        값은 scalar, scalar-list, generated, generated-list 또는 custom입니다.

      • payload_type 문자열 | 객체

        사용자 지정 해석기가 반환하는 값의 유형입니다. 이는 스칼라, 기존에 생성된 유형의 이름 또는 사용자 지정 JSON schema 객체일 수 있습니다.

        정의되지 않은 경우 해석기는 DefaultPayload 객체를 반환합니다.

        type DefaultPayload {
          status: String!
        }
        
      • payload_type_format 문자열

        사용자 지정 해석기가 사용하는 페이로드 유형의 종류입니다. 이 값은 payload_type의 값과 일치해야 합니다.

        • 스칼라 페이로드 유형은 "scalar" 또는 "scalar-list"를 사용해야 합니다.
        • 생성된 페이로드 유형은 "generated" 또는 "generated-list"를 사용해야 합니다.
        • 사용자 지정 페이로드 유형은 다음을 사용해야 합니다. "custom"

        정의되지 않은 경우 해석기는 DefaultPayload 객체를 반환합니다.

        값은 scalar, scalar-list, generated, generated-list 또는 custom입니다.

      • function_name 문자열 필수 사항

        리졸버 함수의 이름입니다.

  • 호스팅 객체 필수 사항
    호스팅 속성 숨기기 호스팅 속성 표시 객체
    • 활성화됨 부울 필수 사항
    • custom_domain 문자열
    • default_error_path 문자열
    • default_error_code 문자열
  • https_endpoints 배열[객체] 필수 사항

    [더 이상 사용되지 않음] 레거시 HTTP 서비스 목록입니다. 이는 이전 버전과의 호환성을 위한 용도로만 사용됩니다.

    https_endpoints 속성 숨기기 https_endpoints 속성 표시 객체
    • 이름 문자열

      서비스 이름입니다.

    • 유형 문자열

      서비스 유형입니다.

      값은 aws, twilio, github, gcm 또는 http입니다.

    • incoming_webhooks 배열[객체]
      Incoming_webhooks 속성 숨기기 Incoming_webhooks 속성 표시 객체
      • 이름 문자열 필수 사항
      • function_source 문자열 필수 사항
      • respond_result 부울 필수 사항
      • 옵션 객체
        옵션 속성 숨기기 옵션 속성 표시 객체
        • 비밀 문자열
        • secretAsQueryParam 부울
    • 버전 integer
  • log_forwarders 배열[객체] 필수 사항
    log_forwarders 속성 숨기기 log_forwarders 속성 표시 객체
    • 이름 문자열 필수 사항
    • 비활성화 부울 필수 사항
    • log_types array[string] 필수 사항

      값은 auth, endpoint, function, graphql, push, schema, service, sync, trigger 또는 trigger_error_handler입니다.

    • log_statuses array[string] 필수 사항

      값은 error 또는 success입니다.

    • 정책 객체 필수 사항
      정책 속성 숨기기 정책 속성 표시 객체
      • 유형 문자열

        값은 single 또는 batch입니다.

    • 조치 객체 필수 사항
      조치 속성 숨기기 조치 속성 표시 객체
      • 유형 문자열

        값은 collection 또는 function입니다.

      • 이름 문자열
      • data_source 문자열
      • database 문자열
      • 컬렉션 문자열
  • schemas 배열[객체] 필수 사항
    스키마 속성 숨기기 스키마 속성 표시 객체
    • metadata 객체

      메타데이터는 스키마가 적용되는 연결된 컬렉션을 설명합니다.

      Hide metadata attributes 메타데이터 속성 표시 객체
      • data_source 문자열

        데이터 소스 이름입니다.

      • database 문자열

        데이터베이스 이름입니다.

      • 컬렉션 문자열

        컬렉션 이름입니다.

    • 스키마 객체

      컬렉션의 유효한 스키마입니다.

      스키마 속성 숨기기 스키마 속성 표시 객체
      • bsonType 문자열

        필드의 BSON types 입니다.

        값은 object, array, string, number, int, long, double, decimal, date, timestamp, bool, null, regex, objectId, binary, uuid, function, javascript, symbol, minKey 또는 maxKey.

      • 제목 문자열

        사람이 읽을 수 있는 스키마 제목입니다.

      • 필수 array[string]

        object 스키마의 경우 객체 인스턴스에 필요한 필드 이름의 배열 .

      • 속성 객체

        각 필드 이름이 스키마 의 속성 객체 입니다. 해당 값은 해당 필드에 대한 스키마 정의입니다.

        속성 속성 숨기기 속성 속성 표시 객체
        • * 객체

          컬렉션의 유효한 스키마입니다.

    • 관계 객체

      외부 컬렉션과의 관계입니다. 각 필드 이름은 스키마의 속성입니다. 해당 값은 해당 필드에 대한 관계 정의입니다.

      관계 속성 숨기기 관계 속성 표시 객체
      • * 객체 additionalProperties

        관계 정의입니다.

        * 속성 숨기기 * 속성 표시 객체
        • ref 문자열

          외부 컬렉션 에 대한 참조 문자열입니다.

        • foreign_key 문자열

          관계 가 가리키는 외부 컬렉션 에 있는 필드 의 이름입니다.

        • is_list 부울

          true인 경우:

          • 관계 많은 외부 문서를 점 수 있습니다.
          • 로컬 필드 컬렉션 스키마 에서 배열 로 정의되어야 합니다.
  • 서비스 배열[객체] 필수 사항

    [더 이상 사용되지 않음] 레거시 타사 비 HTTP 서비스 목록입니다. 이는 이전 버전과의 호환성을 위한 용도로만 사용됩니다.

    서비스 속성 숨기기 서비스 속성 표시 객체
    • 이름 문자열

      서비스 이름입니다.

    • 유형 문자열

      서비스 유형입니다.

      값은 aws, twilio, github, gcm 또는 http입니다.

    • incoming_webhooks 배열[객체]
      Incoming_webhooks 속성 숨기기 Incoming_webhooks 속성 표시 객체
      • 이름 문자열 필수 사항
      • function_source 문자열 필수 사항
      • respond_result 부울 필수 사항
      • 옵션 객체
        옵션 속성 숨기기 옵션 속성 표시 객체
        • 비밀 문자열
        • secretAsQueryParam 부울
    • 버전 integer
  • 동기화 객체 필수 사항
    동기화 속성 숨기기 동기화 속성 표시 객체
    • 상태 문자열 필수 사항

      동기화 서비스의 상태 ("enabled", "disabled" 또는 동기화가 구성되지 않은 경우 비어 있음)입니다.

    • database_name 문자열

      App Services가 개발 모드에서 데이터를 저장하는 동기화된 클러스터의 데이터베이스 이름입니다. App Services는 동기화된 각 유형에 대한 스키마를 자동으로 생성하고 각 객체 유형을 데이터베이스 내의 컬렉션에 매핑합니다.

    • queryable_fields_names array[string]

      컬렉션 에 있는 쿼리 가능 필드 이름의 배열 .

    • indexed_queryable_fields_names array[string]

      인덱싱된 쿼리 가능 필드로 사용할 필드 이름 목록입니다. 이 속성 은 배열 이지만 Sync는 현재 인덱싱된 쿼리 가능 필드 하나만 지원합니다. 따라서 이 배열 최대 하나의 요소만 포함될 수 있습니다.

      인덱싱된 쿼리 가능 필드 스키마 에 존재해야 하며 동기화 모든 컬렉션 에서 동일한 적격 필드 유형이어야 합니다. 인덱싱된 쿼리 가능 필드 이름은 글로벌 쿼리 가능 필드 이므로 queryable_fields_names 에도 표시되어야 합니다.

    • collection_queryable_fields_names 객체

      지정된 컬렉션에 있는 쿼리 가능 필드 이름의 배열.

      collection_queryable_fields_names 속성 숨기기 collection_queryable_fields_names 속성 표시 객체
      • * 객체 additionalProperties
        * 속성 숨기기 * 속성 표시 객체
        • * 문자열 additionalProperties

          쿼리 가능 필드 의 이름입니다.

    • 권한 객체

      더 이상 사용되지 않습니다.

    • last_disabled 문자열

      마지막으로 동기화가 비활성화된 시간으로, UNIX 에포크 이후의 시간(초)으로 표시됩니다.

    • client_max_offline_days integer

      클라이언트 재설정 필요하기 전에 클라이언트 오프라인 상태일 수 있는 일수입니다.

    • is_recovery_mode_disabled 부울

      클라이언트 재설정 모드 비활성화할지 여부를 지정합니다. 기본값 으로 클라이언트 재설정 모드 활성화되어 있으며 이 값은 false입니다.

    • asymmetric_tables array[string]

      데이터 수집 통해 비대칭으로 정의된 컬렉션 이름의 배열, 클라이언트는 데이터를 쓰기 (write) 수는 있지만 읽을 수는 없습니다.

  • 트리거 배열[객체] 필수 사항
    다음 중 하나입니다.
  • values 배열[객체] 필수 사항
    Hide values attributes 값 속성 표시 객체
    • 이름 문자열 필수 사항
    • 비공개 부울 필수 사항
    • from_secret 부울 필수 사항

      true인 경우 값은 이름별로 Secret 에 대한 참조입니다.

응답

  • 204

    푸시 성공

  • 400

    Invalid request

  • 500

    구성 가져오기 오류

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","provider_region":"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":{"read":{},"write":{}},"name":"string","apply_when":{},"read":{},"write":{},"insert":{},"delete":{},"search":{},"fields":{},"additional_fields":{"read":{},"write":{}}}],"filters":[{"name":"string","apply_when":{},"query":{},"projection":{"additionalProperty1":0,"additionalProperty2":0}}]},"rules":[{"database":"string","collection":"string","roles":[{"document_filters":{"read":{},"write":{}},"name":"string","apply_when":{},"read":{},"write":{},"insert":{},"delete":{},"search":{},"fields":{},"additional_fields":{"read":{},"write":{}}}],"filters":[{"name":"string","apply_when":{},"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}]}'
요청 예시
{
  "name": "string",
  "provider_region": "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": {
              "read": {},
              "write": {}
            },
            "name": "string",
            "apply_when": {},
            "read": {},
            "write": {},
            "insert": {},
            "delete": {},
            "search": {},
            "fields": {},
            "additional_fields": {
              "read": {},
              "write": {}
            }
          }
        ],
        "filters": [
          {
            "name": "string",
            "apply_when": {},
            "query": {},
            "projection": {
              "additionalProperty1": 0,
              "additionalProperty2": 0
            }
          }
        ]
      },
      "rules": [
        {
          "database": "string",
          "collection": "string",
          "roles": [
            {
              "document_filters": {
                "read": {},
                "write": {}
              },
              "name": "string",
              "apply_when": {},
              "read": {},
              "write": {},
              "insert": {},
              "delete": {},
              "search": {},
              "fields": {},
              "additional_fields": {
                "read": {},
                "write": {}
              }
            }
          ],
          "filters": [
            {
              "name": "string",
              "apply_when": {},
              "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
    }
  ]
}