S3VECTORS
CreateIndex
enum_DataType := [ "float32" ]
enum_DistanceMetric := [ "euclidean", "cosine" ]
valid {
input.Body.vectorBucketName == STRING
input.Body.vectorBucketArn == STRING
input.Body.indexName == STRING
input.Body.dataType == enum_DataType[_]
input.Body.dimension == INTEGER
input.Body.distanceMetric == enum_DistanceMetric[_]
input.Body.metadataConfiguration.nonFilterableMetadataKeys[_] == STRING
input.ProviderMetadata.Account == STRING
input.ProviderMetadata.AccessKeyId == STRING
input.ProviderMetadata.Region == STRING
}
CreateVectorBucket
enum_SseType := [ "AES256", "aws:kms" ]
valid {
input.Body.vectorBucketName == STRING
input.Body.encryptionConfiguration.sseType == enum_SseType[_]
input.Body.encryptionConfiguration.kmsKeyArn == STRING
input.ProviderMetadata.Account == STRING
input.ProviderMetadata.AccessKeyId == STRING
input.ProviderMetadata.Region == STRING
}
DeleteIndex
valid {
input.Body.vectorBucketName == STRING
input.Body.indexName == STRING
input.Body.indexArn == STRING
input.ProviderMetadata.Account == STRING
input.ProviderMetadata.AccessKeyId == STRING
input.ProviderMetadata.Region == STRING
}
DeleteVectorBucket
valid {
input.Body.vectorBucketName == STRING
input.Body.vectorBucketArn == STRING
input.ProviderMetadata.Account == STRING
input.ProviderMetadata.AccessKeyId == STRING
input.ProviderMetadata.Region == STRING
}
DeleteVectorBucketPolicy
valid {
input.Body.vectorBucketName == STRING
input.Body.vectorBucketArn == STRING
input.ProviderMetadata.Account == STRING
input.ProviderMetadata.AccessKeyId == STRING
input.ProviderMetadata.Region == STRING
}
DeleteVectors
valid {
input.Body.vectorBucketName == STRING
input.Body.indexName == STRING
input.Body.indexArn == STRING
input.Body.keys[_] == STRING
input.ProviderMetadata.Account == STRING
input.ProviderMetadata.AccessKeyId == STRING
input.ProviderMetadata.Region == STRING
}
GetIndex
valid {
input.Body.vectorBucketName == STRING
input.Body.indexName == STRING
input.Body.indexArn == STRING
input.ProviderMetadata.Account == STRING
input.ProviderMetadata.AccessKeyId == STRING
input.ProviderMetadata.Region == STRING
}
GetVectorBucket
valid {
input.Body.vectorBucketName == STRING
input.Body.vectorBucketArn == STRING
input.ProviderMetadata.Account == STRING
input.ProviderMetadata.AccessKeyId == STRING
input.ProviderMetadata.Region == STRING
}
GetVectorBucketPolicy
valid {
input.Body.vectorBucketName == STRING
input.Body.vectorBucketArn == STRING
input.ProviderMetadata.Account == STRING
input.ProviderMetadata.AccessKeyId == STRING
input.ProviderMetadata.Region == STRING
}
GetVectors
valid {
input.Body.vectorBucketName == STRING
input.Body.indexName == STRING
input.Body.indexArn == STRING
input.Body.keys[_] == STRING
input.Body.returnData == BOOLEAN
input.Body.returnMetadata == BOOLEAN
input.ProviderMetadata.Account == STRING
input.ProviderMetadata.AccessKeyId == STRING
input.ProviderMetadata.Region == STRING
}
ListIndexes
valid {
input.Body.vectorBucketName == STRING
input.Body.vectorBucketArn == STRING
input.Body.maxResults == INTEGER
input.Body.nextToken == STRING
input.Body.prefix == STRING
input.ProviderMetadata.Account == STRING
input.ProviderMetadata.AccessKeyId == STRING
input.ProviderMetadata.Region == STRING
}
ListVectorBuckets
valid {
input.Body.maxResults == INTEGER
input.Body.nextToken == STRING
input.Body.prefix == STRING
input.ProviderMetadata.Account == STRING
input.ProviderMetadata.AccessKeyId == STRING
input.ProviderMetadata.Region == STRING
}
ListVectors
valid {
input.Body.vectorBucketName == STRING
input.Body.indexName == STRING
input.Body.indexArn == STRING
input.Body.maxResults == INTEGER
input.Body.nextToken == STRING
input.Body.segmentCount == INTEGER
input.Body.segmentIndex == INTEGER
input.Body.returnData == BOOLEAN
input.Body.returnMetadata == BOOLEAN
input.ProviderMetadata.Account == STRING
input.ProviderMetadata.AccessKeyId == STRING
input.ProviderMetadata.Region == STRING
}
PutVectorBucketPolicy
valid {
input.Body.vectorBucketName == STRING
input.Body.vectorBucketArn == STRING
input.Body.policy == STRING
input.ProviderMetadata.Account == STRING
input.ProviderMetadata.AccessKeyId == STRING
input.ProviderMetadata.Region == STRING
}
PutVectors
valid {
input.Body.vectorBucketName == STRING
input.Body.indexName == STRING
input.Body.indexArn == STRING
input.Body.vectors[_].key == STRING
input.Body.vectors[_].data.float32[_] == FLOAT
input.Body.vectors[_].metadata == {}
input.ProviderMetadata.Account == STRING
input.ProviderMetadata.AccessKeyId == STRING
input.ProviderMetadata.Region == STRING
}
QueryVectors
valid {
input.Body.vectorBucketName == STRING
input.Body.indexName == STRING
input.Body.indexArn == STRING
input.Body.topK == INTEGER
input.Body.queryVector.float32[_] == FLOAT
input.Body.filter == {}
input.Body.returnMetadata == BOOLEAN
input.Body.returnDistance == BOOLEAN
input.ProviderMetadata.Account == STRING
input.ProviderMetadata.AccessKeyId == STRING
input.ProviderMetadata.Region == STRING
}
Updated about 6 hours ago