BatchExecuteStatement

enum_TypeHint := [ "JSON", "UUID", "TIMESTAMP", "DATE", "TIME", "DECIMAL" ]

valid {
    input.Body.resourceArn == STRING
    input.Body.secretArn == STRING
    input.Body.sql == STRING
    input.Body.database == STRING
    input.Body.schema == STRING
    input.Body.parameterSets[_][_].name == STRING
    input.Body.parameterSets[_][_].value.isNull == BOOLEAN
    input.Body.parameterSets[_][_].value.booleanValue == BOOLEAN
    input.Body.parameterSets[_][_].value.longValue == LONG
    input.Body.parameterSets[_][_].value.doubleValue == DOUBLE
    input.Body.parameterSets[_][_].value.stringValue == STRING
    input.Body.parameterSets[_][_].value.blobValue == BLOB
    input.Body.parameterSets[_][_].value.arrayValue.booleanValues[_] == BOOLEAN
    input.Body.parameterSets[_][_].value.arrayValue.longValues[_] == LONG
    input.Body.parameterSets[_][_].value.arrayValue.doubleValues[_] == DOUBLE
    input.Body.parameterSets[_][_].value.arrayValue.stringValues[_] == STRING
    input.Body.parameterSets[_][_].value.arrayValue.arrayValues[_] == NESTED
    input.Body.parameterSets[_][_].typeHint == enum_TypeHint[_]
    input.Body.transactionId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

BeginTransaction

valid {
    input.Body.resourceArn == STRING
    input.Body.secretArn == STRING
    input.Body.database == STRING
    input.Body.schema == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CommitTransaction

valid {
    input.Body.resourceArn == STRING
    input.Body.secretArn == STRING
    input.Body.transactionId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ExecuteSql

valid {
    input.Body.dbClusterOrInstanceArn == STRING
    input.Body.awsSecretStoreArn == STRING
    input.Body.sqlStatements == STRING
    input.Body.database == STRING
    input.Body.schema == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ExecuteStatement

enum_DecimalReturnType := [ "STRING", "DOUBLE_OR_LONG" ]
enum_LongReturnType := [ "STRING", "LONG" ]
enum_RecordsFormatType := [ "NONE", "JSON" ]
enum_TypeHint := [ "JSON", "UUID", "TIMESTAMP", "DATE", "TIME", "DECIMAL" ]

valid {
    input.Body.resourceArn == STRING
    input.Body.secretArn == STRING
    input.Body.sql == STRING
    input.Body.database == STRING
    input.Body.schema == STRING
    input.Body.parameters[_].name == STRING
    input.Body.parameters[_].value.isNull == BOOLEAN
    input.Body.parameters[_].value.booleanValue == BOOLEAN
    input.Body.parameters[_].value.longValue == LONG
    input.Body.parameters[_].value.doubleValue == DOUBLE
    input.Body.parameters[_].value.stringValue == STRING
    input.Body.parameters[_].value.blobValue == BLOB
    input.Body.parameters[_].value.arrayValue.booleanValues[_] == BOOLEAN
    input.Body.parameters[_].value.arrayValue.longValues[_] == LONG
    input.Body.parameters[_].value.arrayValue.doubleValues[_] == DOUBLE
    input.Body.parameters[_].value.arrayValue.stringValues[_] == STRING
    input.Body.parameters[_].value.arrayValue.arrayValues[_] == NESTED
    input.Body.parameters[_].typeHint == enum_TypeHint[_]
    input.Body.transactionId == STRING
    input.Body.includeResultMetadata == BOOLEAN
    input.Body.continueAfterTimeout == BOOLEAN
    input.Body.resultSetOptions.decimalReturnType == enum_DecimalReturnType[_]
    input.Body.resultSetOptions.longReturnType == enum_LongReturnType[_]
    input.Body.formatRecordsAs == enum_RecordsFormatType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

RollbackTransaction

valid {
    input.Body.resourceArn == STRING
    input.Body.secretArn == STRING
    input.Body.transactionId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}