CancelJournalKinesisStream

valid {
    input.ReqMap.name == STRING
    input.ReqMap.streamId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateLedger

enum_PermissionsMode := [ "ALLOW_ALL", "STANDARD" ]

valid {
    input.Body.Name == STRING
    input.Body.Tags.STRING == STRING
    input.Body.PermissionsMode == enum_PermissionsMode[_]
    input.Body.DeletionProtection == BOOLEAN
    input.Body.KmsKey == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteLedger

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeJournalKinesisStream

valid {
    input.ReqMap.name == STRING
    input.ReqMap.streamId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeJournalS3Export

valid {
    input.ReqMap.name == STRING
    input.ReqMap.exportId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeLedger

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ExportJournalToS3

enum_OutputFormat := [ "ION_BINARY", "ION_TEXT", "JSON" ]
enum_S3ObjectEncryptionType := [ "SSE_KMS", "SSE_S3", "NO_ENCRYPTION" ]

valid {
    input.Body.InclusiveStartTime == TIMESTAMP
    input.Body.ExclusiveEndTime == TIMESTAMP
    input.Body.S3ExportConfiguration.Bucket == STRING
    input.Body.S3ExportConfiguration.Prefix == STRING
    input.Body.S3ExportConfiguration.EncryptionConfiguration.ObjectEncryptionType == enum_S3ObjectEncryptionType[_]
    input.Body.S3ExportConfiguration.EncryptionConfiguration.KmsKeyArn == STRING
    input.Body.RoleArn == STRING
    input.Body.OutputFormat == enum_OutputFormat[_]
    input.ReqMap.name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetBlock

valid {
    input.Body.BlockAddress.IonText == STRING
    input.Body.DigestTipAddress.IonText == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetDigest

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetRevision

valid {
    input.Body.BlockAddress.IonText == STRING
    input.Body.DocumentId == STRING
    input.Body.DigestTipAddress.IonText == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListJournalKinesisStreamsForLedger

valid {
    input.ReqMap.name == STRING
    input.Qs.max_results == INTEGER
    input.Qs.next_token == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListJournalS3Exports

valid {
    input.Qs.max_results == INTEGER
    input.Qs.next_token == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListJournalS3ExportsForLedger

valid {
    input.ReqMap.name == STRING
    input.Qs.max_results == INTEGER
    input.Qs.next_token == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListLedgers

valid {
    input.Qs.max_results == INTEGER
    input.Qs.next_token == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListTagsForResource

valid {
    input.ReqMap.resourceArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StreamJournalToKinesis

valid {
    input.Body.RoleArn == STRING
    input.Body.Tags.STRING == STRING
    input.Body.InclusiveStartTime == TIMESTAMP
    input.Body.ExclusiveEndTime == TIMESTAMP
    input.Body.KinesisConfiguration.StreamArn == STRING
    input.Body.KinesisConfiguration.AggregationEnabled == BOOLEAN
    input.Body.StreamName == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

TagResource

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

UntagResource

valid {
    input.ReqMap.resourceArn == STRING
    input.Qs.tagKeys[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateLedger

valid {
    input.Body.DeletionProtection == BOOLEAN
    input.Body.KmsKey == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateLedgerPermissionsMode

enum_PermissionsMode := [ "ALLOW_ALL", "STANDARD" ]

valid {
    input.Body.PermissionsMode == enum_PermissionsMode[_]
    input.ReqMap.name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}