{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--mongodb-atlas-globalclusterconfig.json",
  "title": "MongoDBAtlasGlobalClusterConfigProperties",
  "description": "Returns, adds, and removes Global Cluster managed namespaces and custom zone mappings.. 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-globalclusterconfig.json",
    "sourceSha256": "b158603e86fac3efd55197f7053c8935853fc7fcd6fadc17952f61f8ca1bfd3d"
  },
  "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": "The profile is defined in AWS Secret manager. See [Secret Manager Profile setup](../../../examples/profile-secret.yaml)."
    },
    "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 of the project for the Atlas cluster."
    },
    "ClusterName": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "description": "The name of the Atlas cluster that contains the snapshots you want to retrieve."
    },
    "ManagedNamespaces": {
      "type": "array",
      "insertionOrder": false,
      "description": "List that contains comma-separated key value pairs to map zones to geographic regions. These pairs map an ISO 3166-1a2 location code, with an ISO 3166-2 subdivision code when possible, to the human-readable label for the desired custom zone. MongoDB Cloud maps the ISO 3166-1a2 code to the nearest geographical zone by default. Include this parameter to override the default mappings.\n\nThis parameter returns an empty object if no custom zones exist.",
      "items": {
        "$ref": "#/$defs/managedNamespace",
        "type": "object"
      }
    }
  },
  "$defs": {
    "zoneMapping": {
      "type": "object",
      "properties": {
        "Location": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ],
          "description": "Code that represents a location that maps to a zone in your global cluster. MongoDB Cloud represents this location with a ISO 3166-2 location and subdivision codes when possible."
        },
        "Zone": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ],
          "description": "Human-readable label that identifies the zone in your global cluster. This zone maps to a location code."
        }
      },
      "title": "MongoDBAtlasGlobalClusterConfigzoneMappingDefinition",
      "additionalProperties": false
    },
    "managedNamespace": {
      "type": "object",
      "properties": {
        "Collection": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ],
          "description": "Human-readable label of the collection to manage for this Global Cluster."
        },
        "CustomShardKey": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ],
          "description": "Database parameter used to divide the *collection* into shards. Global clusters require a compound shard key. This compound shard key combines the location parameter and the user-selected custom key."
        },
        "Db": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ],
          "description": "Human-readable label of the database to manage for this Global Cluster."
        },
        "IsCustomShardKeyHashed": {
          "type": "boolean",
          "description": "Flag that indicates whether someone hashed the custom shard key for the specified collection. If you set this value to `false`, MongoDB Cloud uses ranged sharding."
        },
        "IsShardKeyUnique": {
          "type": "boolean",
          "description": "Flag that indicates whether someone [hashed](https://www.mongodb.com/docs/manual/reference/method/sh.shardCollection/#hashed-shard-keys) the custom shard key. If this parameter returns `false`, this cluster uses [ranged sharding](https://www.mongodb.com/docs/manual/core/ranged-sharding/)."
        }
      },
      "title": "MongoDBAtlasGlobalClusterConfigmanagedNamespaceDefinition",
      "additionalProperties": false
    }
  },
  "additionalProperties": false,
  "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
  "typeName": "MongoDB::Atlas::GlobalClusterConfig",
  "primaryIdentifier": [
    "/properties/ProjectId",
    "/properties/Profile"
  ],
  "readOnlyProperties": [
    "/properties/RemoveAllZoneMapping",
    "/properties/CustomZoneMappings"
  ]
}
