{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/amazon-qldb/refs/heads/main/json-structure/amazon-qldb-journal-kinesis-stream-description-structure.json",
  "name": "JournalKinesisStreamDescription",
  "description": "Information about an Amazon QLDB journal stream, including the Amazon Resource Name (ARN), stream name, creation time, current status, and the parameters of the original stream creation request.",
  "type": "object",
  "properties": {
    "LedgerName": {
      "allOf": [
        {
          "$ref": "#/components/schemas/LedgerName"
        },
        {
          "description": "The name of the ledger."
        }
      ]
    },
    "CreationTime": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Timestamp"
        },
        {
          "description": "The date and time, in epoch time format, when the QLDB journal stream was created. (Epoch time format is the number of seconds elapsed since 12:00:00 AM January 1, 1970 UTC.)"
        }
      ]
    },
    "InclusiveStartTime": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Timestamp"
        },
        {
          "description": "The inclusive start date and time from which to start streaming journal data."
        }
      ]
    },
    "ExclusiveEndTime": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Timestamp"
        },
        {
          "description": "The exclusive date and time that specifies when the stream ends. If this parameter is undefined, the stream runs indefinitely until you cancel it."
        }
      ]
    },
    "RoleArn": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Arn"
        },
        {
          "description": "The Amazon Resource Name (ARN) of the IAM role that grants QLDB permissions for a journal stream to write data records to a Kinesis Data Streams resource."
        }
      ]
    },
    "StreamId": {
      "allOf": [
        {
          "$ref": "#/components/schemas/UniqueId"
        },
        {
          "description": "The UUID (represented in Base62-encoded text) of the QLDB journal stream."
        }
      ]
    },
    "Arn": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Arn"
        },
        {
          "description": "The Amazon Resource Name (ARN) of the QLDB journal stream."
        }
      ]
    },
    "Status": {
      "allOf": [
        {
          "$ref": "#/components/schemas/StreamStatus"
        },
        {
          "description": "The current state of the QLDB journal stream."
        }
      ]
    },
    "KinesisConfiguration": {
      "allOf": [
        {
          "$ref": "#/components/schemas/KinesisConfiguration"
        },
        {
          "description": "The configuration settings of the Amazon Kinesis Data Streams destination for a QLDB journal stream."
        }
      ]
    },
    "ErrorCause": {
      "allOf": [
        {
          "$ref": "#/components/schemas/ErrorCause"
        },
        {
          "description": "The error message that describes the reason that a stream has a status of <code>IMPAIRED</code> or <code>FAILED</code>. This is not applicable to streams that have other status values."
        }
      ]
    },
    "StreamName": {
      "allOf": [
        {
          "$ref": "#/components/schemas/StreamName"
        },
        {
          "description": "The user-defined name of the QLDB journal stream."
        }
      ]
    }
  },
  "required": [
    "LedgerName",
    "RoleArn",
    "StreamId",
    "Status",
    "KinesisConfiguration",
    "StreamName"
  ]
}