1package s3crypto 2 3import "fmt" 4 5type clientVersion int 6 7const ( 8 v1ClientVersion clientVersion = 1 + iota 9 v2ClientVersion 10) 11 12var errDeprecatedIncompatibleCipherBuilder = fmt.Errorf("attempted to use deprecated or incompatible cipher builder") 13 14// compatibleEncryptionFixture is an unexported interface to expose whether a given fixture is compatible for encryption 15// given the provided client version. 16type compatibleEncryptionFixture interface { 17 isEncryptionVersionCompatible(clientVersion) error 18} 19 20// awsFixture is an unexported interface to expose whether a given fixture is an aws provided fixture, and whether that 21// fixtures dependencies were constructed using aws types. 22// 23// This interface is used in v2 clients to warn users if they are using custom implementations of ContentCipherBuilder 24// or CipherDataGenerator. 25type awsFixture interface { 26 isAWSFixture() bool 27} 28