CompleteSnapshot

enum_ChecksumAggregationMethod := [ "LINEAR" ]
enum_ChecksumAlgorithm := [ "SHA256" ]

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

GetSnapshotBlock

valid {
    input.ReqMap.snapshotId == STRING
    input.ReqMap.blockIndex == INTEGER
    input.Qs.blockToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListChangedBlocks

valid {
    input.ReqMap.secondSnapshotId == STRING
    input.Qs.firstSnapshotId == STRING
    input.Qs.pageToken == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.startingBlockIndex == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListSnapshotBlocks

valid {
    input.ReqMap.snapshotId == STRING
    input.Qs.pageToken == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.startingBlockIndex == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

PutSnapshotBlock

enum_ChecksumAlgorithm := [ "SHA256" ]

valid {
    input.Body.BlockData == BLOB
    input.ReqMap.snapshotId == STRING
    input.ReqMap.blockIndex == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartSnapshot

valid {
    input.Body.VolumeSize == LONG
    input.Body.ParentSnapshotId == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.Body.Description == STRING
    input.Body.ClientToken == STRING
    input.Body.Encrypted == BOOLEAN
    input.Body.KmsKeyArn == STRING
    input.Body.Timeout == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}