{
  "version": "2.0",
  "service": "<p><fullname>RDS Data API</fullname> <p>Amazon RDS provides an HTTP endpoint to run SQL statements on an Amazon Aurora DB cluster. To run these statements, you use the RDS Data API (Data API).</p> <p>Data API is available with the following types of Aurora databases:</p> <ul> <li> <p>Aurora PostgreSQL - Serverless v2, Serverless v1, and provisioned</p> </li> <li> <p>Aurora MySQL - Serverless v1 only</p> </li> </ul> <p>For more information about the Data API, see <a href=\"https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html\">Using RDS Data API</a> in the <i>Amazon Aurora User Guide</i>.</p></p>",
  "operations": {
    "BatchExecuteStatement": "<p>Runs a batch SQL statement over an array of data.</p> <p>You can run bulk update and insert operations for multiple records using a DML statement with different parameter sets. Bulk operations can provide a significant performance improvement over individual insert and update operations.</p> <note> <p>If a call isn't part of a transaction because it doesn't include the <code>transactionID</code> parameter, changes that result from the call are committed automatically.</p> <p>There isn't a fixed upper limit on the number of parameter sets. However, the maximum size of the HTTP request submitted through the Data API is 4 MiB. If the request exceeds this limit, the Data API returns an error and doesn't process the request. This 4-MiB limit includes the size of the HTTP headers and the JSON notation in the request. Thus, the number of parameter sets that you can include depends on a combination of factors, such as the size of the SQL statement and the size of each parameter set.</p> <p>The response size limit is 1 MiB. If the call returns more than 1 MiB of response data, the call is terminated.</p> </note>",
    "BeginTransaction": "<p>Starts a SQL transaction.</p> <note> <p>A transaction can run for a maximum of 24 hours. A transaction is terminated and rolled back automatically after 24 hours.</p> <p>A transaction times out if no calls use its transaction ID in three minutes. If a transaction times out before it's committed, it's rolled back automatically.</p> <p>DDL statements inside a transaction cause an implicit commit. We recommend that you run each DDL statement in a separate <code>ExecuteStatement</code> call with <code>continueAfterTimeout</code> enabled.</p> </note>",
    "CommitTransaction": "<p>Ends a SQL transaction started with the <code>BeginTransaction</code> operation and commits the changes.</p>",
    "ExecuteSql": "<p>Runs one or more SQL statements.</p> <note> <p>This operation isn't supported for Aurora PostgreSQL Serverless v2 and provisioned DB clusters, and for Aurora Serverless v1 DB clusters, the operation is deprecated. Use the <code>BatchExecuteStatement</code> or <code>ExecuteStatement</code> operation.</p> </note>",
    "ExecuteStatement": "<p>Runs a SQL statement against a database.</p> <note> <p>If a call isn't part of a transaction because it doesn't include the <code>transactionID</code> parameter, changes that result from the call are committed automatically.</p> <p>If the binary response data from the database is more than 1 MB, the call is terminated.</p> </note>",
    "RollbackTransaction": "<p>Performs a rollback of a transaction. Rolling back a transaction cancels its changes.</p>"
  },
  "shapes": {
    "AccessDeniedException": {
      "base": "<p>You don't have sufficient access to perform this action.</p>",
      "refs": {
      }
    },
    "Arn": {
      "base": null,
      "refs": {
        "BatchExecuteStatementRequest$resourceArn": "<p>The Amazon Resource Name (ARN) of the Aurora Serverless DB cluster.</p>",
        "BatchExecuteStatementRequest$secretArn": "<p>The ARN of the secret that enables access to the DB cluster. Enter the database user name and password for the credentials in the secret.</p> <p>For information about creating the secret, see <a href=\"https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_database_secret.html\">Create a database secret</a>.</p>",
        "BeginTransactionRequest$resourceArn": "<p>The Amazon Resource Name (ARN) of the Aurora Serverless DB cluster.</p>",
        "BeginTransactionRequest$secretArn": "<p>The name or ARN of the secret that enables access to the DB cluster.</p>",
        "CommitTransactionRequest$resourceArn": "<p>The Amazon Resource Name (ARN) of the Aurora Serverless DB cluster.</p>",
        "CommitTransactionRequest$secretArn": "<p>The name or ARN of the secret that enables access to the DB cluster.</p>",
        "ExecuteSqlRequest$dbClusterOrInstanceArn": "<p>The ARN of the Aurora Serverless DB cluster.</p>",
        "ExecuteSqlRequest$awsSecretStoreArn": "<p>The Amazon Resource Name (ARN) of the secret that enables access to the DB cluster. Enter the database user name and password for the credentials in the secret.</p> <p>For information about creating the secret, see <a href=\"https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_database_secret.html\">Create a database secret</a>.</p>",
        "ExecuteStatementRequest$resourceArn": "<p>The Amazon Resource Name (ARN) of the Aurora Serverless DB cluster.</p>",
        "ExecuteStatementRequest$secretArn": "<p>The ARN of the secret that enables access to the DB cluster. Enter the database user name and password for the credentials in the secret.</p> <p>For information about creating the secret, see <a href=\"https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_database_secret.html\">Create a database secret</a>.</p>",
        "RollbackTransactionRequest$resourceArn": "<p>The Amazon Resource Name (ARN) of the Aurora Serverless DB cluster.</p>",
        "RollbackTransactionRequest$secretArn": "<p>The name or ARN of the secret that enables access to the DB cluster.</p>"
      }
    },
    "ArrayOfArray": {
      "base": "<p>An array of arrays.</p> <note> <p>Some array entries can be null.</p> </note>",
      "refs": {
        "ArrayValue$arrayValues": "<p>An array of arrays.</p>"
      }
    },
    "ArrayValue": {
      "base": "<p>Contains an array.</p>",
      "refs": {
        "ArrayOfArray$member": null,
        "Field$arrayValue": "<p>An array of values.</p>"
      }
    },
    "ArrayValueList": {
      "base": null,
      "refs": {
        "StructValue$attributes": "<p>The attributes returned in the record.</p>",
        "Value$arrayValues": "<p>An array of column values.</p>"
      }
    },
    "BadRequestException": {
      "base": "<p>There is an error in the call or in a SQL statement. (This error only appears in calls from Aurora Serverless v1 databases.)</p>",
      "refs": {
      }
    },
    "BatchExecuteStatementRequest": {
      "base": "<p>The request parameters represent the input of a SQL statement over an array of data.</p>",
      "refs": {
      }
    },
    "BatchExecuteStatementResponse": {
      "base": "<p>The response elements represent the output of a SQL statement over an array of data.</p>",
      "refs": {
      }
    },
    "BeginTransactionRequest": {
      "base": "<p>The request parameters represent the input of a request to start a SQL transaction.</p>",
      "refs": {
      }
    },
    "BeginTransactionResponse": {
      "base": "<p>The response elements represent the output of a request to start a SQL transaction.</p>",
      "refs": {
      }
    },
    "Blob": {
      "base": null,
      "refs": {
        "Field$blobValue": "<p>A value of BLOB data type.</p>",
        "Value$blobValue": "<p>A value for a column of BLOB data type.</p>"
      }
    },
    "Boolean": {
      "base": null,
      "refs": {
        "ColumnMetadata$isAutoIncrement": "<p>A value that indicates whether the column increments automatically.</p>",
        "ColumnMetadata$isSigned": "<p>A value that indicates whether an integer column is signed.</p>",
        "ColumnMetadata$isCurrency": "<p>A value that indicates whether the column contains currency values.</p>",
        "ColumnMetadata$isCaseSensitive": "<p>A value that indicates whether the column is case-sensitive.</p>",
        "ExecuteStatementRequest$includeResultMetadata": "<p>A value that indicates whether to include metadata in the results.</p>",
        "ExecuteStatementRequest$continueAfterTimeout": "<p>A value that indicates whether to continue running the statement after the call times out. By default, the statement stops running when the call times out.</p> <note> <p>For DDL statements, we recommend continuing to run the statement after the call times out. When a DDL statement terminates before it is finished running, it can result in errors and possibly corrupted data structures.</p> </note>"
      }
    },
    "BooleanArray": {
      "base": "<p>An array of Boolean values.</p> <note> <p>Some array entries can be null.</p> </note>",
      "refs": {
        "ArrayValue$booleanValues": "<p>An array of Boolean values.</p>"
      }
    },
    "BoxedBoolean": {
      "base": null,
      "refs": {
        "BooleanArray$member": null,
        "Field$isNull": "<p>A NULL value.</p>",
        "Field$booleanValue": "<p>A value of Boolean data type.</p>",
        "Value$isNull": "<p>A NULL value.</p>",
        "Value$bitValue": "<p>A value for a column of BIT data type.</p>"
      }
    },
    "BoxedDouble": {
      "base": null,
      "refs": {
        "DoubleArray$member": null,
        "Field$doubleValue": "<p>A value of double data type.</p>",
        "Value$doubleValue": "<p>A value for a column of double data type.</p>"
      }
    },
    "BoxedFloat": {
      "base": null,
      "refs": {
        "Value$realValue": "<p>A value for a column of real data type.</p>"
      }
    },
    "BoxedInteger": {
      "base": null,
      "refs": {
        "Value$intValue": "<p>A value for a column of integer data type.</p>"
      }
    },
    "BoxedLong": {
      "base": null,
      "refs": {
        "Field$longValue": "<p>A value of long data type.</p>",
        "LongArray$member": null,
        "Value$bigIntValue": "<p>A value for a column of big integer data type.</p>"
      }
    },
    "ColumnMetadata": {
      "base": "<p>Contains the metadata for a column.</p>",
      "refs": {
        "Metadata$member": null
      }
    },
    "CommitTransactionRequest": {
      "base": "<p>The request parameters represent the input of a commit transaction request.</p>",
      "refs": {
      }
    },
    "CommitTransactionResponse": {
      "base": "<p>The response elements represent the output of a commit transaction request.</p>",
      "refs": {
      }
    },
    "DatabaseErrorException": {
      "base": "<p>There was an error in processing the SQL statement.</p>",
      "refs": {
      }
    },
    "DatabaseNotFoundException": {
      "base": "<p>The DB cluster doesn't have a DB instance.</p>",
      "refs": {
      }
    },
    "DatabaseUnavailableException": {
      "base": "<p>The writer instance in the DB cluster isn't available.</p>",
      "refs": {
      }
    },
    "DbName": {
      "base": null,
      "refs": {
        "BatchExecuteStatementRequest$database": "<p>The name of the database.</p>",
        "BatchExecuteStatementRequest$schema": "<p>The name of the database schema.</p> <note> <p>Currently, the <code>schema</code> parameter isn't supported.</p> </note>",
        "BeginTransactionRequest$database": "<p>The name of the database.</p>",
        "BeginTransactionRequest$schema": "<p>The name of the database schema.</p>",
        "ExecuteSqlRequest$database": "<p>The name of the database.</p>",
        "ExecuteSqlRequest$schema": "<p>The name of the database schema.</p>",
        "ExecuteStatementRequest$database": "<p>The name of the database.</p>",
        "ExecuteStatementRequest$schema": "<p>The name of the database schema.</p> <note> <p>Currently, the <code>schema</code> parameter isn't supported.</p> </note>"
      }
    },
    "DecimalReturnType": {
      "base": null,
      "refs": {
        "ResultSetOptions$decimalReturnType": "<p>A value that indicates how a field of <code>DECIMAL</code> type is represented in the response. The value of <code>STRING</code>, the default, specifies that it is converted to a String value. The value of <code>DOUBLE_OR_LONG</code> specifies that it is converted to a Long value if its scale is 0, or to a Double value otherwise.</p> <note> <p>Conversion to Double or Long can result in roundoff errors due to precision loss. We recommend converting to String, especially when working with currency values.</p> </note>"
      }
    },
    "DoubleArray": {
      "base": "<p>An array of floating-point numbers.</p> <note> <p>Some array entries can be null.</p> </note>",
      "refs": {
        "ArrayValue$doubleValues": "<p>An array of floating-point numbers.</p>"
      }
    },
    "ErrorMessage": {
      "base": null,
      "refs": {
        "AccessDeniedException$message": null,
        "BadRequestException$message": "<p>The error message returned by this <code>BadRequestException</code> error.</p>",
        "DatabaseErrorException$message": null,
        "DatabaseNotFoundException$message": null,
        "ForbiddenException$message": "<p>The error message returned by this <code>ForbiddenException</code> error.</p>",
        "HttpEndpointNotEnabledException$message": null,
        "InvalidSecretException$message": null,
        "NotFoundException$message": "<p>The error message returned by this <code>NotFoundException</code> error.</p>",
        "SecretsErrorException$message": null,
        "StatementTimeoutException$message": "<p>The error message returned by this <code>StatementTimeoutException</code> error.</p>",
        "TransactionNotFoundException$message": null,
        "UnsupportedResultException$message": null
      }
    },
    "ExecuteSqlRequest": {
      "base": "<p>The request parameters represent the input of a request to run one or more SQL statements.</p>",
      "refs": {
      }
    },
    "ExecuteSqlResponse": {
      "base": "<p>The response elements represent the output of a request to run one or more SQL statements.</p>",
      "refs": {
      }
    },
    "ExecuteStatementRequest": {
      "base": "<p>The request parameters represent the input of a request to run a SQL statement against a database.</p>",
      "refs": {
      }
    },
    "ExecuteStatementResponse": {
      "base": "<p>The response elements represent the output of a request to run a SQL statement against a database.</p>",
      "refs": {
      }
    },
    "Field": {
      "base": "<p>Contains a value.</p>",
      "refs": {
        "FieldList$member": null,
        "SqlParameter$value": "<p>The value of the parameter.</p>"
      }
    },
    "FieldList": {
      "base": null,
      "refs": {
        "ExecuteStatementResponse$generatedFields": "<p>Values for fields generated during a DML request.</p> <note> <p>The <code>generatedFields</code> data isn't supported by Aurora PostgreSQL. To get the values of generated fields, use the <code>RETURNING</code> clause. For more information, see <a href=\"https://www.postgresql.org/docs/10/dml-returning.html\">Returning Data From Modified Rows</a> in the PostgreSQL documentation.</p> </note>",
        "SqlRecords$member": null,
        "UpdateResult$generatedFields": "<p>Values for fields generated during the request.</p>"
      }
    },
    "ForbiddenException": {
      "base": "<p>There are insufficient privileges to make the call.</p>",
      "refs": {
      }
    },
    "FormattedSqlRecords": {
      "base": null,
      "refs": {
        "ExecuteStatementResponse$formattedRecords": "<p>A string value that represents the result set of a <code>SELECT</code> statement in JSON format. This value is only present when the <code>formatRecordsAs</code> parameter is set to <code>JSON</code>.</p> <p>The size limit for this field is currently 10 MB. If the JSON-formatted string representing the result set requires more than 10 MB, the call returns an error.</p>"
      }
    },
    "HttpEndpointNotEnabledException": {
      "base": "<p>The HTTP endpoint for using RDS Data API isn't enabled for the DB cluster.</p>",
      "refs": {
      }
    },
    "Id": {
      "base": null,
      "refs": {
        "BatchExecuteStatementRequest$transactionId": "<p>The identifier of a transaction that was started by using the <code>BeginTransaction</code> operation. Specify the transaction ID of the transaction that you want to include the SQL statement in.</p> <p>If the SQL statement is not part of a transaction, don't set this parameter.</p>",
        "BeginTransactionResponse$transactionId": "<p>The transaction ID of the transaction started by the call.</p>",
        "CommitTransactionRequest$transactionId": "<p>The identifier of the transaction to end and commit.</p>",
        "ExecuteStatementRequest$transactionId": "<p>The identifier of a transaction that was started by using the <code>BeginTransaction</code> operation. Specify the transaction ID of the transaction that you want to include the SQL statement in.</p> <p>If the SQL statement is not part of a transaction, don't set this parameter.</p>",
        "RollbackTransactionRequest$transactionId": "<p>The identifier of the transaction to roll back.</p>"
      }
    },
    "Integer": {
      "base": null,
      "refs": {
        "ColumnMetadata$type": "<p>The type of the column.</p>",
        "ColumnMetadata$nullable": "<p>A value that indicates whether the column is nullable.</p>",
        "ColumnMetadata$precision": "<p>The precision value of a decimal number column.</p>",
        "ColumnMetadata$scale": "<p>The scale value of a decimal number column.</p>",
        "ColumnMetadata$arrayBaseColumnType": "<p>The type of the column.</p>"
      }
    },
    "InternalServerErrorException": {
      "base": "<p>An internal error occurred.</p>",
      "refs": {
      }
    },
    "InvalidSecretException": {
      "base": "<p>The Secrets Manager secret used with the request isn't valid.</p>",
      "refs": {
      }
    },
    "Long": {
      "base": null,
      "refs": {
        "ResultSetMetadata$columnCount": "<p>The number of columns in the result set.</p>",
        "StatementTimeoutException$dbConnectionId": "<p>The database connection ID that executed the SQL statement.</p>"
      }
    },
    "LongArray": {
      "base": "<p>An array of integers.</p> <note> <p>Some array entries can be null.</p> </note>",
      "refs": {
        "ArrayValue$longValues": "<p>An array of integers.</p>"
      }
    },
    "LongReturnType": {
      "base": null,
      "refs": {
        "ResultSetOptions$longReturnType": "<p>A value that indicates how a field of <code>LONG</code> type is represented. Allowed values are <code>LONG</code> and <code>STRING</code>. The default is <code>LONG</code>. Specify <code>STRING</code> if the length or precision of numeric values might cause truncation or rounding errors. </p>"
      }
    },
    "Metadata": {
      "base": null,
      "refs": {
        "ExecuteStatementResponse$columnMetadata": "<p>Metadata for the columns included in the results. This field is blank if the <code>formatRecordsAs</code> parameter is set to <code>JSON</code>.</p>",
        "ResultSetMetadata$columnMetadata": "<p>The metadata of the columns in the result set.</p>"
      }
    },
    "NotFoundException": {
      "base": "<p>The <code>resourceArn</code>, <code>secretArn</code>, or <code>transactionId</code> value can't be found.</p>",
      "refs": {
      }
    },
    "ParameterName": {
      "base": null,
      "refs": {
        "SqlParameter$name": "<p>The name of the parameter.</p>"
      }
    },
    "Record": {
      "base": "<p>A record returned by a call.</p> <note> <p>This data structure is only used with the deprecated <code>ExecuteSql</code> operation. Use the <code>BatchExecuteStatement</code> or <code>ExecuteStatement</code> operation instead.</p> </note>",
      "refs": {
        "Records$member": null
      }
    },
    "Records": {
      "base": null,
      "refs": {
        "ResultFrame$records": "<p>The records in the result set.</p>"
      }
    },
    "RecordsFormatType": {
      "base": null,
      "refs": {
        "ExecuteStatementRequest$formatRecordsAs": "<p>A value that indicates whether to format the result set as a single JSON string. This parameter only applies to <code>SELECT</code> statements and is ignored for other types of statements. Allowed values are <code>NONE</code> and <code>JSON</code>. The default value is <code>NONE</code>. The result is returned in the <code>formattedRecords</code> field.</p> <p>For usage information about the JSON format for result sets, see <a href=\"https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html\">Using the Data API</a> in the <i>Amazon Aurora User Guide</i>.</p>"
      }
    },
    "RecordsUpdated": {
      "base": null,
      "refs": {
        "ExecuteStatementResponse$numberOfRecordsUpdated": "<p>The number of records updated by the request.</p>",
        "SqlStatementResult$numberOfRecordsUpdated": "<p>The number of records updated by a SQL statement.</p>"
      }
    },
    "ResultFrame": {
      "base": "<p>The result set returned by a SQL statement.</p> <note> <p>This data structure is only used with the deprecated <code>ExecuteSql</code> operation. Use the <code>BatchExecuteStatement</code> or <code>ExecuteStatement</code> operation instead.</p> </note>",
      "refs": {
        "SqlStatementResult$resultFrame": "<p>The result set of the SQL statement.</p>"
      }
    },
    "ResultSetMetadata": {
      "base": "<p>The metadata of the result set returned by a SQL statement.</p>",
      "refs": {
        "ResultFrame$resultSetMetadata": "<p>The result-set metadata in the result set.</p>"
      }
    },
    "ResultSetOptions": {
      "base": "<p>Options that control how the result set is returned.</p>",
      "refs": {
        "ExecuteStatementRequest$resultSetOptions": "<p>Options that control how the result set is returned.</p>"
      }
    },
    "RollbackTransactionRequest": {
      "base": "<p>The request parameters represent the input of a request to perform a rollback of a transaction.</p>",
      "refs": {
      }
    },
    "RollbackTransactionResponse": {
      "base": "<p>The response elements represent the output of a request to perform a rollback of a transaction.</p>",
      "refs": {
      }
    },
    "Row": {
      "base": null,
      "refs": {
        "Record$values": "<p>The values returned in the record.</p>"
      }
    },
    "SecretsErrorException": {
      "base": "<p>There was a problem with the Secrets Manager secret used with the request, caused by one of the following conditions:</p> <ul> <li> <p>RDS Data API timed out retrieving the secret.</p> </li> <li> <p>The secret provided wasn't found.</p> </li> <li> <p>The secret couldn't be decrypted.</p> </li> </ul>",
      "refs": {
      }
    },
    "ServiceUnavailableError": {
      "base": "<p>The service specified by the <code>resourceArn</code> parameter isn't available.</p>",
      "refs": {
      }
    },
    "SqlParameter": {
      "base": "<p>A parameter used in a SQL statement.</p>",
      "refs": {
        "SqlParametersList$member": null
      }
    },
    "SqlParameterSets": {
      "base": null,
      "refs": {
        "BatchExecuteStatementRequest$parameterSets": "<p>The parameter set for the batch operation.</p> <p>The SQL statement is executed as many times as the number of parameter sets provided. To execute a SQL statement with no parameters, use one of the following options:</p> <ul> <li> <p>Specify one or more empty parameter sets.</p> </li> <li> <p>Use the <code>ExecuteStatement</code> operation instead of the <code>BatchExecuteStatement</code> operation.</p> </li> </ul> <note> <p>Array parameters are not supported.</p> </note>"
      }
    },
    "SqlParametersList": {
      "base": null,
      "refs": {
        "ExecuteStatementRequest$parameters": "<p>The parameters for the SQL statement.</p> <note> <p>Array parameters are not supported.</p> </note>",
        "SqlParameterSets$member": null
      }
    },
    "SqlRecords": {
      "base": null,
      "refs": {
        "ExecuteStatementResponse$records": "<p>The records returned by the SQL statement. This field is blank if the <code>formatRecordsAs</code> parameter is set to <code>JSON</code>.</p>"
      }
    },
    "SqlStatement": {
      "base": null,
      "refs": {
        "BatchExecuteStatementRequest$sql": "<p>The SQL statement to run. Don't include a semicolon (;) at the end of the SQL statement.</p>",
        "ExecuteSqlRequest$sqlStatements": "<p>One or more SQL statements to run on the DB cluster.</p> <p>You can separate SQL statements from each other with a semicolon (;). Any valid SQL statement is permitted, including data definition, data manipulation, and commit statements. </p>",
        "ExecuteStatementRequest$sql": "<p>The SQL statement to run.</p>"
      }
    },
    "SqlStatementResult": {
      "base": "<p>The result of a SQL statement.</p> <note> <p>This data structure is only used with the deprecated <code>ExecuteSql</code> operation. Use the <code>BatchExecuteStatement</code> or <code>ExecuteStatement</code> operation instead.</p> </note>",
      "refs": {
        "SqlStatementResults$member": null
      }
    },
    "SqlStatementResults": {
      "base": null,
      "refs": {
        "ExecuteSqlResponse$sqlStatementResults": "<p>The results of the SQL statement or statements.</p>"
      }
    },
    "StatementTimeoutException": {
      "base": "<p>The execution of the SQL statement timed out.</p>",
      "refs": {
      }
    },
    "String": {
      "base": null,
      "refs": {
        "ColumnMetadata$name": "<p>The name of the column.</p>",
        "ColumnMetadata$typeName": "<p>The database-specific data type of the column.</p>",
        "ColumnMetadata$label": "<p>The label for the column.</p>",
        "ColumnMetadata$schemaName": "<p>The name of the schema that owns the table that includes the column.</p>",
        "ColumnMetadata$tableName": "<p>The name of the table that includes the column.</p>",
        "Field$stringValue": "<p>A value of string data type.</p>",
        "StringArray$member": null,
        "Value$stringValue": "<p>A value for a column of string data type.</p>"
      }
    },
    "StringArray": {
      "base": "<p>An array of strings.</p> <note> <p>Some array entries can be null.</p> </note>",
      "refs": {
        "ArrayValue$stringValues": "<p>An array of strings.</p>"
      }
    },
    "StructValue": {
      "base": "<p>A structure value returned by a call.</p> <note> <p>This data structure is only used with the deprecated <code>ExecuteSql</code> operation. Use the <code>BatchExecuteStatement</code> or <code>ExecuteStatement</code> operation instead.</p> </note>",
      "refs": {
        "Value$structValue": "<p>A value for a column of STRUCT data type.</p>"
      }
    },
    "TransactionNotFoundException": {
      "base": "<p>The transaction ID wasn't found.</p>",
      "refs": {
      }
    },
    "TransactionStatus": {
      "base": null,
      "refs": {
        "CommitTransactionResponse$transactionStatus": "<p>The status of the commit operation.</p>",
        "RollbackTransactionResponse$transactionStatus": "<p>The status of the rollback operation.</p>"
      }
    },
    "TypeHint": {
      "base": null,
      "refs": {
        "SqlParameter$typeHint": "<p>A hint that specifies the correct object type for data type mapping. Possible values are as follows:</p> <ul> <li> <p> <code>DATE</code> - The corresponding <code>String</code> parameter value is sent as an object of <code>DATE</code> type to the database. The accepted format is <code>YYYY-MM-DD</code>.</p> </li> <li> <p> <code>DECIMAL</code> - The corresponding <code>String</code> parameter value is sent as an object of <code>DECIMAL</code> type to the database.</p> </li> <li> <p> <code>JSON</code> - The corresponding <code>String</code> parameter value is sent as an object of <code>JSON</code> type to the database.</p> </li> <li> <p> <code>TIME</code> - The corresponding <code>String</code> parameter value is sent as an object of <code>TIME</code> type to the database. The accepted format is <code>HH:MM:SS[.FFF]</code>.</p> </li> <li> <p> <code>TIMESTAMP</code> - The corresponding <code>String</code> parameter value is sent as an object of <code>TIMESTAMP</code> type to the database. The accepted format is <code>YYYY-MM-DD HH:MM:SS[.FFF]</code>.</p> </li> <li> <p> <code>UUID</code> - The corresponding <code>String</code> parameter value is sent as an object of <code>UUID</code> type to the database. </p> </li> </ul>"
      }
    },
    "UnsupportedResultException": {
      "base": "<p>There was a problem with the result because of one of the following conditions:</p> <ul> <li> <p>It contained an unsupported data type.</p> </li> <li> <p>It contained a multidimensional array.</p> </li> <li> <p>The size was too large.</p> </li> </ul>",
      "refs": {
      }
    },
    "UpdateResult": {
      "base": "<p>The response elements represent the results of an update.</p>",
      "refs": {
        "UpdateResults$member": null
      }
    },
    "UpdateResults": {
      "base": null,
      "refs": {
        "BatchExecuteStatementResponse$updateResults": "<p>The execution results of each batch entry.</p>"
      }
    },
    "Value": {
      "base": "<p>Contains the value of a column.</p> <note> <p>This data structure is only used with the deprecated <code>ExecuteSql</code> operation. Use the <code>BatchExecuteStatement</code> or <code>ExecuteStatement</code> operation instead.</p> </note>",
      "refs": {
        "ArrayValueList$member": null,
        "Row$member": null
      }
    }
  }
}
