packages feed

amazonka-iam-policy 0.0.1 → 0.0.2

raw patch · 2 files changed

+15/−21 lines, 2 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Amazonka.IAM.Policy: instance (Data.Semigroup.Semigroup a, GHC.Base.Monoid a) => GHC.Base.Monoid (Amazonka.IAM.Policy.Match a)
- Amazonka.IAM.Policy: instance Data.Semigroup.Semigroup (Amazonka.IAM.Policy.Policy a)
- Amazonka.IAM.Policy: instance Data.Semigroup.Semigroup Amazonka.IAM.Policy.Version
- Amazonka.IAM.Policy: instance Data.Semigroup.Semigroup a => Data.Semigroup.Semigroup (Amazonka.IAM.Policy.Match a)
+ Amazonka.IAM.Policy: instance (GHC.Base.Semigroup a, GHC.Base.Monoid a) => GHC.Base.Monoid (Amazonka.IAM.Policy.Match a)
+ Amazonka.IAM.Policy: instance GHC.Base.Semigroup (Amazonka.IAM.Policy.Policy a)
+ Amazonka.IAM.Policy: instance GHC.Base.Semigroup Amazonka.IAM.Policy.Version
+ Amazonka.IAM.Policy: instance GHC.Base.Semigroup a => GHC.Base.Semigroup (Amazonka.IAM.Policy.Match a)
+ Amazonka.IAM.Policy: type Document = Policy Statement

Files

amazonka-iam-policy.cabal view
@@ -1,5 +1,5 @@ name:                  amazonka-iam-policy-version:               0.0.1+version:               0.0.2 synopsis:              Amazon IAM Policy Document DSL and Combinators. homepage:              https://github.com/brendanhay/amazonka-iam-policy bug-reports:           https://github.com/brendanhay/amazonka-iam-policy/issues@@ -35,7 +35,6 @@ source-repository head     type:              git     location:          git://github.com/brendanhay/amazonka-iam-policy.git-    subdir:            amazonka-iam-policy  library     default-language:  Haskell2010
src/Amazonka/IAM/Policy.hs view
@@ -28,7 +28,8 @@     -- $usage      -- * Policy Documents-      Policy    (..)+      Document+    , Policy    (..)      -- ** Constructing Policies     , document@@ -104,6 +105,7 @@ import qualified Data.Aeson.Types             as JSON import qualified Data.ByteString.Base64       as Base64 import qualified Data.ByteString.Lazy         as LBS+import qualified Data.List.NonEmpty           as NE import qualified Data.Text.Encoding           as Text import qualified Data.Time.Clock.POSIX        as POSIX import qualified Data.Time.Format             as Time@@ -277,28 +279,24 @@             "Action": [                 "foo",                 "bar"-            ],-            "Resource": []+            ] ...  >>> encode' $ singleton (allow { action = not ["baz"] }) ...             "Effect": "Allow",-            "Resource": [],             "NotAction": "baz" ...  >>> encode' $ singleton (allow { action = any }) ...             "Effect": "Allow",-            "Action": "*",-            "Resource": []+            "Action": "*" ...  >>> encode' $ singleton (allow { action = none }) ...             "Effect": "Allow",-            "Resource": [],             "NotAction": "*" ... @@ -446,6 +444,8 @@ > }  -}+type Document = Policy Statement+ data Policy a = Policy     { version   :: !(Maybe Version)     , id        :: !(Maybe Id)@@ -488,13 +488,11 @@     "Statement": [         {             "Effect": "Allow",-            "Action": [],-            "Resource": []+            "Action": []         },         {             "Effect": "Deny",-            "Action": [],-            "Resource": []+            "Action": []         }     ],     "Version": "2012-10-17"@@ -536,7 +534,7 @@ ==== Example  >>> encode $ singleton allow-"{\"Statement\":[{\"Effect\":\"Allow\",\"Action\":[],\"Resource\":[]}],\"Version\":\"2012-10-17\"}"+"{\"Statement\":[{\"Effect\":\"Allow\",\"Action\":[]}],\"Version\":\"2012-10-17\"}"  -} encode :: Policy Statement -> LBS.ByteString@@ -648,7 +646,8 @@             , fmap (blockToJSON "Principal") principal             , Just ("Effect" .= effect)             , Just (blockToJSON "Action"   $ oneOrMany action)-            , Just (blockToJSON "Resource" $ oneOrMany resource)+            , fmap (blockToJSON "Resource" . oneOrMany . fmap NE.toList)+                   (sequence (fmap NE.nonEmpty resource))             , fmap ("Condition" .=) condition             ]     {-# INLINEABLE toJSON #-}@@ -711,7 +710,6 @@         {             "Effect": "Allow",             "Action": [],-            "Resource": [],             "Sid": "cd3ad3d9-2776-4ef1-a904-4c229d1642ee"         }     ],@@ -795,8 +793,7 @@         {             "Effect": "Allow",             "NotPrincipal": "*",-            "Action": [],-            "Resource": []+            "Action": []         }     ],     "Version": "2012-10-17"@@ -812,8 +809,7 @@                 "AWS": [                     "arn:foo:::bar"                 ]-            },-            "Resource": []+            }         }     ],     "Version": "2012-10-17"@@ -992,7 +988,6 @@         {             "Effect": "Allow",             "Action": [],-            "Resource": [],             "Condition": {                 "Bool": {                     "aws:MultiFactorAuthPresent": true