github.com/aavshr/aws-sdk-go@v1.41.3/service/s3/s3crypto/fixture.go (about)

     1  package s3crypto
     2  
     3  import "fmt"
     4  
     5  type clientVersion int
     6  
     7  const (
     8  	v1ClientVersion clientVersion = 1 + iota
     9  	v2ClientVersion
    10  )
    11  
    12  var 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.
    16  type 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.
    25  type awsFixture interface {
    26  	isAWSFixture() bool
    27  }