packages feed

amazonka-s3-encryption-2.0: amazonka-s3-encryption.cabal

cabal-version:      2.2
name:               amazonka-s3-encryption
version:            2.0
synopsis:           Amazon Simple Storage Service SDK - Client-Side Encryption.
homepage:           https://github.com/brendanhay/amazonka
bug-reports:        https://github.com/brendanhay/amazonka/issues
license:            MPL-2.0
license-file:       LICENSE
author:             Brendan Hay
maintainer:
  Brendan Hay <brendan.g.hay@gmail.com>, Jack Kelly <jack@jackkelly.name>

copyright:          Copyright (c) 2016 Brendan Hay
category:           AWS
build-type:         Simple
extra-source-files: README.md
description:
  Addons for <http://hackage.haskell.org/package/amazonka-s3 amazonka-s3> to
  support client-side encryption. This allows the use of a client-side master key
  to encrypt/decrypt data locally and store encrypted data in S3 to be later
  decrypt by any other client with access to the same master key. Unencrypted
  object data or keys are not sent to Amazon S3 using this method, but object
  metadata is transmitted in plaintext.
  .
  Encryption and decryption are done in a streaming fashion, with
  encrypted requests being incrementally signed using the version 4 signature
  algorithm and sent via chunked-encoding.
  .
  The client-side master key you provide can be a symmetric key, an
  asymmetric public/private key pair, or a KMS master key.
  .
  This library is designed to be compatible with the official Java
  AWS SDK (both V1 and V2 envelopes), but only a limited set of the possible
  encryption options are supported. Therefore assuming defaults, objects stored
  with this library should be retrievable by any of the other official SDKs, and
  vice versa. The metadata can be attached as header metadata
  on the stored object or as a separate JSON instructions file.
  @PutObject@, @GetObject@, and the various multipart upload operations are supported.
  .
  See <http://hackage.haskell.org/package/amazonka-s3-encryption/docs/Network-AWS-S3-Encryption.html Amazonka.S3.Encryption>
  to get started.

source-repository head
  type:     git
  location: git://github.com/brendanhay/amazonka.git
  subdir:   lib/amazonka-s3-encryption

common base
  default-language:   Haskell2010
  ghc-options:
    -Wall -funbox-strict-fields -fwarn-incomplete-uni-patterns
    -fwarn-incomplete-record-updates -fwarn-missing-deriving-strategies
    -fwarn-unused-packages

  default-extensions:
    NoImplicitPrelude
    DataKinds
    DeriveAnyClass
    DeriveFoldable
    DeriveFunctor
    DeriveGeneric
    DeriveTraversable
    DerivingStrategies
    DerivingVia
    FlexibleContexts
    FlexibleInstances
    GeneralizedNewtypeDeriving
    LambdaCase
    NamedFieldPuns
    OverloadedStrings
    PatternSynonyms
    RankNTypes
    RecordWildCards
    ScopedTypeVariables
    StrictData
    TupleSections
    TypeApplications
    TypeFamilies
    ViewPatterns

  build-depends:      base >=4.12 && <5

library
  import:          base
  hs-source-dirs:  src
  exposed-modules:
    Amazonka.S3.Encryption
    Amazonka.S3.Encryption.Body
    Amazonka.S3.Encryption.Decrypt
    Amazonka.S3.Encryption.Encrypt
    Amazonka.S3.Encryption.Envelope
    Amazonka.S3.Encryption.Instructions
    Amazonka.S3.Encryption.Types

  build-depends:
    , aeson                 ^>=1.5.0.0 || >=2.0 && <2.2 || ^>=2.2
    , amazonka              ^>=2.0
    , amazonka-core         ^>=2.0
    , amazonka-kms          ^>=2.0
    , amazonka-s3           ^>=2.0
    , bytestring            >=0.10.8
    , case-insensitive      >=1.2
    , conduit               >=1.3
    , crypton               >=0.32     && <0.34
    , http-client           >=0.5      && <0.8
    , lens                  >=4.14
    , memory                >=0.6
    , mtl                   >=2.1.3.1
    , text                  >=1.1
    , unordered-containers  >=0.2.5

test-suite amazonka-s3-encryption-test
  type:             exitcode-stdio-1.0
  default-language: Haskell2010
  hs-source-dirs:   test
  main-is:          Main.hs
  ghc-options:      -Wall -threaded

  -- This section is encoded by the template and any modules added by
  -- hand outside these namespaces will not correctly be added to the
  -- distribution package.
  other-modules:    Test.Amazonka.S3.Encryption.Envelope
  build-depends:
    , amazonka-core
    , amazonka-s3-encryption
    , amazonka-test           ^>=2.0
    , base
    , bytestring
    , conduit
    , crypton
    , mtl
    , QuickCheck
    , quickcheck-instances    >=0.3.25.2
    , resourcet
    , tasty
    , tasty-hunit
    , tasty-quickcheck
    , text
    , time
    , unordered-containers