{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/amazon-neptune/json-schema/amazon-neptune-restore-dbcluster-to-point-in-time-message-schema.json",
  "title": "RestoreDBClusterToPointInTimeMessage",
  "x-generated": "2026-11-11",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/amazon-neptune-db-clusters-api-openapi.yml#/components/schemas/RestoreDBClusterToPointInTimeMessage",
  "type": "object",
  "properties": {
    "DBClusterIdentifier": {
      "type": "string",
      "description": "The name of the new DB cluster to be created. Constraints: Must contain from 1 to 63 letters, numbers, or hyphens First character must be a letter Cannot end with a hyphen or contain two consecutive hyphens"
    },
    "RestoreType": {
      "type": "string",
      "description": "The type of restore to be performed. You can specify one of the following values: full-copy - The new DB cluster is restored as a full copy of the source DB cluster. copy-on-write - The new DB cluster is restored as a clone of the source DB cluster. If you don't specify a RestoreType value, then the new DB cluster is restored as a full copy of the source DB cluster."
    },
    "SourceDBClusterIdentifier": {
      "type": "string",
      "description": "The identifier of the source DB cluster from which to restore. Constraints: Must match the identifier of an existing DBCluster."
    },
    "RestoreToTime": {
      "type": "string",
      "format": "date-time",
      "description": "The date and time to restore the DB cluster to. Valid Values: Value must be a time in Universal Coordinated Time (UTC) format Constraints: Must be before the latest restorable time for the DB instance Must be specified if UseLatestRestorableTime parameter is not provided Cannot be specified if UseLatestRestorableTime parameter is true Cannot be specified if RestoreType parameter is copy-on-write Example: 2015-03-07T23:45:00Z"
    },
    "UseLatestRestorableTime": {
      "type": "boolean",
      "description": "A value that is set to true to restore the DB cluster to the latest restorable backup time, and false otherwise. Default: false Constraints: Cannot be specified if RestoreToTime parameter is provided."
    },
    "Port": {
      "type": "integer",
      "description": "The port number on which the new DB cluster accepts connections. Constraints: Value must be 1150-65535 Default: The same port as the original DB cluster."
    },
    "DBSubnetGroupName": {
      "type": "string",
      "description": "The DB subnet group name to use for the new DB cluster. Constraints: If supplied, must match the name of an existing DBSubnetGroup. Example: mySubnetgroup"
    },
    "OptionGroupName": {
      "type": "string",
      "description": "(Not supported by Neptune)"
    },
    "VpcSecurityGroupIds": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "A list of VPC security groups that the new DB cluster belongs to."
    },
    "Tags": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/Tag"
      },
      "description": "The tags to be applied to the restored DB cluster."
    },
    "KmsKeyId": {
      "type": "string",
      "description": "The Amazon KMS key identifier to use when restoring an encrypted DB cluster from an encrypted DB cluster. The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are restoring a DB cluster with the same Amazon account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key. You can restore to a new DB cluster and encrypt the new DB cluster with a KMS key that is different than the KMS key used to encrypt the source DB cluster. The new DB cluster is encrypted with th"
    },
    "EnableIAMDatabaseAuthentication": {
      "type": "boolean",
      "description": "True to enable mapping of Amazon Identity and Access Management (IAM) accounts to database accounts, and otherwise false. Default: false"
    },
    "EnableCloudwatchLogsExports": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The list of logs that the restored DB cluster is to export to CloudWatch Logs."
    },
    "DBClusterParameterGroupName": {
      "type": "string",
      "description": "The name of the DB cluster parameter group to associate with the new DB cluster. Constraints: If supplied, must match the name of an existing DBClusterParameterGroup."
    },
    "DeletionProtection": {
      "type": "boolean",
      "description": "A value that indicates whether the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled."
    },
    "ServerlessV2ScalingConfiguration": {
      "$ref": "#/$defs/ServerlessV2ScalingConfiguration"
    },
    "StorageType": {
      "type": "string",
      "description": "Specifies the storage type to be associated with the DB cluster. Valid values: standard, iopt1 Default: standard"
    },
    "NetworkType": {
      "type": "string",
      "description": "The network type of the DB cluster. Valid Values: IPV4 – ( the default ) The DB cluster uses only IPv4 addresses for communication. DUAL – The DB cluster uses both IPv4 and IPv6 addresses for communication. The DB subnet group associated with the cluster must support IPv6."
    }
  },
  "required": [
    "DBClusterIdentifier",
    "SourceDBClusterIdentifier"
  ],
  "$defs": {
    "ServerlessV2ScalingConfiguration": {
      "type": "object",
      "properties": {
        "MinCapacity": {
          "type": "number",
          "description": "The minimum number of Neptune capacity units (NCUs) for a DB instance in a Neptune Serverless cluster. You can specify NCU values in half-step increments, such as 8, 8.5, 9, and so on."
        },
        "MaxCapacity": {
          "type": "number",
          "description": "The maximum number of Neptune capacity units (NCUs) for a DB instance in a Neptune Serverless cluster. You can specify NCU values in half-step increments, such as 40, 40.5, 41, and so on."
        }
      }
    },
    "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}_.:/=+\\\\-]*)$\")."
        }
      }
    }
  }
}