packages feed

aws-arn-0.3.3.0: aws-arn.cabal

cabal-version:   2.2
name:            aws-arn
version:         0.3.3.0
synopsis:
  Types and optics for manipulating Amazon Resource Names (ARNs)

description:
  This library provides a type representing [Amazon Resource Names
  (ARNs)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html),
  and parsing/unparsing functions for them. The provided prisms, when
  combined with [generic-lens](https://hackage.haskell.org/package/generic-lens)
  or [generic-optics](https://hackage.haskell.org/package/generic-optics),
  make it very convenient to rewrite parts of ARNs.
  .
  Start reading at the "Network.AWS.ARN" module, which defines the
  core data type and includes some examples.
  .
  The @ARN@ type is not designed to be a 100% correct-by-construction
  representation of only valid ARNs; it is designed to be a
  lightweight way to destructure and reassemble ARNs to be used in
  place of string munging.
  .
  The library aims to provide additional parsers for destructuring the
  "resource" part of an ARN, but many are missing right now. PRs to
  add this support for more AWS resource types are __especially__
  welcome.

bug-reports:     http://github.com/bellroy/aws-arn/issues
license:         BSD-3-Clause
license-file:    LICENSE
author:          Bellroy Tech Team <haskell@bellroy.com>
maintainer:      Bellroy Tech Team <haskell@bellroy.com>
copyright:       Copyright (C) 2020-2022 Bellroy Pty Ltd
category:        AWS, Cloud
build-type:      Simple
extra-doc-files:
  CHANGELOG.md
  README.md

tested-with:
  GHC ==8.10.7
   || ==9.0.2
   || ==9.2.5
   || ==9.4.5
   || ==9.6.6
   || ==9.8.2
   || ==9.10.1

common opts
  default-language: Haskell2010
  ghc-options:
    -Wall -Wcompat -Widentities -Wincomplete-record-updates
    -Wincomplete-uni-patterns -Werror=incomplete-patterns
    -Wredundant-constraints -Wpartial-fields -Wtabs
    -Wmissing-local-signatures -fhelpful-errors
    -fprint-expanded-synonyms -fwarn-unused-do-bind

common deps
  build-depends:
    , base             >=4.12   && <4.21
    , deriving-compat  >=0.5.10 && <0.7
    , microlens-pro    ^>=0.2
    , tagged           ^>=0.8
    , text             ^>=1.2.3 || ^>=2.0 || ^>=2.1

library
  import:          opts, deps
  exposed-modules:
    Network.AWS.ARN
    Network.AWS.ARN.Lambda
    Network.AWS.ARN.S3
    Network.AWS.ARN.States

  build-depends:   hashable >=1.3.0.0 && <1.6
  hs-source-dirs:  src

test-suite spec
  import:             opts, deps
  type:               exitcode-stdio-1.0
  main-is:            Main.hs
  other-modules:
    Network.AWS.ARN.LambdaTest
    Network.AWS.ARN.S3Test
    Network.AWS.ARN.StatesTest
    Network.AWS.ARNTest

  hs-source-dirs:     test
  ghc-options:        -threaded
  build-depends:
    , aws-arn
    , tasty        ^>=1.4.0.2  || ^>=1.5
    , tasty-hunit  ^>=0.10.0.3

  build-tool-depends: tasty-discover:tasty-discover >=4.2.2 && <5.1

source-repository head
  type:     git
  location: https://github.com/bellroy/aws-arn.git