{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--mongodb-atlas-x509authenticationdatabaseuser.json",
  "title": "MongoDBAtlasX509AuthenticationDatabaseUserProperties",
  "description": "Generates one X.509 certificate for the specified MongoDB user. Atlas manages the certificate and MongoDB user that belong to one project. To use this resource, the requesting API Key must have the Project Atlas Admin role. This resource doesn't require the API Key to have an Access List.\n\nTo get MongoDB Cloud to generate a managed certificate for a database user, set `\"x509Type\" : \"MANAGED\"` on the desired MongoDB Database User.\n\nIf you are managing your own Certificate Authority (CA) in Self-Managed X.509 mode, you must generate certificates for database users using your own CA.. Source:- <https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git>",
  "x-lintel": {
    "source": "https://raw.githubusercontent.com/lalcebo/json-schema/master/serverless/resources/cloudformation-modified/mongodb-atlas-x509authenticationdatabaseuser.json",
    "sourceSha256": "a1cdf09d90e5b499efafbfe532f80bfc0ef185da0019a760ca024e68a374aa89"
  },
  "type": "object",
  "properties": {
    "Profile": {
      "oneOf": [
        {
          "type": "string",
          "default": "default"
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "description": "Profile used to provide credentials information, (a secret with the cfn/atlas/profile/{Profile}, is required), if not provided default is used"
    },
    "CustomerX509": {
      "$ref": "#/$defs/customerX509",
      "description": "CustomerX509 represents Customer-managed X.509 configuration for an Atlas project."
    },
    "ProjectId": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "description": "The unique identifier for the project ."
    }
  },
  "$defs": {
    "customerX509": {
      "type": "object",
      "properties": {
        "Cas": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ],
          "description": " PEM string containing one or more customer CAs for database user authentication."
        }
      },
      "title": "MongoDBAtlasX509AuthenticationDatabaseUsercustomerX509Definition",
      "additionalProperties": false
    }
  },
  "additionalProperties": false,
  "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
  "primaryIdentifier": [
    "/properties/ProjectId",
    "/properties/UserName",
    "/properties/Profile"
  ],
  "typeName": "MongoDB::Atlas::X509AuthenticationDatabaseUser",
  "createOnlyProperties": [
    "/properties/ProjectId",
    "/properties/UserName",
    "/properties/Profile"
  ],
  "readOnlyProperties": [
    "/properties/TotalCount",
    "/properties/MonthsUntilExpiration",
    "/properties/CustomerX509/Cas",
    "/properties/Results/UserName",
    "/properties/Results/MonthsUntilExpiration",
    "/properties/Results/NotAfter",
    "/properties/Results/Subject",
    "/properties/Results/GroupId",
    "/properties/Results/Id"
  ]
}
