{
    "smithy": "1.0",
    "metadata": {
        "suppressions": [
            {
                "id": "HttpMethodSemantics",
                "namespace": "*"
            },
            {
                "id": "HttpResponseCodeSemantics",
                "namespace": "*"
            },
            {
                "id": "PaginatedTrait",
                "namespace": "*"
            },
            {
                "id": "HttpHeaderTrait",
                "namespace": "*"
            },
            {
                "id": "HttpUriConflict",
                "namespace": "*"
            },
            {
                "id": "Service",
                "namespace": "*"
            }
        ]
    },
    "shapes": {
        "com.amazonaws.qldbsession#AbortTransactionRequest": {
            "type": "structure",
            "members": {},
            "traits": {
                "smithy.api#documentation": "<p>Contains the details of the transaction to abort.</p>"
            }
        },
        "com.amazonaws.qldbsession#AbortTransactionResult": {
            "type": "structure",
            "members": {
                "TimingInformation": {
                    "target": "com.amazonaws.qldbsession#TimingInformation",
                    "traits": {
                        "smithy.api#documentation": "<p>Contains server-side performance information for the command.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains the details of the aborted transaction.</p>"
            }
        },
        "com.amazonaws.qldbsession#BadRequestException": {
            "type": "structure",
            "members": {
                "Message": {
                    "target": "com.amazonaws.qldbsession#ErrorMessage"
                },
                "Code": {
                    "target": "com.amazonaws.qldbsession#ErrorCode"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Returned if the request is malformed or contains an error such as an invalid parameter\n         value or a missing required parameter.</p>",
                "smithy.api#error": "client"
            }
        },
        "com.amazonaws.qldbsession#CapacityExceededException": {
            "type": "structure",
            "members": {
                "Message": {
                    "target": "com.amazonaws.qldbsession#ErrorMessage"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Returned when the request exceeds the processing capacity of the ledger.</p>",
                "smithy.api#error": "server",
                "smithy.api#httpError": 503
            }
        },
        "com.amazonaws.qldbsession#CommitDigest": {
            "type": "blob"
        },
        "com.amazonaws.qldbsession#CommitTransactionRequest": {
            "type": "structure",
            "members": {
                "TransactionId": {
                    "target": "com.amazonaws.qldbsession#TransactionId",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies the transaction ID of the transaction to commit.</p>",
                        "smithy.api#required": {}
                    }
                },
                "CommitDigest": {
                    "target": "com.amazonaws.qldbsession#CommitDigest",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies the commit digest for the transaction to commit. For every active transaction,\n         the commit digest must be passed. QLDB validates <code>CommitDigest</code> and rejects\n         the commit with an error if the digest computed on the client does not match the digest\n         computed by QLDB.</p>\n         <p>The purpose of the <code>CommitDigest</code> parameter is to ensure that QLDB commits\n         a transaction if and only if the server has processed the exact set of statements sent by\n         the client, in the same order that client sent them, and with no duplicates.</p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains the details of the transaction to commit.</p>"
            }
        },
        "com.amazonaws.qldbsession#CommitTransactionResult": {
            "type": "structure",
            "members": {
                "TransactionId": {
                    "target": "com.amazonaws.qldbsession#TransactionId",
                    "traits": {
                        "smithy.api#documentation": "<p>The transaction ID of the committed transaction.</p>"
                    }
                },
                "CommitDigest": {
                    "target": "com.amazonaws.qldbsession#CommitDigest",
                    "traits": {
                        "smithy.api#documentation": "<p>The commit digest of the committed transaction.</p>"
                    }
                },
                "TimingInformation": {
                    "target": "com.amazonaws.qldbsession#TimingInformation",
                    "traits": {
                        "smithy.api#documentation": "<p>Contains server-side performance information for the command.</p>"
                    }
                },
                "ConsumedIOs": {
                    "target": "com.amazonaws.qldbsession#IOUsage",
                    "traits": {
                        "smithy.api#documentation": "<p>Contains metrics about the number of I/O requests that were consumed.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains the details of the committed transaction.</p>"
            }
        },
        "com.amazonaws.qldbsession#EndSessionRequest": {
            "type": "structure",
            "members": {},
            "traits": {
                "smithy.api#documentation": "<p>Specifies a request to end the session.</p>"
            }
        },
        "com.amazonaws.qldbsession#EndSessionResult": {
            "type": "structure",
            "members": {
                "TimingInformation": {
                    "target": "com.amazonaws.qldbsession#TimingInformation",
                    "traits": {
                        "smithy.api#documentation": "<p>Contains server-side performance information for the command.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains the details of the ended session.</p>"
            }
        },
        "com.amazonaws.qldbsession#ErrorCode": {
            "type": "string"
        },
        "com.amazonaws.qldbsession#ErrorMessage": {
            "type": "string"
        },
        "com.amazonaws.qldbsession#ExecuteStatementRequest": {
            "type": "structure",
            "members": {
                "TransactionId": {
                    "target": "com.amazonaws.qldbsession#TransactionId",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies the transaction ID of the request.</p>",
                        "smithy.api#required": {}
                    }
                },
                "Statement": {
                    "target": "com.amazonaws.qldbsession#Statement",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies the statement of the request.</p>",
                        "smithy.api#required": {}
                    }
                },
                "Parameters": {
                    "target": "com.amazonaws.qldbsession#StatementParameters",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies the parameters for the parameterized statement in the request.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Specifies a request to execute a statement.</p>"
            }
        },
        "com.amazonaws.qldbsession#ExecuteStatementResult": {
            "type": "structure",
            "members": {
                "FirstPage": {
                    "target": "com.amazonaws.qldbsession#Page",
                    "traits": {
                        "smithy.api#documentation": "<p>Contains the details of the first fetched page.</p>"
                    }
                },
                "TimingInformation": {
                    "target": "com.amazonaws.qldbsession#TimingInformation",
                    "traits": {
                        "smithy.api#documentation": "<p>Contains server-side performance information for the command.</p>"
                    }
                },
                "ConsumedIOs": {
                    "target": "com.amazonaws.qldbsession#IOUsage",
                    "traits": {
                        "smithy.api#documentation": "<p>Contains metrics about the number of I/O requests that were consumed.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains the details of the executed statement.</p>"
            }
        },
        "com.amazonaws.qldbsession#FetchPageRequest": {
            "type": "structure",
            "members": {
                "TransactionId": {
                    "target": "com.amazonaws.qldbsession#TransactionId",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies the transaction ID of the page to be fetched.</p>",
                        "smithy.api#required": {}
                    }
                },
                "NextPageToken": {
                    "target": "com.amazonaws.qldbsession#PageToken",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies the next page token of the page to be fetched.</p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Specifies the details of the page to be fetched.</p>"
            }
        },
        "com.amazonaws.qldbsession#FetchPageResult": {
            "type": "structure",
            "members": {
                "Page": {
                    "target": "com.amazonaws.qldbsession#Page",
                    "traits": {
                        "smithy.api#documentation": "<p>Contains details of the fetched page.</p>"
                    }
                },
                "TimingInformation": {
                    "target": "com.amazonaws.qldbsession#TimingInformation",
                    "traits": {
                        "smithy.api#documentation": "<p>Contains server-side performance information for the command.</p>"
                    }
                },
                "ConsumedIOs": {
                    "target": "com.amazonaws.qldbsession#IOUsage",
                    "traits": {
                        "smithy.api#documentation": "<p>Contains metrics about the number of I/O requests that were consumed.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains the page that was fetched.</p>"
            }
        },
        "com.amazonaws.qldbsession#IOUsage": {
            "type": "structure",
            "members": {
                "ReadIOs": {
                    "target": "com.amazonaws.qldbsession#ReadIOs",
                    "traits": {
                        "smithy.api#documentation": "<p>The number of read I/O requests that the command made.</p>"
                    }
                },
                "WriteIOs": {
                    "target": "com.amazonaws.qldbsession#WriteIOs",
                    "traits": {
                        "smithy.api#documentation": "<p>The number of write I/O requests that the command made.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains I/O usage metrics for a command that was invoked.</p>"
            }
        },
        "com.amazonaws.qldbsession#InvalidSessionException": {
            "type": "structure",
            "members": {
                "Message": {
                    "target": "com.amazonaws.qldbsession#ErrorMessage"
                },
                "Code": {
                    "target": "com.amazonaws.qldbsession#ErrorCode"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Returned if the session doesn't exist anymore because it timed out or expired.</p>",
                "smithy.api#error": "client"
            }
        },
        "com.amazonaws.qldbsession#IonBinary": {
            "type": "blob",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 131072
                }
            }
        },
        "com.amazonaws.qldbsession#IonText": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 1048576
                }
            }
        },
        "com.amazonaws.qldbsession#LedgerName": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 32
                },
                "smithy.api#pattern": "(?!^.*--)(?!^[0-9]+$)(?!^-)(?!.*-$)^[A-Za-z0-9-]+$"
            }
        },
        "com.amazonaws.qldbsession#LimitExceededException": {
            "type": "structure",
            "members": {
                "Message": {
                    "target": "com.amazonaws.qldbsession#ErrorMessage"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Returned if a resource limit such as number of active sessions is exceeded.</p>",
                "smithy.api#error": "client"
            }
        },
        "com.amazonaws.qldbsession#OccConflictException": {
            "type": "structure",
            "members": {
                "Message": {
                    "target": "com.amazonaws.qldbsession#ErrorMessage"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Returned when a transaction cannot be written to the journal due to a failure in the\n         verification phase of <i>optimistic concurrency control</i> (OCC).</p>",
                "smithy.api#error": "client"
            }
        },
        "com.amazonaws.qldbsession#Page": {
            "type": "structure",
            "members": {
                "Values": {
                    "target": "com.amazonaws.qldbsession#ValueHolders",
                    "traits": {
                        "smithy.api#documentation": "<p>A structure that contains values in multiple encoding formats.</p>"
                    }
                },
                "NextPageToken": {
                    "target": "com.amazonaws.qldbsession#PageToken",
                    "traits": {
                        "smithy.api#documentation": "<p>The token of the next page.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains details of the fetched page.</p>"
            }
        },
        "com.amazonaws.qldbsession#PageToken": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 4,
                    "max": 1024
                },
                "smithy.api#pattern": "^[A-Za-z-0-9+/=]+$"
            }
        },
        "com.amazonaws.qldbsession#ProcessingTimeMilliseconds": {
            "type": "long"
        },
        "com.amazonaws.qldbsession#QLDBSession": {
            "type": "service",
            "version": "2019-07-11",
            "operations": [
                {
                    "target": "com.amazonaws.qldbsession#SendCommand"
                }
            ],
            "traits": {
                "aws.api#service": {
                    "sdkId": "QLDB Session",
                    "arnNamespace": "qldb",
                    "cloudFormationName": "QLDBSession",
                    "cloudTrailEventSource": "qldbsession.amazonaws.com",
                    "endpointPrefix": "session.qldb"
                },
                "aws.auth#sigv4": {
                    "name": "qldb"
                },
                "aws.protocols#awsJson1_0": {},
                "smithy.api#documentation": "<p>The transactional data APIs for Amazon QLDB</p>\n         <note>\n            <p>Instead of interacting directly with this API, we recommend using the QLDB driver\n            or the QLDB shell to execute data transactions on a ledger.</p>\n            <ul>\n               <li>\n                  <p>If you are working with an AWS SDK, use the QLDB driver. The driver provides\n                  a high-level abstraction layer above this <i>QLDB Session</i> data\n                  plane and manages <code>SendCommand</code> API calls for you. For information and\n                  a list of supported programming languages, see <a href=\"https://docs.aws.amazon.com/qldb/latest/developerguide/getting-started-driver.html\">Getting started\n                     with the driver</a> in the <i>Amazon QLDB Developer\n                  Guide</i>.</p>\n               </li>\n               <li>\n                  <p>If you are working with the AWS Command Line Interface (AWS CLI), use the\n                  QLDB shell. The shell is a command line interface that uses the QLDB driver to\n                  interact with a ledger. For information, see <a href=\"https://docs.aws.amazon.com/qldb/latest/developerguide/data-shell.html\">Accessing Amazon QLDB using the\n                     QLDB shell</a>.</p>\n               </li>\n            </ul>\n         </note>",
                "smithy.api#title": "Amazon QLDB Session"
            }
        },
        "com.amazonaws.qldbsession#RateExceededException": {
            "type": "structure",
            "members": {
                "Message": {
                    "target": "com.amazonaws.qldbsession#ErrorMessage"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Returned when the rate of requests exceeds the allowed throughput.</p>",
                "smithy.api#error": "client"
            }
        },
        "com.amazonaws.qldbsession#ReadIOs": {
            "type": "long"
        },
        "com.amazonaws.qldbsession#SendCommand": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.qldbsession#SendCommandRequest"
            },
            "output": {
                "target": "com.amazonaws.qldbsession#SendCommandResult"
            },
            "errors": [
                {
                    "target": "com.amazonaws.qldbsession#BadRequestException"
                },
                {
                    "target": "com.amazonaws.qldbsession#CapacityExceededException"
                },
                {
                    "target": "com.amazonaws.qldbsession#InvalidSessionException"
                },
                {
                    "target": "com.amazonaws.qldbsession#LimitExceededException"
                },
                {
                    "target": "com.amazonaws.qldbsession#OccConflictException"
                },
                {
                    "target": "com.amazonaws.qldbsession#RateExceededException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Sends a command to an Amazon QLDB ledger.</p>\n         <note>\n            <p>Instead of interacting directly with this API, we recommend using the QLDB driver\n            or the QLDB shell to execute data transactions on a ledger.</p>\n            <ul>\n               <li>\n                  <p>If you are working with an AWS SDK, use the QLDB driver. The driver provides\n                  a high-level abstraction layer above this <i>QLDB Session</i> data\n                  plane and manages <code>SendCommand</code> API calls for you. For information and\n                  a list of supported programming languages, see <a href=\"https://docs.aws.amazon.com/qldb/latest/developerguide/getting-started-driver.html\">Getting started\n                     with the driver</a> in the <i>Amazon QLDB Developer\n                  Guide</i>.</p>\n               </li>\n               <li>\n                  <p>If you are working with the AWS Command Line Interface (AWS CLI), use the\n                  QLDB shell. The shell is a command line interface that uses the QLDB driver to\n                  interact with a ledger. For information, see <a href=\"https://docs.aws.amazon.com/qldb/latest/developerguide/data-shell.html\">Accessing Amazon QLDB using the\n                     QLDB shell</a>.</p>\n               </li>\n            </ul>\n         </note>"
            }
        },
        "com.amazonaws.qldbsession#SendCommandRequest": {
            "type": "structure",
            "members": {
                "SessionToken": {
                    "target": "com.amazonaws.qldbsession#SessionToken",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies the session token for the current command. A session token is constant\n         throughout the life of the session.</p>\n         <p>To obtain a session token, run the <code>StartSession</code> command. This\n            <code>SessionToken</code> is required for every subsequent command that is issued during\n         the current session.</p>"
                    }
                },
                "StartSession": {
                    "target": "com.amazonaws.qldbsession#StartSessionRequest",
                    "traits": {
                        "smithy.api#documentation": "<p>Command to start a new session. A session token is obtained as part of the\n         response.</p>"
                    }
                },
                "StartTransaction": {
                    "target": "com.amazonaws.qldbsession#StartTransactionRequest",
                    "traits": {
                        "smithy.api#documentation": "<p>Command to start a new transaction.</p>"
                    }
                },
                "EndSession": {
                    "target": "com.amazonaws.qldbsession#EndSessionRequest",
                    "traits": {
                        "smithy.api#documentation": "<p>Command to end the current session.</p>"
                    }
                },
                "CommitTransaction": {
                    "target": "com.amazonaws.qldbsession#CommitTransactionRequest",
                    "traits": {
                        "smithy.api#documentation": "<p>Command to commit the specified transaction.</p>"
                    }
                },
                "AbortTransaction": {
                    "target": "com.amazonaws.qldbsession#AbortTransactionRequest",
                    "traits": {
                        "smithy.api#documentation": "<p>Command to abort the current transaction.</p>"
                    }
                },
                "ExecuteStatement": {
                    "target": "com.amazonaws.qldbsession#ExecuteStatementRequest",
                    "traits": {
                        "smithy.api#documentation": "<p>Command to execute a statement in the specified transaction.</p>"
                    }
                },
                "FetchPage": {
                    "target": "com.amazonaws.qldbsession#FetchPageRequest",
                    "traits": {
                        "smithy.api#documentation": "<p>Command to fetch a page.</p>"
                    }
                }
            }
        },
        "com.amazonaws.qldbsession#SendCommandResult": {
            "type": "structure",
            "members": {
                "StartSession": {
                    "target": "com.amazonaws.qldbsession#StartSessionResult",
                    "traits": {
                        "smithy.api#documentation": "<p>Contains the details of the started session that includes a session token. This\n            <code>SessionToken</code> is required for every subsequent command that is issued during\n         the current session.</p>"
                    }
                },
                "StartTransaction": {
                    "target": "com.amazonaws.qldbsession#StartTransactionResult",
                    "traits": {
                        "smithy.api#documentation": "<p>Contains the details of the started transaction.</p>"
                    }
                },
                "EndSession": {
                    "target": "com.amazonaws.qldbsession#EndSessionResult",
                    "traits": {
                        "smithy.api#documentation": "<p>Contains the details of the ended session.</p>"
                    }
                },
                "CommitTransaction": {
                    "target": "com.amazonaws.qldbsession#CommitTransactionResult",
                    "traits": {
                        "smithy.api#documentation": "<p>Contains the details of the committed transaction.</p>"
                    }
                },
                "AbortTransaction": {
                    "target": "com.amazonaws.qldbsession#AbortTransactionResult",
                    "traits": {
                        "smithy.api#documentation": "<p>Contains the details of the aborted transaction.</p>"
                    }
                },
                "ExecuteStatement": {
                    "target": "com.amazonaws.qldbsession#ExecuteStatementResult",
                    "traits": {
                        "smithy.api#documentation": "<p>Contains the details of the executed statement.</p>"
                    }
                },
                "FetchPage": {
                    "target": "com.amazonaws.qldbsession#FetchPageResult",
                    "traits": {
                        "smithy.api#documentation": "<p>Contains the details of the fetched page.</p>"
                    }
                }
            }
        },
        "com.amazonaws.qldbsession#SessionToken": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 4,
                    "max": 1024
                },
                "smithy.api#pattern": "^[A-Za-z-0-9+/=]+$"
            }
        },
        "com.amazonaws.qldbsession#StartSessionRequest": {
            "type": "structure",
            "members": {
                "LedgerName": {
                    "target": "com.amazonaws.qldbsession#LedgerName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the ledger to start a new session against.</p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Specifies a request to start a new session.</p>"
            }
        },
        "com.amazonaws.qldbsession#StartSessionResult": {
            "type": "structure",
            "members": {
                "SessionToken": {
                    "target": "com.amazonaws.qldbsession#SessionToken",
                    "traits": {
                        "smithy.api#documentation": "<p>Session token of the started session. This <code>SessionToken</code> is required for\n         every subsequent command that is issued during the current session.</p>"
                    }
                },
                "TimingInformation": {
                    "target": "com.amazonaws.qldbsession#TimingInformation",
                    "traits": {
                        "smithy.api#documentation": "<p>Contains server-side performance information for the command.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains the details of the started session.</p>"
            }
        },
        "com.amazonaws.qldbsession#StartTransactionRequest": {
            "type": "structure",
            "members": {},
            "traits": {
                "smithy.api#documentation": "<p>Specifies a request to start a transaction.</p>"
            }
        },
        "com.amazonaws.qldbsession#StartTransactionResult": {
            "type": "structure",
            "members": {
                "TransactionId": {
                    "target": "com.amazonaws.qldbsession#TransactionId",
                    "traits": {
                        "smithy.api#documentation": "<p>The transaction ID of the started transaction.</p>"
                    }
                },
                "TimingInformation": {
                    "target": "com.amazonaws.qldbsession#TimingInformation",
                    "traits": {
                        "smithy.api#documentation": "<p>Contains server-side performance information for the command.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains the details of the started transaction.</p>"
            }
        },
        "com.amazonaws.qldbsession#Statement": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 100000
                }
            }
        },
        "com.amazonaws.qldbsession#StatementParameters": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.qldbsession#ValueHolder"
            }
        },
        "com.amazonaws.qldbsession#TimingInformation": {
            "type": "structure",
            "members": {
                "ProcessingTimeMilliseconds": {
                    "target": "com.amazonaws.qldbsession#ProcessingTimeMilliseconds",
                    "traits": {
                        "smithy.api#documentation": "<p>The amount of time that QLDB spent on processing the command, measured in\n         milliseconds.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains server-side performance information for a command. Amazon QLDB captures timing\n         information between the times when it receives the request and when it sends the\n         corresponding response.</p>"
            }
        },
        "com.amazonaws.qldbsession#TransactionId": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 22,
                    "max": 22
                },
                "smithy.api#pattern": "^[A-Za-z-0-9]+$"
            }
        },
        "com.amazonaws.qldbsession#ValueHolder": {
            "type": "structure",
            "members": {
                "IonBinary": {
                    "target": "com.amazonaws.qldbsession#IonBinary",
                    "traits": {
                        "smithy.api#documentation": "<p>An Amazon Ion binary value contained in a <code>ValueHolder</code> structure.</p>"
                    }
                },
                "IonText": {
                    "target": "com.amazonaws.qldbsession#IonText",
                    "traits": {
                        "smithy.api#documentation": "<p>An Amazon Ion plaintext value contained in a <code>ValueHolder</code> structure.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>A structure that can contain a value in multiple encoding formats.</p>"
            }
        },
        "com.amazonaws.qldbsession#ValueHolders": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.qldbsession#ValueHolder"
            }
        },
        "com.amazonaws.qldbsession#WriteIOs": {
            "type": "long"
        }
    }
}
