AnalyzeDocument

enum_ContentClassifier := [ "FreeOfPersonallyIdentifiableInformation", "FreeOfAdultContent" ]
enum_FeatureType := [ "TABLES", "FORMS", "QUERIES", "SIGNATURES", "LAYOUT" ]

valid {
    input.Body.Document.Bytes == BLOB
    input.Body.Document.S3Object.Bucket == STRING
    input.Body.Document.S3Object.Name == STRING
    input.Body.Document.S3Object.Version == STRING
    input.Body.FeatureTypes[_] == enum_FeatureType[_]
    input.Body.HumanLoopConfig.HumanLoopName == STRING
    input.Body.HumanLoopConfig.FlowDefinitionArn == STRING
    input.Body.HumanLoopConfig.DataAttributes.ContentClassifiers[_] == enum_ContentClassifier[_]
    input.Body.QueriesConfig.Queries[_].Text == STRING
    input.Body.QueriesConfig.Queries[_].Alias == STRING
    input.Body.QueriesConfig.Queries[_].Pages[_] == STRING
    input.Body.AdaptersConfig.Adapters[_].AdapterId == STRING
    input.Body.AdaptersConfig.Adapters[_].Pages[_] == STRING
    input.Body.AdaptersConfig.Adapters[_].Version == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

AnalyzeExpense

valid {
    input.Body.Document.Bytes == BLOB
    input.Body.Document.S3Object.Bucket == STRING
    input.Body.Document.S3Object.Name == STRING
    input.Body.Document.S3Object.Version == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

AnalyzeID

valid {
    input.Body.DocumentPages[_].Bytes == BLOB
    input.Body.DocumentPages[_].S3Object.Bucket == STRING
    input.Body.DocumentPages[_].S3Object.Name == STRING
    input.Body.DocumentPages[_].S3Object.Version == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateAdapter

enum_AutoUpdate := [ "ENABLED", "DISABLED" ]
enum_FeatureType := [ "TABLES", "FORMS", "QUERIES", "SIGNATURES", "LAYOUT" ]

valid {
    input.Body.AdapterName == STRING
    input.Body.ClientRequestToken == STRING
    input.Body.Description == STRING
    input.Body.FeatureTypes[_] == enum_FeatureType[_]
    input.Body.AutoUpdate == enum_AutoUpdate[_]
    input.Body.Tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateAdapterVersion

valid {
    input.Body.AdapterId == STRING
    input.Body.ClientRequestToken == STRING
    input.Body.DatasetConfig.ManifestS3Object.Bucket == STRING
    input.Body.DatasetConfig.ManifestS3Object.Name == STRING
    input.Body.DatasetConfig.ManifestS3Object.Version == STRING
    input.Body.KMSKeyId == STRING
    input.Body.OutputConfig.S3Bucket == STRING
    input.Body.OutputConfig.S3Prefix == STRING
    input.Body.Tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteAdapter

valid {
    input.Body.AdapterId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteAdapterVersion

valid {
    input.Body.AdapterId == STRING
    input.Body.AdapterVersion == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DetectDocumentText

valid {
    input.Body.Document.Bytes == BLOB
    input.Body.Document.S3Object.Bucket == STRING
    input.Body.Document.S3Object.Name == STRING
    input.Body.Document.S3Object.Version == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetAdapter

valid {
    input.Body.AdapterId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetAdapterVersion

valid {
    input.Body.AdapterId == STRING
    input.Body.AdapterVersion == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetDocumentAnalysis

valid {
    input.Body.JobId == STRING
    input.Body.MaxResults == INTEGER
    input.Body.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetDocumentTextDetection

valid {
    input.Body.JobId == STRING
    input.Body.MaxResults == INTEGER
    input.Body.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetExpenseAnalysis

valid {
    input.Body.JobId == STRING
    input.Body.MaxResults == INTEGER
    input.Body.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetLendingAnalysis

valid {
    input.Body.JobId == STRING
    input.Body.MaxResults == INTEGER
    input.Body.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetLendingAnalysisSummary

valid {
    input.Body.JobId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListAdapterVersions

valid {
    input.Body.AdapterId == STRING
    input.Body.AfterCreationTime == TIMESTAMP
    input.Body.BeforeCreationTime == TIMESTAMP
    input.Body.MaxResults == INTEGER
    input.Body.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListAdapters

valid {
    input.Body.AfterCreationTime == TIMESTAMP
    input.Body.BeforeCreationTime == TIMESTAMP
    input.Body.MaxResults == INTEGER
    input.Body.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListTagsForResource

valid {
    input.Body.ResourceARN == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartDocumentAnalysis

enum_FeatureType := [ "TABLES", "FORMS", "QUERIES", "SIGNATURES", "LAYOUT" ]

valid {
    input.Body.DocumentLocation.S3Object.Bucket == STRING
    input.Body.DocumentLocation.S3Object.Name == STRING
    input.Body.DocumentLocation.S3Object.Version == STRING
    input.Body.FeatureTypes[_] == enum_FeatureType[_]
    input.Body.ClientRequestToken == STRING
    input.Body.JobTag == STRING
    input.Body.NotificationChannel.SNSTopicArn == STRING
    input.Body.NotificationChannel.RoleArn == STRING
    input.Body.OutputConfig.S3Bucket == STRING
    input.Body.OutputConfig.S3Prefix == STRING
    input.Body.KMSKeyId == STRING
    input.Body.QueriesConfig.Queries[_].Text == STRING
    input.Body.QueriesConfig.Queries[_].Alias == STRING
    input.Body.QueriesConfig.Queries[_].Pages[_] == STRING
    input.Body.AdaptersConfig.Adapters[_].AdapterId == STRING
    input.Body.AdaptersConfig.Adapters[_].Pages[_] == STRING
    input.Body.AdaptersConfig.Adapters[_].Version == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartDocumentTextDetection

valid {
    input.Body.DocumentLocation.S3Object.Bucket == STRING
    input.Body.DocumentLocation.S3Object.Name == STRING
    input.Body.DocumentLocation.S3Object.Version == STRING
    input.Body.ClientRequestToken == STRING
    input.Body.JobTag == STRING
    input.Body.NotificationChannel.SNSTopicArn == STRING
    input.Body.NotificationChannel.RoleArn == STRING
    input.Body.OutputConfig.S3Bucket == STRING
    input.Body.OutputConfig.S3Prefix == STRING
    input.Body.KMSKeyId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartExpenseAnalysis

valid {
    input.Body.DocumentLocation.S3Object.Bucket == STRING
    input.Body.DocumentLocation.S3Object.Name == STRING
    input.Body.DocumentLocation.S3Object.Version == STRING
    input.Body.ClientRequestToken == STRING
    input.Body.JobTag == STRING
    input.Body.NotificationChannel.SNSTopicArn == STRING
    input.Body.NotificationChannel.RoleArn == STRING
    input.Body.OutputConfig.S3Bucket == STRING
    input.Body.OutputConfig.S3Prefix == STRING
    input.Body.KMSKeyId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartLendingAnalysis

valid {
    input.Body.DocumentLocation.S3Object.Bucket == STRING
    input.Body.DocumentLocation.S3Object.Name == STRING
    input.Body.DocumentLocation.S3Object.Version == STRING
    input.Body.ClientRequestToken == STRING
    input.Body.JobTag == STRING
    input.Body.NotificationChannel.SNSTopicArn == STRING
    input.Body.NotificationChannel.RoleArn == STRING
    input.Body.OutputConfig.S3Bucket == STRING
    input.Body.OutputConfig.S3Prefix == STRING
    input.Body.KMSKeyId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

TagResource

valid {
    input.Body.ResourceARN == STRING
    input.Body.Tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UntagResource

valid {
    input.Body.ResourceARN == STRING
    input.Body.TagKeys[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateAdapter

enum_AutoUpdate := [ "ENABLED", "DISABLED" ]

valid {
    input.Body.AdapterId == STRING
    input.Body.Description == STRING
    input.Body.AdapterName == STRING
    input.Body.AutoUpdate == enum_AutoUpdate[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}