{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/amazon-neptune/json-schema/amazon-neptune-global-clusters-message-schema.json",
  "title": "GlobalClustersMessage",
  "x-generated": "2026-11-11",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/amazon-neptune-global-clusters-api-openapi.yml#/components/schemas/GlobalClustersMessage",
  "type": "object",
  "properties": {
    "Marker": {
      "type": "string",
      "description": "A pagination token. If this parameter is returned in the response, more records are available, which can be retrieved by one or more additional calls to DescribeGlobalClusters."
    },
    "GlobalClusters": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/GlobalCluster"
      },
      "description": "The list of global clusters and instances returned by this request."
    }
  },
  "$defs": {
    "FailoverState": {
      "type": "object",
      "properties": {
        "Status": {
          "type": "string",
          "enum": [
            "pending",
            "failing-over",
            "cancelling"
          ],
          "description": "The current status of the global cluster. Possible values are as follows: pending  The service received a request to switch over or fail over the global cluster. The global cluster's primary DB cluster and the specified secondary DB cluster are being verified before the operation starts. failing-over  Neptune is promoting the chosen secondary Neptune DB cluster to become the new primary DB cluster to fail over the global cluster. cancelling  The request to switch over or fail over the global cluster was cancelled and the primary Neptune DB cluster and the selected secondary Neptune DB clust"
        },
        "FromDbClusterArn": {
          "type": "string",
          "description": "The Amazon Resource Name (ARN) of the Neptune DB cluster that is currently being demoted, and which is associated with this state."
        },
        "ToDbClusterArn": {
          "type": "string",
          "description": "The Amazon Resource Name (ARN) of the Neptune DB cluster that is currently being promoted, and which is associated with this state."
        },
        "IsDataLossAllowed": {
          "type": "boolean",
          "description": "Indicates whether the operation is a global switchover or a global failover. If data loss is allowed, then the operation is a global failover. Otherwise, it's a switchover."
        }
      }
    },
    "GlobalCluster": {
      "type": "object",
      "properties": {
        "GlobalClusterIdentifier": {
          "type": "string",
          "description": "Contains a user-supplied global database cluster identifier. This identifier is the unique key that identifies a global database."
        },
        "GlobalClusterResourceId": {
          "type": "string",
          "description": "An immutable identifier for the global database that is unique within all regions. This identifier is found in CloudTrail log entries whenever the KMS key for the DB cluster is accessed."
        },
        "GlobalClusterArn": {
          "type": "string",
          "description": "The Amazon Resource Name (ARN) for the global database."
        },
        "Status": {
          "type": "string",
          "description": "Specifies the current state of this global database."
        },
        "Engine": {
          "type": "string",
          "description": "The Neptune database engine used by the global database (\"neptune\")."
        },
        "EngineVersion": {
          "type": "string",
          "description": "The Neptune engine version used by the global database."
        },
        "DatabaseName": {
          "type": "string",
          "description": "The default database name within the new global database cluster."
        },
        "StorageEncrypted": {
          "type": "boolean",
          "description": "The storage encryption setting for the global database."
        },
        "DeletionProtection": {
          "type": "boolean",
          "description": "The deletion protection setting for the global database."
        },
        "GlobalClusterMembers": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/GlobalClusterMember"
          },
          "description": "A list of cluster ARNs and instance ARNs for all the DB clusters that are part of the global database."
        },
        "FailoverState": {
          "$ref": "#/$defs/FailoverState"
        },
        "TagList": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/Tag"
          },
          "description": "A list of global cluster tags."
        }
      }
    },
    "GlobalClusterMember": {
      "type": "object",
      "properties": {
        "DBClusterArn": {
          "type": "string",
          "description": "The Amazon Resource Name (ARN) for each Neptune cluster."
        },
        "Readers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The Amazon Resource Name (ARN) for each read-only secondary cluster associated with the Neptune global database."
        },
        "IsWriter": {
          "type": "boolean",
          "description": "Specifies whether the Neptune cluster is the primary cluster (that is, has read-write capability) for the Neptune global database with which it is associated."
        }
      }
    },
    "Tag": {
      "type": "object",
      "properties": {
        "Key": {
          "type": "string",
          "description": "A key is the required name of the tag. The string value can be from 1 to 128 Unicode characters in length and can't be prefixed with aws: or rds:. The string can only contain the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-]*)$\")."
        },
        "Value": {
          "type": "string",
          "description": "A value is the optional value of the tag. The string value can be from 1 to 256 Unicode characters in length and can't be prefixed with aws: or rds:. The string can only contain the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-]*)$\")."
        }
      }
    }
  }
}