packages feed

amazonka-iam 1.3.3.1 → 1.3.4

raw patch · 32 files changed

+376/−176 lines, 32 filesdep ~amazonka-coredep ~amazonka-iamdep ~amazonka-testPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: amazonka-core, amazonka-iam, amazonka-test

API changes (from Hackage documentation)

+ Network.AWS.IAM: Resource :: PolicySourceType
+ Network.AWS.IAM: erEvalDecisionDetails :: Lens' EvaluationResult (HashMap Text PolicyEvaluationDecisionType)
+ Network.AWS.IAM.ListAttachedGroupPolicies: instance Network.AWS.Pager.AWSPager Network.AWS.IAM.ListAttachedGroupPolicies.ListAttachedGroupPolicies
+ Network.AWS.IAM.ListAttachedRolePolicies: instance Network.AWS.Pager.AWSPager Network.AWS.IAM.ListAttachedRolePolicies.ListAttachedRolePolicies
+ Network.AWS.IAM.ListAttachedUserPolicies: instance Network.AWS.Pager.AWSPager Network.AWS.IAM.ListAttachedUserPolicies.ListAttachedUserPolicies
+ Network.AWS.IAM.ListEntitiesForPolicy: instance Network.AWS.Pager.AWSPager Network.AWS.IAM.ListEntitiesForPolicy.ListEntitiesForPolicy
+ Network.AWS.IAM.ListPolicyVersions: instance Network.AWS.Pager.AWSPager Network.AWS.IAM.ListPolicyVersions.ListPolicyVersions
+ Network.AWS.IAM.SimulateCustomPolicy: instance GHC.Generics.Selector Network.AWS.IAM.SimulateCustomPolicy.S1_0_6SimulateCustomPolicy
+ Network.AWS.IAM.SimulateCustomPolicy: instance GHC.Generics.Selector Network.AWS.IAM.SimulateCustomPolicy.S1_0_7SimulateCustomPolicy
+ Network.AWS.IAM.SimulateCustomPolicy: instance GHC.Generics.Selector Network.AWS.IAM.SimulateCustomPolicy.S1_0_8SimulateCustomPolicy
+ Network.AWS.IAM.SimulateCustomPolicy: scpCallerARN :: Lens' SimulateCustomPolicy (Maybe Text)
+ Network.AWS.IAM.SimulateCustomPolicy: scpResourceOwner :: Lens' SimulateCustomPolicy (Maybe Text)
+ Network.AWS.IAM.SimulateCustomPolicy: scpResourcePolicy :: Lens' SimulateCustomPolicy (Maybe Text)
+ Network.AWS.IAM.SimulatePrincipalPolicy: instance GHC.Generics.Selector Network.AWS.IAM.SimulatePrincipalPolicy.S1_0_7SimulatePrincipalPolicy
+ Network.AWS.IAM.SimulatePrincipalPolicy: instance GHC.Generics.Selector Network.AWS.IAM.SimulatePrincipalPolicy.S1_0_8SimulatePrincipalPolicy
+ Network.AWS.IAM.SimulatePrincipalPolicy: instance GHC.Generics.Selector Network.AWS.IAM.SimulatePrincipalPolicy.S1_0_9SimulatePrincipalPolicy
+ Network.AWS.IAM.SimulatePrincipalPolicy: sppCallerARN :: Lens' SimulatePrincipalPolicy (Maybe Text)
+ Network.AWS.IAM.SimulatePrincipalPolicy: sppResourceOwner :: Lens' SimulatePrincipalPolicy (Maybe Text)
+ Network.AWS.IAM.SimulatePrincipalPolicy: sppResourcePolicy :: Lens' SimulatePrincipalPolicy (Maybe Text)
+ Network.AWS.IAM.Types: Resource :: PolicySourceType
+ Network.AWS.IAM.Types: erEvalDecisionDetails :: Lens' EvaluationResult (HashMap Text PolicyEvaluationDecisionType)

Files

README.md view
@@ -8,7 +8,7 @@  ## Version -`1.3.3.1`+`1.3.4`   ## Description
amazonka-iam.cabal view
@@ -1,5 +1,5 @@ name:                  amazonka-iam-version:               1.3.3.1+version:               1.3.4 synopsis:              Amazon Identity and Access Management SDK. homepage:              https://github.com/brendanhay/amazonka bug-reports:           https://github.com/brendanhay/amazonka/issues@@ -219,7 +219,7 @@         , Network.AWS.IAM.Types.Sum      build-depends:-          amazonka-core == 1.3.3.*+          amazonka-core == 1.3.4.*         , base          >= 4.7     && < 5  test-suite amazonka-iam-test@@ -239,9 +239,9 @@         , Test.AWS.IAM.Internal      build-depends:-          amazonka-core == 1.3.3.*-        , amazonka-test == 1.3.3.*-        , amazonka-iam == 1.3.3.*+          amazonka-core == 1.3.4.*+        , amazonka-test == 1.3.4.*+        , amazonka-iam == 1.3.4.*         , base         , bytestring         , lens
gen/Network/AWS/IAM.hs view
@@ -202,7 +202,7 @@     -- ** GetUserPolicy     , module Network.AWS.IAM.GetUserPolicy -    -- ** ListAttachedRolePolicies+    -- ** ListAttachedRolePolicies (Paginated)     , module Network.AWS.IAM.ListAttachedRolePolicies      -- ** GetRole@@ -337,7 +337,7 @@     -- ** ListGroupsForUser (Paginated)     , module Network.AWS.IAM.ListGroupsForUser -    -- ** ListEntitiesForPolicy+    -- ** ListEntitiesForPolicy (Paginated)     , module Network.AWS.IAM.ListEntitiesForPolicy      -- ** AddUserToGroup@@ -364,7 +364,7 @@     -- ** UpdateSigningCertificate     , module Network.AWS.IAM.UpdateSigningCertificate -    -- ** ListAttachedUserPolicies+    -- ** ListAttachedUserPolicies (Paginated)     , module Network.AWS.IAM.ListAttachedUserPolicies      -- ** RemoveClientIdFromOpenIdConnectProvider@@ -454,7 +454,7 @@     -- ** SetDefaultPolicyVersion     , module Network.AWS.IAM.SetDefaultPolicyVersion -    -- ** ListPolicyVersions+    -- ** ListPolicyVersions (Paginated)     , module Network.AWS.IAM.ListPolicyVersions      -- ** ListSAMLProviders@@ -493,7 +493,7 @@     -- ** UpdateServerCertificate     , module Network.AWS.IAM.UpdateServerCertificate -    -- ** ListAttachedGroupPolicies+    -- ** ListAttachedGroupPolicies (Paginated)     , module Network.AWS.IAM.ListAttachedGroupPolicies      -- * Types@@ -572,6 +572,7 @@     , EvaluationResult     , evaluationResult     , erMatchedStatements+    , erEvalDecisionDetails     , erMissingContextValues     , erEvalActionName     , erEvalResourceName
gen/Network/AWS/IAM/GetAccountAuthorizationDetails.hs view
@@ -83,19 +83,19 @@  -- | Use this parameter only when paginating results and only after you -- receive a response indicating that the results are truncated. Set it to--- the value of the 'Marker' element in the response you received to inform--- the next call about where to start.+-- the value of the 'Marker' element in the response that you received to+-- indicate where the next call should start. gaadMarker :: Lens' GetAccountAuthorizationDetails (Maybe Text) gaadMarker = lens _gaadMarker (\ s a -> s{_gaadMarker = a});  -- | Use this only when paginating results to indicate the maximum number of--- items you want in the response. If there are additional items beyond the+-- items you want in the response. If additional items exist beyond the -- maximum you specify, the 'IsTruncated' response element is 'true'. -- -- This parameter is optional. If you do not include it, it defaults to -- 100. Note that IAM might return fewer results, even when there are more--- results available. If this is the case, the 'IsTruncated' response--- element returns 'true' and 'Marker' contains a value to include in the+-- results available. In that case, the 'IsTruncated' response element+-- returns 'true' and 'Marker' contains a value to include in the -- subsequent call that tells the service where to continue from. gaadMaxItems :: Lens' GetAccountAuthorizationDetails (Maybe Natural) gaadMaxItems = lens _gaadMaxItems (\ s a -> s{_gaadMaxItems = a}) . mapping _Nat;
gen/Network/AWS/IAM/GetGroup.hs view
@@ -80,19 +80,19 @@  -- | Use this parameter only when paginating results and only after you -- receive a response indicating that the results are truncated. Set it to--- the value of the 'Marker' element in the response you received to inform--- the next call about where to start.+-- the value of the 'Marker' element in the response that you received to+-- indicate where the next call should start. ggMarker :: Lens' GetGroup (Maybe Text) ggMarker = lens _ggMarker (\ s a -> s{_ggMarker = a});  -- | Use this only when paginating results to indicate the maximum number of--- items you want in the response. If there are additional items beyond the+-- items you want in the response. If additional items exist beyond the -- maximum you specify, the 'IsTruncated' response element is 'true'. -- -- This parameter is optional. If you do not include it, it defaults to -- 100. Note that IAM might return fewer results, even when there are more--- results available. If this is the case, the 'IsTruncated' response--- element returns 'true' and 'Marker' contains a value to include in the+-- results available. In that case, the 'IsTruncated' response element+-- returns 'true' and 'Marker' contains a value to include in the -- subsequent call that tells the service where to continue from. ggMaxItems :: Lens' GetGroup (Maybe Natural) ggMaxItems = lens _ggMaxItems (\ s a -> s{_ggMaxItems = a}) . mapping _Nat;
gen/Network/AWS/IAM/ListAccessKeys.hs view
@@ -94,19 +94,19 @@  -- | Use this parameter only when paginating results and only after you -- receive a response indicating that the results are truncated. Set it to--- the value of the 'Marker' element in the response you received to inform--- the next call about where to start.+-- the value of the 'Marker' element in the response that you received to+-- indicate where the next call should start. lakMarker :: Lens' ListAccessKeys (Maybe Text) lakMarker = lens _lakMarker (\ s a -> s{_lakMarker = a});  -- | Use this only when paginating results to indicate the maximum number of--- items you want in the response. If there are additional items beyond the+-- items you want in the response. If additional items exist beyond the -- maximum you specify, the 'IsTruncated' response element is 'true'. -- -- This parameter is optional. If you do not include it, it defaults to -- 100. Note that IAM might return fewer results, even when there are more--- results available. If this is the case, the 'IsTruncated' response--- element returns 'true' and 'Marker' contains a value to include in the+-- results available. In that case, the 'IsTruncated' response element+-- returns 'true' and 'Marker' contains a value to include in the -- subsequent call that tells the service where to continue from. lakMaxItems :: Lens' ListAccessKeys (Maybe Natural) lakMaxItems = lens _lakMaxItems (\ s a -> s{_lakMaxItems = a}) . mapping _Nat;
gen/Network/AWS/IAM/ListAccountAliases.hs view
@@ -78,19 +78,19 @@  -- | Use this parameter only when paginating results and only after you -- receive a response indicating that the results are truncated. Set it to--- the value of the 'Marker' element in the response you received to inform--- the next call about where to start.+-- the value of the 'Marker' element in the response that you received to+-- indicate where the next call should start. laaMarker :: Lens' ListAccountAliases (Maybe Text) laaMarker = lens _laaMarker (\ s a -> s{_laaMarker = a});  -- | Use this only when paginating results to indicate the maximum number of--- items you want in the response. If there are additional items beyond the+-- items you want in the response. If additional items exist beyond the -- maximum you specify, the 'IsTruncated' response element is 'true'. -- -- This parameter is optional. If you do not include it, it defaults to -- 100. Note that IAM might return fewer results, even when there are more--- results available. If this is the case, the 'IsTruncated' response--- element returns 'true' and 'Marker' contains a value to include in the+-- results available. In that case, the 'IsTruncated' response element+-- returns 'true' and 'Marker' contains a value to include in the -- subsequent call that tells the service where to continue from. laaMaxItems :: Lens' ListAccountAliases (Maybe Natural) laaMaxItems = lens _laaMaxItems (\ s a -> s{_laaMaxItems = a}) . mapping _Nat;
gen/Network/AWS/IAM/ListAttachedGroupPolicies.hs view
@@ -33,6 +33,8 @@ -- specified path prefix), the action returns an empty list. -- -- /See:/ <http://docs.aws.amazon.com/IAM/latest/APIReference/API_ListAttachedGroupPolicies.html AWS API Reference> for ListAttachedGroupPolicies.+--+-- This operation returns paginated results. module Network.AWS.IAM.ListAttachedGroupPolicies     (     -- * Creating a Request@@ -56,6 +58,7 @@  import           Network.AWS.IAM.Types import           Network.AWS.IAM.Types.Product+import           Network.AWS.Pager import           Network.AWS.Prelude import           Network.AWS.Request import           Network.AWS.Response@@ -98,19 +101,19 @@  -- | Use this parameter only when paginating results and only after you -- receive a response indicating that the results are truncated. Set it to--- the value of the 'Marker' element in the response you received to inform--- the next call about where to start.+-- the value of the 'Marker' element in the response that you received to+-- indicate where the next call should start. lagpMarker :: Lens' ListAttachedGroupPolicies (Maybe Text) lagpMarker = lens _lagpMarker (\ s a -> s{_lagpMarker = a});  -- | Use this only when paginating results to indicate the maximum number of--- items you want in the response. If there are additional items beyond the+-- items you want in the response. If additional items exist beyond the -- maximum you specify, the 'IsTruncated' response element is 'true'. -- -- This parameter is optional. If you do not include it, it defaults to -- 100. Note that IAM might return fewer results, even when there are more--- results available. If this is the case, the 'IsTruncated' response--- element returns 'true' and 'Marker' contains a value to include in the+-- results available. In that case, the 'IsTruncated' response element+-- returns 'true' and 'Marker' contains a value to include in the -- subsequent call that tells the service where to continue from. lagpMaxItems :: Lens' ListAttachedGroupPolicies (Maybe Natural) lagpMaxItems = lens _lagpMaxItems (\ s a -> s{_lagpMaxItems = a}) . mapping _Nat;@@ -119,6 +122,13 @@ -- for. lagpGroupName :: Lens' ListAttachedGroupPolicies Text lagpGroupName = lens _lagpGroupName (\ s a -> s{_lagpGroupName = a});++instance AWSPager ListAttachedGroupPolicies where+        page rq rs+          | stop (rs ^. lagprsIsTruncated) = Nothing+          | isNothing (rs ^. lagprsMarker) = Nothing+          | otherwise =+            Just $ rq & lagpMarker .~ rs ^. lagprsMarker  instance AWSRequest ListAttachedGroupPolicies where         type Rs ListAttachedGroupPolicies =
gen/Network/AWS/IAM/ListAttachedRolePolicies.hs view
@@ -33,6 +33,8 @@ -- specified path prefix), the action returns an empty list. -- -- /See:/ <http://docs.aws.amazon.com/IAM/latest/APIReference/API_ListAttachedRolePolicies.html AWS API Reference> for ListAttachedRolePolicies.+--+-- This operation returns paginated results. module Network.AWS.IAM.ListAttachedRolePolicies     (     -- * Creating a Request@@ -56,6 +58,7 @@  import           Network.AWS.IAM.Types import           Network.AWS.IAM.Types.Product+import           Network.AWS.Pager import           Network.AWS.Prelude import           Network.AWS.Request import           Network.AWS.Response@@ -98,19 +101,19 @@  -- | Use this parameter only when paginating results and only after you -- receive a response indicating that the results are truncated. Set it to--- the value of the 'Marker' element in the response you received to inform--- the next call about where to start.+-- the value of the 'Marker' element in the response that you received to+-- indicate where the next call should start. larpMarker :: Lens' ListAttachedRolePolicies (Maybe Text) larpMarker = lens _larpMarker (\ s a -> s{_larpMarker = a});  -- | Use this only when paginating results to indicate the maximum number of--- items you want in the response. If there are additional items beyond the+-- items you want in the response. If additional items exist beyond the -- maximum you specify, the 'IsTruncated' response element is 'true'. -- -- This parameter is optional. If you do not include it, it defaults to -- 100. Note that IAM might return fewer results, even when there are more--- results available. If this is the case, the 'IsTruncated' response--- element returns 'true' and 'Marker' contains a value to include in the+-- results available. In that case, the 'IsTruncated' response element+-- returns 'true' and 'Marker' contains a value to include in the -- subsequent call that tells the service where to continue from. larpMaxItems :: Lens' ListAttachedRolePolicies (Maybe Natural) larpMaxItems = lens _larpMaxItems (\ s a -> s{_larpMaxItems = a}) . mapping _Nat;@@ -119,6 +122,13 @@ -- for. larpRoleName :: Lens' ListAttachedRolePolicies Text larpRoleName = lens _larpRoleName (\ s a -> s{_larpRoleName = a});++instance AWSPager ListAttachedRolePolicies where+        page rq rs+          | stop (rs ^. larprsIsTruncated) = Nothing+          | isNothing (rs ^. larprsMarker) = Nothing+          | otherwise =+            Just $ rq & larpMarker .~ rs ^. larprsMarker  instance AWSRequest ListAttachedRolePolicies where         type Rs ListAttachedRolePolicies =
gen/Network/AWS/IAM/ListAttachedUserPolicies.hs view
@@ -33,6 +33,8 @@ -- specified path prefix), the action returns an empty list. -- -- /See:/ <http://docs.aws.amazon.com/IAM/latest/APIReference/API_ListAttachedUserPolicies.html AWS API Reference> for ListAttachedUserPolicies.+--+-- This operation returns paginated results. module Network.AWS.IAM.ListAttachedUserPolicies     (     -- * Creating a Request@@ -56,6 +58,7 @@  import           Network.AWS.IAM.Types import           Network.AWS.IAM.Types.Product+import           Network.AWS.Pager import           Network.AWS.Prelude import           Network.AWS.Request import           Network.AWS.Response@@ -98,19 +101,19 @@  -- | Use this parameter only when paginating results and only after you -- receive a response indicating that the results are truncated. Set it to--- the value of the 'Marker' element in the response you received to inform--- the next call about where to start.+-- the value of the 'Marker' element in the response that you received to+-- indicate where the next call should start. laupMarker :: Lens' ListAttachedUserPolicies (Maybe Text) laupMarker = lens _laupMarker (\ s a -> s{_laupMarker = a});  -- | Use this only when paginating results to indicate the maximum number of--- items you want in the response. If there are additional items beyond the+-- items you want in the response. If additional items exist beyond the -- maximum you specify, the 'IsTruncated' response element is 'true'. -- -- This parameter is optional. If you do not include it, it defaults to -- 100. Note that IAM might return fewer results, even when there are more--- results available. If this is the case, the 'IsTruncated' response--- element returns 'true' and 'Marker' contains a value to include in the+-- results available. In that case, the 'IsTruncated' response element+-- returns 'true' and 'Marker' contains a value to include in the -- subsequent call that tells the service where to continue from. laupMaxItems :: Lens' ListAttachedUserPolicies (Maybe Natural) laupMaxItems = lens _laupMaxItems (\ s a -> s{_laupMaxItems = a}) . mapping _Nat;@@ -119,6 +122,13 @@ -- for. laupUserName :: Lens' ListAttachedUserPolicies Text laupUserName = lens _laupUserName (\ s a -> s{_laupUserName = a});++instance AWSPager ListAttachedUserPolicies where+        page rq rs+          | stop (rs ^. lauprsIsTruncated) = Nothing+          | isNothing (rs ^. lauprsMarker) = Nothing+          | otherwise =+            Just $ rq & laupMarker .~ rs ^. lauprsMarker  instance AWSRequest ListAttachedUserPolicies where         type Rs ListAttachedUserPolicies =
gen/Network/AWS/IAM/ListEntitiesForPolicy.hs view
@@ -30,6 +30,8 @@ -- parameters. -- -- /See:/ <http://docs.aws.amazon.com/IAM/latest/APIReference/API_ListEntitiesForPolicy.html AWS API Reference> for ListEntitiesForPolicy.+--+-- This operation returns paginated results. module Network.AWS.IAM.ListEntitiesForPolicy     (     -- * Creating a Request@@ -56,6 +58,7 @@  import           Network.AWS.IAM.Types import           Network.AWS.IAM.Types.Product+import           Network.AWS.Pager import           Network.AWS.Prelude import           Network.AWS.Request import           Network.AWS.Response@@ -111,19 +114,19 @@  -- | Use this parameter only when paginating results and only after you -- receive a response indicating that the results are truncated. Set it to--- the value of the 'Marker' element in the response you received to inform--- the next call about where to start.+-- the value of the 'Marker' element in the response that you received to+-- indicate where the next call should start. lefpMarker :: Lens' ListEntitiesForPolicy (Maybe Text) lefpMarker = lens _lefpMarker (\ s a -> s{_lefpMarker = a});  -- | Use this only when paginating results to indicate the maximum number of--- items you want in the response. If there are additional items beyond the+-- items you want in the response. If additional items exist beyond the -- maximum you specify, the 'IsTruncated' response element is 'true'. -- -- This parameter is optional. If you do not include it, it defaults to -- 100. Note that IAM might return fewer results, even when there are more--- results available. If this is the case, the 'IsTruncated' response--- element returns 'true' and 'Marker' contains a value to include in the+-- results available. In that case, the 'IsTruncated' response element+-- returns 'true' and 'Marker' contains a value to include in the -- subsequent call that tells the service where to continue from. lefpMaxItems :: Lens' ListEntitiesForPolicy (Maybe Natural) lefpMaxItems = lens _lefpMaxItems (\ s a -> s{_lefpMaxItems = a}) . mapping _Nat;@@ -131,6 +134,13 @@ -- | Undocumented member. lefpPolicyARN :: Lens' ListEntitiesForPolicy Text lefpPolicyARN = lens _lefpPolicyARN (\ s a -> s{_lefpPolicyARN = a});++instance AWSPager ListEntitiesForPolicy where+        page rq rs+          | stop (rs ^. lefprsIsTruncated) = Nothing+          | isNothing (rs ^. lefprsMarker) = Nothing+          | otherwise =+            Just $ rq & lefpMarker .~ rs ^. lefprsMarker  instance AWSRequest ListEntitiesForPolicy where         type Rs ListEntitiesForPolicy =
gen/Network/AWS/IAM/ListGroupPolicies.hs view
@@ -89,19 +89,19 @@  -- | Use this parameter only when paginating results and only after you -- receive a response indicating that the results are truncated. Set it to--- the value of the 'Marker' element in the response you received to inform--- the next call about where to start.+-- the value of the 'Marker' element in the response that you received to+-- indicate where the next call should start. lgpMarker :: Lens' ListGroupPolicies (Maybe Text) lgpMarker = lens _lgpMarker (\ s a -> s{_lgpMarker = a});  -- | Use this only when paginating results to indicate the maximum number of--- items you want in the response. If there are additional items beyond the+-- items you want in the response. If additional items exist beyond the -- maximum you specify, the 'IsTruncated' response element is 'true'. -- -- This parameter is optional. If you do not include it, it defaults to -- 100. Note that IAM might return fewer results, even when there are more--- results available. If this is the case, the 'IsTruncated' response--- element returns 'true' and 'Marker' contains a value to include in the+-- results available. In that case, the 'IsTruncated' response element+-- returns 'true' and 'Marker' contains a value to include in the -- subsequent call that tells the service where to continue from. lgpMaxItems :: Lens' ListGroupPolicies (Maybe Natural) lgpMaxItems = lens _lgpMaxItems (\ s a -> s{_lgpMaxItems = a}) . mapping _Nat;
gen/Network/AWS/IAM/ListGroups.hs view
@@ -89,19 +89,19 @@  -- | Use this parameter only when paginating results and only after you -- receive a response indicating that the results are truncated. Set it to--- the value of the 'Marker' element in the response you received to inform--- the next call about where to start.+-- the value of the 'Marker' element in the response that you received to+-- indicate where the next call should start. lgMarker :: Lens' ListGroups (Maybe Text) lgMarker = lens _lgMarker (\ s a -> s{_lgMarker = a});  -- | Use this only when paginating results to indicate the maximum number of--- items you want in the response. If there are additional items beyond the+-- items you want in the response. If additional items exist beyond the -- maximum you specify, the 'IsTruncated' response element is 'true'. -- -- This parameter is optional. If you do not include it, it defaults to -- 100. Note that IAM might return fewer results, even when there are more--- results available. If this is the case, the 'IsTruncated' response--- element returns 'true' and 'Marker' contains a value to include in the+-- results available. In that case, the 'IsTruncated' response element+-- returns 'true' and 'Marker' contains a value to include in the -- subsequent call that tells the service where to continue from. lgMaxItems :: Lens' ListGroups (Maybe Natural) lgMaxItems = lens _lgMaxItems (\ s a -> s{_lgMaxItems = a}) . mapping _Nat;
gen/Network/AWS/IAM/ListGroupsForUser.hs view
@@ -81,19 +81,19 @@  -- | Use this parameter only when paginating results and only after you -- receive a response indicating that the results are truncated. Set it to--- the value of the 'Marker' element in the response you received to inform--- the next call about where to start.+-- the value of the 'Marker' element in the response that you received to+-- indicate where the next call should start. lgfuMarker :: Lens' ListGroupsForUser (Maybe Text) lgfuMarker = lens _lgfuMarker (\ s a -> s{_lgfuMarker = a});  -- | Use this only when paginating results to indicate the maximum number of--- items you want in the response. If there are additional items beyond the+-- items you want in the response. If additional items exist beyond the -- maximum you specify, the 'IsTruncated' response element is 'true'. -- -- This parameter is optional. If you do not include it, it defaults to -- 100. Note that IAM might return fewer results, even when there are more--- results available. If this is the case, the 'IsTruncated' response--- element returns 'true' and 'Marker' contains a value to include in the+-- results available. In that case, the 'IsTruncated' response element+-- returns 'true' and 'Marker' contains a value to include in the -- subsequent call that tells the service where to continue from. lgfuMaxItems :: Lens' ListGroupsForUser (Maybe Natural) lgfuMaxItems = lens _lgfuMaxItems (\ s a -> s{_lgfuMaxItems = a}) . mapping _Nat;
gen/Network/AWS/IAM/ListInstanceProfiles.hs view
@@ -92,19 +92,19 @@  -- | Use this parameter only when paginating results and only after you -- receive a response indicating that the results are truncated. Set it to--- the value of the 'Marker' element in the response you received to inform--- the next call about where to start.+-- the value of the 'Marker' element in the response that you received to+-- indicate where the next call should start. lipMarker :: Lens' ListInstanceProfiles (Maybe Text) lipMarker = lens _lipMarker (\ s a -> s{_lipMarker = a});  -- | Use this only when paginating results to indicate the maximum number of--- items you want in the response. If there are additional items beyond the+-- items you want in the response. If additional items exist beyond the -- maximum you specify, the 'IsTruncated' response element is 'true'. -- -- This parameter is optional. If you do not include it, it defaults to -- 100. Note that IAM might return fewer results, even when there are more--- results available. If this is the case, the 'IsTruncated' response--- element returns 'true' and 'Marker' contains a value to include in the+-- results available. In that case, the 'IsTruncated' response element+-- returns 'true' and 'Marker' contains a value to include in the -- subsequent call that tells the service where to continue from. lipMaxItems :: Lens' ListInstanceProfiles (Maybe Natural) lipMaxItems = lens _lipMaxItems (\ s a -> s{_lipMaxItems = a}) . mapping _Nat;
gen/Network/AWS/IAM/ListInstanceProfilesForRole.hs view
@@ -84,19 +84,19 @@  -- | Use this parameter only when paginating results and only after you -- receive a response indicating that the results are truncated. Set it to--- the value of the 'Marker' element in the response you received to inform--- the next call about where to start.+-- the value of the 'Marker' element in the response that you received to+-- indicate where the next call should start. lipfrMarker :: Lens' ListInstanceProfilesForRole (Maybe Text) lipfrMarker = lens _lipfrMarker (\ s a -> s{_lipfrMarker = a});  -- | Use this only when paginating results to indicate the maximum number of--- items you want in the response. If there are additional items beyond the+-- items you want in the response. If additional items exist beyond the -- maximum you specify, the 'IsTruncated' response element is 'true'. -- -- This parameter is optional. If you do not include it, it defaults to -- 100. Note that IAM might return fewer results, even when there are more--- results available. If this is the case, the 'IsTruncated' response--- element returns 'true' and 'Marker' contains a value to include in the+-- results available. In that case, the 'IsTruncated' response element+-- returns 'true' and 'Marker' contains a value to include in the -- subsequent call that tells the service where to continue from. lipfrMaxItems :: Lens' ListInstanceProfilesForRole (Maybe Natural) lipfrMaxItems = lens _lipfrMaxItems (\ s a -> s{_lipfrMaxItems = a}) . mapping _Nat;
gen/Network/AWS/IAM/ListMFADevices.hs view
@@ -87,19 +87,19 @@  -- | Use this parameter only when paginating results and only after you -- receive a response indicating that the results are truncated. Set it to--- the value of the 'Marker' element in the response you received to inform--- the next call about where to start.+-- the value of the 'Marker' element in the response that you received to+-- indicate where the next call should start. lmdMarker :: Lens' ListMFADevices (Maybe Text) lmdMarker = lens _lmdMarker (\ s a -> s{_lmdMarker = a});  -- | Use this only when paginating results to indicate the maximum number of--- items you want in the response. If there are additional items beyond the+-- items you want in the response. If additional items exist beyond the -- maximum you specify, the 'IsTruncated' response element is 'true'. -- -- This parameter is optional. If you do not include it, it defaults to -- 100. Note that IAM might return fewer results, even when there are more--- results available. If this is the case, the 'IsTruncated' response--- element returns 'true' and 'Marker' contains a value to include in the+-- results available. In that case, the 'IsTruncated' response element+-- returns 'true' and 'Marker' contains a value to include in the -- subsequent call that tells the service where to continue from. lmdMaxItems :: Lens' ListMFADevices (Maybe Natural) lmdMaxItems = lens _lmdMaxItems (\ s a -> s{_lmdMaxItems = a}) . mapping _Nat;
gen/Network/AWS/IAM/ListPolicies.hs view
@@ -116,8 +116,8 @@  -- | Use this parameter only when paginating results and only after you -- receive a response indicating that the results are truncated. Set it to--- the value of the 'Marker' element in the response you received to inform--- the next call about where to start.+-- the value of the 'Marker' element in the response that you received to+-- indicate where the next call should start. lpMarker :: Lens' ListPolicies (Maybe Text) lpMarker = lens _lpMarker (\ s a -> s{_lpMarker = a}); @@ -133,13 +133,13 @@ lpScope = lens _lpScope (\ s a -> s{_lpScope = a});  -- | Use this only when paginating results to indicate the maximum number of--- items you want in the response. If there are additional items beyond the+-- items you want in the response. If additional items exist beyond the -- maximum you specify, the 'IsTruncated' response element is 'true'. -- -- This parameter is optional. If you do not include it, it defaults to -- 100. Note that IAM might return fewer results, even when there are more--- results available. If this is the case, the 'IsTruncated' response--- element returns 'true' and 'Marker' contains a value to include in the+-- results available. In that case, the 'IsTruncated' response element+-- returns 'true' and 'Marker' contains a value to include in the -- subsequent call that tells the service where to continue from. lpMaxItems :: Lens' ListPolicies (Maybe Natural) lpMaxItems = lens _lpMaxItems (\ s a -> s{_lpMaxItems = a}) . mapping _Nat;
gen/Network/AWS/IAM/ListPolicyVersions.hs view
@@ -26,6 +26,8 @@ -- in the /IAM User Guide/. -- -- /See:/ <http://docs.aws.amazon.com/IAM/latest/APIReference/API_ListPolicyVersions.html AWS API Reference> for ListPolicyVersions.+--+-- This operation returns paginated results. module Network.AWS.IAM.ListPolicyVersions     (     -- * Creating a Request@@ -48,6 +50,7 @@  import           Network.AWS.IAM.Types import           Network.AWS.IAM.Types.Product+import           Network.AWS.Pager import           Network.AWS.Prelude import           Network.AWS.Request import           Network.AWS.Response@@ -80,19 +83,19 @@  -- | Use this parameter only when paginating results and only after you -- receive a response indicating that the results are truncated. Set it to--- the value of the 'Marker' element in the response you received to inform--- the next call about where to start.+-- the value of the 'Marker' element in the response that you received to+-- indicate where the next call should start. lpvMarker :: Lens' ListPolicyVersions (Maybe Text) lpvMarker = lens _lpvMarker (\ s a -> s{_lpvMarker = a});  -- | Use this only when paginating results to indicate the maximum number of--- items you want in the response. If there are additional items beyond the+-- items you want in the response. If additional items exist beyond the -- maximum you specify, the 'IsTruncated' response element is 'true'. -- -- This parameter is optional. If you do not include it, it defaults to -- 100. Note that IAM might return fewer results, even when there are more--- results available. If this is the case, the 'IsTruncated' response--- element returns 'true' and 'Marker' contains a value to include in the+-- results available. In that case, the 'IsTruncated' response element+-- returns 'true' and 'Marker' contains a value to include in the -- subsequent call that tells the service where to continue from. lpvMaxItems :: Lens' ListPolicyVersions (Maybe Natural) lpvMaxItems = lens _lpvMaxItems (\ s a -> s{_lpvMaxItems = a}) . mapping _Nat;@@ -100,6 +103,13 @@ -- | Undocumented member. lpvPolicyARN :: Lens' ListPolicyVersions Text lpvPolicyARN = lens _lpvPolicyARN (\ s a -> s{_lpvPolicyARN = a});++instance AWSPager ListPolicyVersions where+        page rq rs+          | stop (rs ^. lpvrsIsTruncated) = Nothing+          | isNothing (rs ^. lpvrsMarker) = Nothing+          | otherwise =+            Just $ rq & lpvMarker .~ rs ^. lpvrsMarker  instance AWSRequest ListPolicyVersions where         type Rs ListPolicyVersions =
gen/Network/AWS/IAM/ListRolePolicies.hs view
@@ -89,19 +89,19 @@  -- | Use this parameter only when paginating results and only after you -- receive a response indicating that the results are truncated. Set it to--- the value of the 'Marker' element in the response you received to inform--- the next call about where to start.+-- the value of the 'Marker' element in the response that you received to+-- indicate where the next call should start. lrpMarker :: Lens' ListRolePolicies (Maybe Text) lrpMarker = lens _lrpMarker (\ s a -> s{_lrpMarker = a});  -- | Use this only when paginating results to indicate the maximum number of--- items you want in the response. If there are additional items beyond the+-- items you want in the response. If additional items exist beyond the -- maximum you specify, the 'IsTruncated' response element is 'true'. -- -- This parameter is optional. If you do not include it, it defaults to -- 100. Note that IAM might return fewer results, even when there are more--- results available. If this is the case, the 'IsTruncated' response--- element returns 'true' and 'Marker' contains a value to include in the+-- results available. In that case, the 'IsTruncated' response element+-- returns 'true' and 'Marker' contains a value to include in the -- subsequent call that tells the service where to continue from. lrpMaxItems :: Lens' ListRolePolicies (Maybe Natural) lrpMaxItems = lens _lrpMaxItems (\ s a -> s{_lrpMaxItems = a}) . mapping _Nat;
gen/Network/AWS/IAM/ListRoles.hs view
@@ -92,19 +92,19 @@  -- | Use this parameter only when paginating results and only after you -- receive a response indicating that the results are truncated. Set it to--- the value of the 'Marker' element in the response you received to inform--- the next call about where to start.+-- the value of the 'Marker' element in the response that you received to+-- indicate where the next call should start. lrMarker :: Lens' ListRoles (Maybe Text) lrMarker = lens _lrMarker (\ s a -> s{_lrMarker = a});  -- | Use this only when paginating results to indicate the maximum number of--- items you want in the response. If there are additional items beyond the+-- items you want in the response. If additional items exist beyond the -- maximum you specify, the 'IsTruncated' response element is 'true'. -- -- This parameter is optional. If you do not include it, it defaults to -- 100. Note that IAM might return fewer results, even when there are more--- results available. If this is the case, the 'IsTruncated' response--- element returns 'true' and 'Marker' contains a value to include in the+-- results available. In that case, the 'IsTruncated' response element+-- returns 'true' and 'Marker' contains a value to include in the -- subsequent call that tells the service where to continue from. lrMaxItems :: Lens' ListRoles (Maybe Natural) lrMaxItems = lens _lrMaxItems (\ s a -> s{_lrMaxItems = a}) . mapping _Nat;
gen/Network/AWS/IAM/ListSSHPublicKeys.hs view
@@ -91,19 +91,19 @@  -- | Use this parameter only when paginating results and only after you -- receive a response indicating that the results are truncated. Set it to--- the value of the 'Marker' element in the response you received to inform--- the next call about where to start.+-- the value of the 'Marker' element in the response that you received to+-- indicate where the next call should start. lspkMarker :: Lens' ListSSHPublicKeys (Maybe Text) lspkMarker = lens _lspkMarker (\ s a -> s{_lspkMarker = a});  -- | Use this only when paginating results to indicate the maximum number of--- items you want in the response. If there are additional items beyond the+-- items you want in the response. If additional items exist beyond the -- maximum you specify, the 'IsTruncated' response element is 'true'. -- -- This parameter is optional. If you do not include it, it defaults to -- 100. Note that IAM might return fewer results, even when there are more--- results available. If this is the case, the 'IsTruncated' response--- element returns 'true' and 'Marker' contains a value to include in the+-- results available. In that case, the 'IsTruncated' response element+-- returns 'true' and 'Marker' contains a value to include in the -- subsequent call that tells the service where to continue from. lspkMaxItems :: Lens' ListSSHPublicKeys (Maybe Natural) lspkMaxItems = lens _lspkMaxItems (\ s a -> s{_lspkMaxItems = a}) . mapping _Nat;
gen/Network/AWS/IAM/ListServerCertificates.hs view
@@ -90,19 +90,19 @@  -- | Use this parameter only when paginating results and only after you -- receive a response indicating that the results are truncated. Set it to--- the value of the 'Marker' element in the response you received to inform--- the next call about where to start.+-- the value of the 'Marker' element in the response that you received to+-- indicate where the next call should start. lscMarker :: Lens' ListServerCertificates (Maybe Text) lscMarker = lens _lscMarker (\ s a -> s{_lscMarker = a});  -- | Use this only when paginating results to indicate the maximum number of--- items you want in the response. If there are additional items beyond the+-- items you want in the response. If additional items exist beyond the -- maximum you specify, the 'IsTruncated' response element is 'true'. -- -- This parameter is optional. If you do not include it, it defaults to -- 100. Note that IAM might return fewer results, even when there are more--- results available. If this is the case, the 'IsTruncated' response--- element returns 'true' and 'Marker' contains a value to include in the+-- results available. In that case, the 'IsTruncated' response element+-- returns 'true' and 'Marker' contains a value to include in the -- subsequent call that tells the service where to continue from. lscMaxItems :: Lens' ListServerCertificates (Maybe Natural) lscMaxItems = lens _lscMaxItems (\ s a -> s{_lscMaxItems = a}) . mapping _Nat;
gen/Network/AWS/IAM/ListSigningCertificates.hs view
@@ -92,19 +92,19 @@  -- | Use this parameter only when paginating results and only after you -- receive a response indicating that the results are truncated. Set it to--- the value of the 'Marker' element in the response you received to inform--- the next call about where to start.+-- the value of the 'Marker' element in the response that you received to+-- indicate where the next call should start. lMarker :: Lens' ListSigningCertificates (Maybe Text) lMarker = lens _lMarker (\ s a -> s{_lMarker = a});  -- | Use this only when paginating results to indicate the maximum number of--- items you want in the response. If there are additional items beyond the+-- items you want in the response. If additional items exist beyond the -- maximum you specify, the 'IsTruncated' response element is 'true'. -- -- This parameter is optional. If you do not include it, it defaults to -- 100. Note that IAM might return fewer results, even when there are more--- results available. If this is the case, the 'IsTruncated' response--- element returns 'true' and 'Marker' contains a value to include in the+-- results available. In that case, the 'IsTruncated' response element+-- returns 'true' and 'Marker' contains a value to include in the -- subsequent call that tells the service where to continue from. lMaxItems :: Lens' ListSigningCertificates (Maybe Natural) lMaxItems = lens _lMaxItems (\ s a -> s{_lMaxItems = a}) . mapping _Nat;
gen/Network/AWS/IAM/ListUserPolicies.hs view
@@ -88,19 +88,19 @@  -- | Use this parameter only when paginating results and only after you -- receive a response indicating that the results are truncated. Set it to--- the value of the 'Marker' element in the response you received to inform--- the next call about where to start.+-- the value of the 'Marker' element in the response that you received to+-- indicate where the next call should start. lupMarker :: Lens' ListUserPolicies (Maybe Text) lupMarker = lens _lupMarker (\ s a -> s{_lupMarker = a});  -- | Use this only when paginating results to indicate the maximum number of--- items you want in the response. If there are additional items beyond the+-- items you want in the response. If additional items exist beyond the -- maximum you specify, the 'IsTruncated' response element is 'true'. -- -- This parameter is optional. If you do not include it, it defaults to -- 100. Note that IAM might return fewer results, even when there are more--- results available. If this is the case, the 'IsTruncated' response--- element returns 'true' and 'Marker' contains a value to include in the+-- results available. In that case, the 'IsTruncated' response element+-- returns 'true' and 'Marker' contains a value to include in the -- subsequent call that tells the service where to continue from. lupMaxItems :: Lens' ListUserPolicies (Maybe Natural) lupMaxItems = lens _lupMaxItems (\ s a -> s{_lupMaxItems = a}) . mapping _Nat;
gen/Network/AWS/IAM/ListUsers.hs view
@@ -91,19 +91,19 @@  -- | Use this parameter only when paginating results and only after you -- receive a response indicating that the results are truncated. Set it to--- the value of the 'Marker' element in the response you received to inform--- the next call about where to start.+-- the value of the 'Marker' element in the response that you received to+-- indicate where the next call should start. luMarker :: Lens' ListUsers (Maybe Text) luMarker = lens _luMarker (\ s a -> s{_luMarker = a});  -- | Use this only when paginating results to indicate the maximum number of--- items you want in the response. If there are additional items beyond the+-- items you want in the response. If additional items exist beyond the -- maximum you specify, the 'IsTruncated' response element is 'true'. -- -- This parameter is optional. If you do not include it, it defaults to -- 100. Note that IAM might return fewer results, even when there are more--- results available. If this is the case, the 'IsTruncated' response--- element returns 'true' and 'Marker' contains a value to include in the+-- results available. In that case, the 'IsTruncated' response element+-- returns 'true' and 'Marker' contains a value to include in the -- subsequent call that tells the service where to continue from. luMaxItems :: Lens' ListUsers (Maybe Natural) luMaxItems = lens _luMaxItems (\ s a -> s{_luMaxItems = a}) . mapping _Nat;
gen/Network/AWS/IAM/ListVirtualMFADevices.hs view
@@ -89,19 +89,19 @@  -- | Use this parameter only when paginating results and only after you -- receive a response indicating that the results are truncated. Set it to--- the value of the 'Marker' element in the response you received to inform--- the next call about where to start.+-- the value of the 'Marker' element in the response that you received to+-- indicate where the next call should start. lvmdMarker :: Lens' ListVirtualMFADevices (Maybe Text) lvmdMarker = lens _lvmdMarker (\ s a -> s{_lvmdMarker = a});  -- | Use this only when paginating results to indicate the maximum number of--- items you want in the response. If there are additional items beyond the+-- items you want in the response. If additional items exist beyond the -- maximum you specify, the 'IsTruncated' response element is 'true'. -- -- This parameter is optional. If you do not include it, it defaults to -- 100. Note that IAM might return fewer results, even when there are more--- results available. If this is the case, the 'IsTruncated' response--- element returns 'true' and 'Marker' contains a value to include in the+-- results available. In that case, the 'IsTruncated' response element+-- returns 'true' and 'Marker' contains a value to include in the -- subsequent call that tells the service where to continue from. lvmdMaxItems :: Lens' ListVirtualMFADevices (Maybe Natural) lvmdMaxItems = lens _lvmdMaxItems (\ s a -> s{_lvmdMaxItems = a}) . mapping _Nat;
gen/Network/AWS/IAM/SimulateCustomPolicy.hs view
@@ -18,11 +18,12 @@ -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Simulate a set of IAM policies against a list of API actions and AWS--- resources to determine the policies\' effective permissions. The--- policies are provided as a list of strings.+-- Simulate how a set of IAM policies and optionally a resource-based+-- policy works with a list of API actions and AWS resources to determine+-- the policies\' effective permissions. The policies are provided as+-- strings. ----- The simulation does not perform the API actions, it only checks the+-- The simulation does not perform the API actions; it only checks the -- authorization to determine if the simulated policies allow or deny the -- actions. --@@ -30,13 +31,13 @@ -- group, or role, use SimulatePrincipalPolicy instead. -- -- Context keys are variables maintained by AWS and its services that--- provide details about the context of an API query request, and can be--- evaluated by using the 'Condition' element of an IAM policy. To get the--- list of context keys required by the policies to simulate them--- correctly, use GetContextKeysForCustomPolicy.+-- provide details about the context of an API query request. You can use+-- the 'Condition' element of an IAM policy to evaluate context keys. To+-- get the list of context keys that the policies require for correct+-- simulation, use GetContextKeysForCustomPolicy. ----- If the output is long, you can paginate the results using the 'MaxItems'--- and 'Marker' parameters.+-- If the output is long, you can use 'MaxItems' and 'Marker' parameters to+-- paginate the results. -- -- /See:/ <http://docs.aws.amazon.com/IAM/latest/APIReference/API_SimulateCustomPolicy.html AWS API Reference> for SimulateCustomPolicy. module Network.AWS.IAM.SimulateCustomPolicy@@ -45,10 +46,13 @@       simulateCustomPolicy     , SimulateCustomPolicy     -- * Request Lenses+    , scpResourcePolicy+    , scpCallerARN     , scpResourceARNs     , scpMarker     , scpMaxItems     , scpContextEntries+    , scpResourceOwner     , scpPolicyInputList     , scpActionNames @@ -69,10 +73,13 @@  -- | /See:/ 'simulateCustomPolicy' smart constructor. data SimulateCustomPolicy = SimulateCustomPolicy'-    { _scpResourceARNs    :: !(Maybe [Text])+    { _scpResourcePolicy  :: !(Maybe Text)+    , _scpCallerARN       :: !(Maybe Text)+    , _scpResourceARNs    :: !(Maybe [Text])     , _scpMarker          :: !(Maybe Text)     , _scpMaxItems        :: !(Maybe Nat)     , _scpContextEntries  :: !(Maybe [ContextEntry])+    , _scpResourceOwner   :: !(Maybe Text)     , _scpPolicyInputList :: ![Text]     , _scpActionNames     :: ![Text]     } deriving (Eq,Read,Show,Data,Typeable,Generic)@@ -81,6 +88,10 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'scpResourcePolicy'+--+-- * 'scpCallerARN'+-- -- * 'scpResourceARNs' -- -- * 'scpMarker'@@ -89,6 +100,8 @@ -- -- * 'scpContextEntries' --+-- * 'scpResourceOwner'+-- -- * 'scpPolicyInputList' -- -- * 'scpActionNames'@@ -96,56 +109,106 @@     :: SimulateCustomPolicy simulateCustomPolicy =     SimulateCustomPolicy'-    { _scpResourceARNs = Nothing+    { _scpResourcePolicy = Nothing+    , _scpCallerARN = Nothing+    , _scpResourceARNs = Nothing     , _scpMarker = Nothing     , _scpMaxItems = Nothing     , _scpContextEntries = Nothing+    , _scpResourceOwner = Nothing     , _scpPolicyInputList = mempty     , _scpActionNames = mempty     } +-- | A resource-based policy to include in the simulation provided as a+-- string. Each resource in the simulation is treated as if it had this+-- policy attached. You can include only one resource-based policy in a+-- simulation.+scpResourcePolicy :: Lens' SimulateCustomPolicy (Maybe Text)+scpResourcePolicy = lens _scpResourcePolicy (\ s a -> s{_scpResourcePolicy = a});++-- | The ARN of the user that you want to use as the simulated caller of the+-- APIs. 'CallerArn' is required if you include a 'ResourcePolicy' so that+-- the policy\'s 'Principal' element has a value to use in evaluating the+-- policy.+--+-- You can specify only the ARN of an IAM user. You cannot specify the ARN+-- of an assumed role, federated user, or a service principal.+scpCallerARN :: Lens' SimulateCustomPolicy (Maybe Text)+scpCallerARN = lens _scpCallerARN (\ s a -> s{_scpCallerARN = a});+ -- | A list of ARNs of AWS resources to include in the simulation. If this -- parameter is not provided then the value defaults to '*' (all -- resources). Each API in the 'ActionNames' parameter is evaluated for -- each resource in this list. The simulation determines the access result -- (allowed or denied) of each combination and reports it in the response.+--+-- The simulation does not automatically retrieve policies for the+-- specified resources. If you want to include a resource policy in the+-- simulation, then you must include the policy as a string in the+-- 'ResourcePolicy' parameter.+--+-- If you include a 'ResourcePolicy', then it must be applicable to all of+-- the resources included in the simulation or you receive an invalid input+-- error. scpResourceARNs :: Lens' SimulateCustomPolicy [Text] scpResourceARNs = lens _scpResourceARNs (\ s a -> s{_scpResourceARNs = a}) . _Default . _Coerce;  -- | Use this parameter only when paginating results and only after you -- receive a response indicating that the results are truncated. Set it to--- the value of the 'Marker' element in the response you received to inform--- the next call about where to start.+-- the value of the 'Marker' element in the response that you received to+-- indicate where the next call should start. scpMarker :: Lens' SimulateCustomPolicy (Maybe Text) scpMarker = lens _scpMarker (\ s a -> s{_scpMarker = a});  -- | Use this only when paginating results to indicate the maximum number of--- items you want in the response. If there are additional items beyond the+-- items you want in the response. If additional items exist beyond the -- maximum you specify, the 'IsTruncated' response element is 'true'. -- -- This parameter is optional. If you do not include it, it defaults to -- 100. Note that IAM might return fewer results, even when there are more--- results available. If this is the case, the 'IsTruncated' response--- element returns 'true' and 'Marker' contains a value to include in the+-- results available. In that case, the 'IsTruncated' response element+-- returns 'true' and 'Marker' contains a value to include in the -- subsequent call that tells the service where to continue from. scpMaxItems :: Lens' SimulateCustomPolicy (Maybe Natural) scpMaxItems = lens _scpMaxItems (\ s a -> s{_scpMaxItems = a}) . mapping _Nat; --- | A list of context keys and corresponding values that are used by the--- simulation. Whenever a context key is evaluated by a 'Condition' element--- in one of the simulated IAM permission policies, the corresponding value--- is supplied.+-- | A list of context keys and corresponding values for the simulation to+-- use. Whenever a context key is evaluated by a 'Condition' element in one+-- of the simulated IAM permission policies, the corresponding value is+-- supplied. scpContextEntries :: Lens' SimulateCustomPolicy [ContextEntry] scpContextEntries = lens _scpContextEntries (\ s a -> s{_scpContextEntries = a}) . _Default . _Coerce; +-- | An AWS account ID that specifies the owner of any simulated resource+-- that does not identify its owner in the resource ARN, such as an S3+-- bucket or object. If 'ResourceOwner' is specified, it is also used as+-- the account owner of any 'ResourcePolicy' included in the simulation. If+-- the 'ResourceOwner' parameter is not specified, then the owner of the+-- resources and the resource policy defaults to the account of the+-- identity provided in 'CallerArn'. This parameter is required only if you+-- specify a resource-based policy and account that owns the resource is+-- different from the account that owns the simulated calling user+-- 'CallerArn'.+scpResourceOwner :: Lens' SimulateCustomPolicy (Maybe Text)+scpResourceOwner = lens _scpResourceOwner (\ s a -> s{_scpResourceOwner = a});+ -- | A list of policy documents to include in the simulation. Each document -- is specified as a string containing the complete, valid JSON text of an--- IAM policy.+-- IAM policy. Do not include any resource-based policies in this+-- parameter. Any resource-based policy must be submitted with the+-- 'ResourcePolicy' parameter. The policies cannot be \"scope-down\"+-- policies, such as you could include in a call to+-- <http://docs.aws.amazon.com/IAM/latest/APIReference/API_GetFederationToken.html GetFederationToken>+-- or one of the+-- <http://docs.aws.amazon.com/IAM/latest/APIReference/API_AssumeRole.html AssumeRole>+-- APIs to restrict what a user can do while using the temporary+-- credentials. scpPolicyInputList :: Lens' SimulateCustomPolicy [Text] scpPolicyInputList = lens _scpPolicyInputList (\ s a -> s{_scpPolicyInputList = a}) . _Coerce;  -- | A list of names of API actions to evaluate in the simulation. Each--- action is evaluated for each resource. Each action must include the+-- action is evaluated against each resource. Each action must include the -- service identifier, such as 'iam:CreateUser'. scpActionNames :: Lens' SimulateCustomPolicy [Text] scpActionNames = lens _scpActionNames (\ s a -> s{_scpActionNames = a}) . _Coerce;@@ -168,12 +231,15 @@           = mconcat               ["Action" =: ("SimulateCustomPolicy" :: ByteString),                "Version" =: ("2010-05-08" :: ByteString),+               "ResourcePolicy" =: _scpResourcePolicy,+               "CallerArn" =: _scpCallerARN,                "ResourceArns" =:                  toQuery (toQueryList "member" <$> _scpResourceARNs),                "Marker" =: _scpMarker, "MaxItems" =: _scpMaxItems,                "ContextEntries" =:                  toQuery                    (toQueryList "member" <$> _scpContextEntries),+               "ResourceOwner" =: _scpResourceOwner,                "PolicyInputList" =:                  toQueryList "member" _scpPolicyInputList,                "ActionNames" =:
gen/Network/AWS/IAM/SimulatePrincipalPolicy.hs view
@@ -18,17 +18,20 @@ -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Simulate the set of IAM policies attached to an IAM entity against a--- list of API actions and AWS resources to determine the policies\'+-- Simulate how a set of IAM policies attached to an IAM entity works with+-- a list of API actions and AWS resources to determine the policies\' -- effective permissions. The entity can be an IAM user, group, or role. If -- you specify a user, then the simulation also includes all of the--- policies attached to groups that the user is a member of.+-- policies that are attached to groups that the user belongs to . -- -- You can optionally include a list of one or more additional policies -- specified as strings to include in the simulation. If you want to -- simulate only policies specified as strings, use SimulateCustomPolicy -- instead. --+-- You can also optionally include one resource-based policy to be+-- evaluated with each of the resources included in the simulation.+-- -- The simulation does not perform the API actions, it only checks the -- authorization to determine if the simulated policies allow or deny the -- actions.@@ -39,13 +42,13 @@ -- instead. -- -- Context keys are variables maintained by AWS and its services that--- provide details about the context of an API query request, and can be--- evaluated by using the 'Condition' element of an IAM policy. To get the--- list of context keys required by the policies to simulate them--- correctly, use GetContextKeysForPrincipalPolicy.+-- provide details about the context of an API query request. You can use+-- the 'Condition' element of an IAM policy to evaluate context keys. To+-- get the list of context keys that the policies require for correct+-- simulation, use GetContextKeysForPrincipalPolicy. ----- If the output is long, you can paginate the results using the 'MaxItems'--- and 'Marker' parameters.+-- If the output is long, you can use the 'MaxItems' and 'Marker'+-- parameters to paginate the results. -- -- /See:/ <http://docs.aws.amazon.com/IAM/latest/APIReference/API_SimulatePrincipalPolicy.html AWS API Reference> for SimulatePrincipalPolicy. module Network.AWS.IAM.SimulatePrincipalPolicy@@ -55,10 +58,13 @@     , SimulatePrincipalPolicy     -- * Request Lenses     , sppPolicyInputList+    , sppResourcePolicy+    , sppCallerARN     , sppResourceARNs     , sppMarker     , sppMaxItems     , sppContextEntries+    , sppResourceOwner     , sppPolicySourceARN     , sppActionNames @@ -80,10 +86,13 @@ -- | /See:/ 'simulatePrincipalPolicy' smart constructor. data SimulatePrincipalPolicy = SimulatePrincipalPolicy'     { _sppPolicyInputList :: !(Maybe [Text])+    , _sppResourcePolicy  :: !(Maybe Text)+    , _sppCallerARN       :: !(Maybe Text)     , _sppResourceARNs    :: !(Maybe [Text])     , _sppMarker          :: !(Maybe Text)     , _sppMaxItems        :: !(Maybe Nat)     , _sppContextEntries  :: !(Maybe [ContextEntry])+    , _sppResourceOwner   :: !(Maybe Text)     , _sppPolicySourceARN :: !Text     , _sppActionNames     :: ![Text]     } deriving (Eq,Read,Show,Data,Typeable,Generic)@@ -94,6 +103,10 @@ -- -- * 'sppPolicyInputList' --+-- * 'sppResourcePolicy'+--+-- * 'sppCallerARN'+-- -- * 'sppResourceARNs' -- -- * 'sppMarker'@@ -102,6 +115,8 @@ -- -- * 'sppContextEntries' --+-- * 'sppResourceOwner'+-- -- * 'sppPolicySourceARN' -- -- * 'sppActionNames'@@ -111,10 +126,13 @@ simulatePrincipalPolicy pPolicySourceARN_ =     SimulatePrincipalPolicy'     { _sppPolicyInputList = Nothing+    , _sppResourcePolicy = Nothing+    , _sppCallerARN = Nothing     , _sppResourceARNs = Nothing     , _sppMarker = Nothing     , _sppMaxItems = Nothing     , _sppContextEntries = Nothing+    , _sppResourceOwner = Nothing     , _sppPolicySourceARN = pPolicySourceARN_     , _sppActionNames = mempty     }@@ -125,45 +143,87 @@ sppPolicyInputList :: Lens' SimulatePrincipalPolicy [Text] sppPolicyInputList = lens _sppPolicyInputList (\ s a -> s{_sppPolicyInputList = a}) . _Default . _Coerce; +-- | A resource-based policy to include in the simulation provided as a+-- string. Each resource in the simulation is treated as if it had this+-- policy attached. You can include only one resource-based policy in a+-- simulation.+sppResourcePolicy :: Lens' SimulatePrincipalPolicy (Maybe Text)+sppResourcePolicy = lens _sppResourcePolicy (\ s a -> s{_sppResourcePolicy = a});++-- | The ARN of the user that you want to specify as the simulated caller of+-- the APIs. If you do not specify a 'CallerArn', it defaults to the ARN of+-- the user that you specify in 'PolicySourceArn', if you specified a user.+-- If you include both a 'PolicySourceArn' (for example,+-- 'arn:aws:iam::123456789012:user\/David') and a 'CallerArn' (for example,+-- 'arn:aws:iam::123456789012:user\/Bob'), the result is that you simulate+-- calling the APIs as Bob, as if Bob had David\'s policies.+--+-- You can specify only the ARN of an IAM user. You cannot specify the ARN+-- of an assumed role, federated user, or a service principal.+--+-- 'CallerArn' is required if you include a 'ResourcePolicy' and the+-- 'PolicySourceArn' is not the ARN for an IAM user. This is required so+-- that the resource-based policy\'s 'Principal' element has a value to use+-- in evaluating the policy.+sppCallerARN :: Lens' SimulatePrincipalPolicy (Maybe Text)+sppCallerARN = lens _sppCallerARN (\ s a -> s{_sppCallerARN = a});+ -- | A list of ARNs of AWS resources to include in the simulation. If this -- parameter is not provided then the value defaults to '*' (all -- resources). Each API in the 'ActionNames' parameter is evaluated for -- each resource in this list. The simulation determines the access result -- (allowed or denied) of each combination and reports it in the response.+--+-- The simulation does not automatically retrieve policies for the+-- specified resources. If you want to include a resource policy in the+-- simulation, then you must include the policy as a string in the+-- 'ResourcePolicy' parameter. sppResourceARNs :: Lens' SimulatePrincipalPolicy [Text] sppResourceARNs = lens _sppResourceARNs (\ s a -> s{_sppResourceARNs = a}) . _Default . _Coerce;  -- | Use this parameter only when paginating results and only after you -- receive a response indicating that the results are truncated. Set it to--- the value of the 'Marker' element in the response you received to inform--- the next call about where to start.+-- the value of the 'Marker' element in the response that you received to+-- indicate where the next call should start. sppMarker :: Lens' SimulatePrincipalPolicy (Maybe Text) sppMarker = lens _sppMarker (\ s a -> s{_sppMarker = a});  -- | Use this only when paginating results to indicate the maximum number of--- items you want in the response. If there are additional items beyond the+-- items you want in the response. If additional items exist beyond the -- maximum you specify, the 'IsTruncated' response element is 'true'. -- -- This parameter is optional. If you do not include it, it defaults to -- 100. Note that IAM might return fewer results, even when there are more--- results available. If this is the case, the 'IsTruncated' response--- element returns 'true' and 'Marker' contains a value to include in the+-- results available. In that case, the 'IsTruncated' response element+-- returns 'true' and 'Marker' contains a value to include in the -- subsequent call that tells the service where to continue from. sppMaxItems :: Lens' SimulatePrincipalPolicy (Maybe Natural) sppMaxItems = lens _sppMaxItems (\ s a -> s{_sppMaxItems = a}) . mapping _Nat; --- | A list of context keys and corresponding values that are used by the--- simulation. Whenever a context key is evaluated by a 'Condition' element--- in one of the simulated IAM permission policies, the corresponding value--- is supplied.+-- | A list of context keys and corresponding values for the simulation to+-- use. Whenever a context key is evaluated by a 'Condition' element in one+-- of the simulated policies, the corresponding value is supplied. sppContextEntries :: Lens' SimulatePrincipalPolicy [ContextEntry] sppContextEntries = lens _sppContextEntries (\ s a -> s{_sppContextEntries = a}) . _Default . _Coerce; +-- | An AWS account ID that specifies the owner of any simulated resource+-- that does not identify its owner in the resource ARN, such as an S3+-- bucket or object. If 'ResourceOwner' is specified, it is also used as+-- the account owner of any 'ResourcePolicy' included in the simulation. If+-- the 'ResourceOwner' parameter is not specified, then the owner of the+-- resources and the resource policy defaults to the account of the+-- identity provided in 'CallerArn'. This parameter is required only if you+-- specify a resource-based policy and account that owns the resource is+-- different from the account that owns the simulated calling user+-- 'CallerArn'.+sppResourceOwner :: Lens' SimulatePrincipalPolicy (Maybe Text)+sppResourceOwner = lens _sppResourceOwner (\ s a -> s{_sppResourceOwner = a});+ -- | The Amazon Resource Name (ARN) of a user, group, or role whose policies -- you want to include in the simulation. If you specify a user, group, or--- role, the simulation includes all policies associated with that entity.--- If you specify a user, the simulation also includes all policies--- attached to any groups the user is a member of.+-- role, the simulation includes all policies that are associated with that+-- entity. If you specify a user, the simulation also includes all policies+-- that are attached to any groups the user belongs to. sppPolicySourceARN :: Lens' SimulatePrincipalPolicy Text sppPolicySourceARN = lens _sppPolicySourceARN (\ s a -> s{_sppPolicySourceARN = a}); @@ -196,12 +256,15 @@                "PolicyInputList" =:                  toQuery                    (toQueryList "member" <$> _sppPolicyInputList),+               "ResourcePolicy" =: _sppResourcePolicy,+               "CallerArn" =: _sppCallerARN,                "ResourceArns" =:                  toQuery (toQueryList "member" <$> _sppResourceARNs),                "Marker" =: _sppMarker, "MaxItems" =: _sppMaxItems,                "ContextEntries" =:                  toQuery                    (toQueryList "member" <$> _sppContextEntries),+               "ResourceOwner" =: _sppResourceOwner,                "PolicySourceArn" =: _sppPolicySourceARN,                "ActionNames" =:                  toQueryList "member" _sppActionNames]
gen/Network/AWS/IAM/Types.hs view
@@ -113,6 +113,7 @@     , EvaluationResult     , evaluationResult     , erMatchedStatements+    , erEvalDecisionDetails     , erMissingContextValues     , erEvalActionName     , erEvalResourceName
gen/Network/AWS/IAM/Types/Product.hs view
@@ -345,6 +345,7 @@ -- /See:/ 'evaluationResult' smart constructor. data EvaluationResult = EvaluationResult'     { _erMatchedStatements    :: !(Maybe [Statement])+    , _erEvalDecisionDetails  :: !(Maybe (Map Text PolicyEvaluationDecisionType))     , _erMissingContextValues :: !(Maybe [Text])     , _erEvalActionName       :: !Text     , _erEvalResourceName     :: !Text@@ -357,6 +358,8 @@ -- -- * 'erMatchedStatements' --+-- * 'erEvalDecisionDetails'+-- -- * 'erMissingContextValues' -- -- * 'erEvalActionName'@@ -372,6 +375,7 @@ evaluationResult pEvalActionName_ pEvalResourceName_ pEvalDecision_ =     EvaluationResult'     { _erMatchedStatements = Nothing+    , _erEvalDecisionDetails = Nothing     , _erMissingContextValues = Nothing     , _erEvalActionName = pEvalActionName_     , _erEvalResourceName = pEvalResourceName_@@ -386,6 +390,15 @@ erMatchedStatements :: Lens' EvaluationResult [Statement] erMatchedStatements = lens _erMatchedStatements (\ s a -> s{_erMatchedStatements = a}) . _Default . _Coerce; +-- | Additional details about the results of the evaluation decision. When+-- there are both IAM policies and resource policies, this parameter+-- explains how each set of policies contributes to the final evaluation+-- decision. When simulating cross-account access to a resource, both the+-- resource-based policy and the caller\'s IAM policy must grant access.+-- See How IAM Roles Differ from Resource-based Policies+erEvalDecisionDetails :: Lens' EvaluationResult (HashMap Text PolicyEvaluationDecisionType)+erEvalDecisionDetails = lens _erEvalDecisionDetails (\ s a -> s{_erEvalDecisionDetails = a}) . _Default . _Map;+ -- | A list of context keys that are required by the included input policies -- but that were not provided by one of the input parameters. To discover -- the context keys used by a set of policies, you can call@@ -415,6 +428,9 @@           = EvaluationResult' <$>               (x .@? "MatchedStatements" .!@ mempty >>=                  may (parseXMLList "member"))+                <*>+                (x .@? "EvalDecisionDetails" .!@ mempty >>=+                   may (parseXMLMap "entry" "key" "value"))                 <*>                 (x .@? "MissingContextValues" .!@ mempty >>=                    may (parseXMLList "member"))
gen/Network/AWS/IAM/Types/Sum.hs view
@@ -206,6 +206,7 @@     = AWSManaged     | Group     | None+    | Resource     | Role     | User     | UserManaged@@ -216,17 +217,19 @@         "aws-managed" -> pure AWSManaged         "group" -> pure Group         "none" -> pure None+        "resource" -> pure Resource         "role" -> pure Role         "user" -> pure User         "user-managed" -> pure UserManaged         e -> fromTextError $ "Failure parsing PolicySourceType from value: '" <> e-           <> "'. Accepted values: aws-managed, group, none, role, user, user-managed"+           <> "'. Accepted values: aws-managed, group, none, resource, role, user, user-managed"  instance ToText PolicySourceType where     toText = \case         AWSManaged -> "aws-managed"         Group -> "group"         None -> "none"+        Resource -> "resource"         Role -> "role"         User -> "user"         UserManaged -> "user-managed"