amazonka-iam 0.3.3 → 0.3.4
raw patch · 3 files changed
+278/−58 lines, 3 filesdep ~amazonka-corePVP ok
version bump matches the API change (PVP)
Dependency ranges changed: amazonka-core
API changes (from Hackage documentation)
+ Network.AWS.IAM.GetAccountAuthorizationDetails: gaadrPolicies :: Lens' GetAccountAuthorizationDetailsResponse [ManagedPolicyDetail]
+ Network.AWS.IAM.Types: ETAWSManagedPolicy :: EntityType
+ Network.AWS.IAM.Types: ETLocalManagedPolicy :: EntityType
+ Network.AWS.IAM.Types: data ManagedPolicyDetail
+ Network.AWS.IAM.Types: gdAttachedManagedPolicies :: Lens' GroupDetail [AttachedPolicy]
+ Network.AWS.IAM.Types: instance Constructor C1_3EntityType
+ Network.AWS.IAM.Types: instance Constructor C1_4EntityType
+ Network.AWS.IAM.Types: instance Eq ManagedPolicyDetail
+ Network.AWS.IAM.Types: instance FromXML ManagedPolicyDetail
+ Network.AWS.IAM.Types: instance Read ManagedPolicyDetail
+ Network.AWS.IAM.Types: instance Show ManagedPolicyDetail
+ Network.AWS.IAM.Types: instance ToQuery ManagedPolicyDetail
+ Network.AWS.IAM.Types: managedPolicyDetail :: ManagedPolicyDetail
+ Network.AWS.IAM.Types: mpdArn :: Lens' ManagedPolicyDetail (Maybe Text)
+ Network.AWS.IAM.Types: mpdAttachmentCount :: Lens' ManagedPolicyDetail (Maybe Int)
+ Network.AWS.IAM.Types: mpdCreateDate :: Lens' ManagedPolicyDetail (Maybe UTCTime)
+ Network.AWS.IAM.Types: mpdDefaultVersionId :: Lens' ManagedPolicyDetail (Maybe Text)
+ Network.AWS.IAM.Types: mpdDescription :: Lens' ManagedPolicyDetail (Maybe Text)
+ Network.AWS.IAM.Types: mpdIsAttachable :: Lens' ManagedPolicyDetail (Maybe Bool)
+ Network.AWS.IAM.Types: mpdPath :: Lens' ManagedPolicyDetail (Maybe Text)
+ Network.AWS.IAM.Types: mpdPolicyId :: Lens' ManagedPolicyDetail (Maybe Text)
+ Network.AWS.IAM.Types: mpdPolicyName :: Lens' ManagedPolicyDetail (Maybe Text)
+ Network.AWS.IAM.Types: mpdPolicyVersionList :: Lens' ManagedPolicyDetail [PolicyVersion]
+ Network.AWS.IAM.Types: mpdUpdateDate :: Lens' ManagedPolicyDetail (Maybe UTCTime)
+ Network.AWS.IAM.Types: rdAttachedManagedPolicies :: Lens' RoleDetail [AttachedPolicy]
+ Network.AWS.IAM.Types: udAttachedManagedPolicies :: Lens' UserDetail [AttachedPolicy]
Files
- amazonka-iam.cabal +2/−2
- gen/Network/AWS/IAM/GetAccountAuthorizationDetails.hs +13/−2
- gen/Network/AWS/IAM/Types.hs +263/−54
amazonka-iam.cabal view
@@ -1,5 +1,5 @@ name: amazonka-iam-version: 0.3.3+version: 0.3.4 synopsis: Amazon Identity and Access Management SDK. homepage: https://github.com/brendanhay/amazonka license: OtherLicense@@ -144,5 +144,5 @@ other-modules: build-depends:- amazonka-core == 0.3.3.*+ amazonka-core == 0.3.4.* , base >= 4.7 && < 5
gen/Network/AWS/IAM/GetAccountAuthorizationDetails.hs view
@@ -25,7 +25,7 @@ -- | Retrieves information about all IAM users, groups, and roles in your account, -- including their relationships to one another and their policies. Use this API -- to obtain a snapshot of the configuration of IAM permissions (users, groups,--- roles, and their policies) in your account.+-- roles, and policies) in your account. -- -- You can optionally filter the results using the 'Filter' parameter. You can -- paginate the results using the 'MaxItems' and 'Marker' parameters.@@ -50,6 +50,7 @@ , gaadrGroupDetailList , gaadrIsTruncated , gaadrMarker+ , gaadrPolicies , gaadrRoleDetailList , gaadrUserDetailList ) where@@ -82,7 +83,8 @@ , _gaadMarker = Nothing } --- | A list of entity types (user, group, or role) for filtering the results.+-- | A list of entity types (user, group, role, local managed policy, or AWS+-- managed policy) for filtering the results. gaadFilter :: Lens' GetAccountAuthorizationDetails [EntityType] gaadFilter = lens _gaadFilter (\s a -> s { _gaadFilter = a }) . _List @@ -103,6 +105,7 @@ { _gaadrGroupDetailList :: List "member" GroupDetail , _gaadrIsTruncated :: Maybe Bool , _gaadrMarker :: Maybe Text+ , _gaadrPolicies :: List "member" ManagedPolicyDetail , _gaadrRoleDetailList :: List "member" RoleDetail , _gaadrUserDetailList :: List "member" UserDetail } deriving (Eq, Read, Show)@@ -117,6 +120,8 @@ -- -- * 'gaadrMarker' @::@ 'Maybe' 'Text' --+-- * 'gaadrPolicies' @::@ ['ManagedPolicyDetail']+-- -- * 'gaadrRoleDetailList' @::@ ['RoleDetail'] -- -- * 'gaadrUserDetailList' @::@ ['UserDetail']@@ -126,6 +131,7 @@ { _gaadrUserDetailList = mempty , _gaadrGroupDetailList = mempty , _gaadrRoleDetailList = mempty+ , _gaadrPolicies = mempty , _gaadrIsTruncated = Nothing , _gaadrMarker = Nothing }@@ -147,6 +153,10 @@ gaadrMarker :: Lens' GetAccountAuthorizationDetailsResponse (Maybe Text) gaadrMarker = lens _gaadrMarker (\s a -> s { _gaadrMarker = a }) +-- | A list containing information about managed policies.+gaadrPolicies :: Lens' GetAccountAuthorizationDetailsResponse [ManagedPolicyDetail]+gaadrPolicies = lens _gaadrPolicies (\s a -> s { _gaadrPolicies = a }) . _List+ -- | A list containing information about IAM roles. gaadrRoleDetailList :: Lens' GetAccountAuthorizationDetailsResponse [RoleDetail] gaadrRoleDetailList =@@ -183,5 +193,6 @@ <$> x .@? "GroupDetailList" .!@ mempty <*> x .@? "IsTruncated" <*> x .@? "Marker"+ <*> x .@? "Policies" .!@ mempty <*> x .@? "RoleDetailList" .!@ mempty <*> x .@? "UserDetailList" .!@ mempty
gen/Network/AWS/IAM/Types.hs view
@@ -32,6 +32,21 @@ -- ** XML , ns + -- * ManagedPolicyDetail+ , ManagedPolicyDetail+ , managedPolicyDetail+ , mpdArn+ , mpdAttachmentCount+ , mpdCreateDate+ , mpdDefaultVersionId+ , mpdDescription+ , mpdIsAttachable+ , mpdPath+ , mpdPolicyId+ , mpdPolicyName+ , mpdPolicyVersionList+ , mpdUpdateDate+ -- * PolicyRole , PolicyRole , policyRole@@ -99,6 +114,7 @@ , roleDetail , rdArn , rdAssumeRolePolicyDocument+ , rdAttachedManagedPolicies , rdCreateDate , rdInstanceProfileList , rdPath@@ -141,6 +157,7 @@ , GroupDetail , groupDetail , gdArn+ , gdAttachedManagedPolicies , gdCreateDate , gdGroupId , gdGroupName@@ -198,6 +215,7 @@ , UserDetail , userDetail , udArn+ , udAttachedManagedPolicies , udCreateDate , udGroupList , udPath@@ -317,6 +335,151 @@ ns = "https://iam.amazonaws.com/doc/2010-05-08/" {-# INLINE ns #-} +data ManagedPolicyDetail = ManagedPolicyDetail+ { _mpdArn :: Maybe Text+ , _mpdAttachmentCount :: Maybe Int+ , _mpdCreateDate :: Maybe ISO8601+ , _mpdDefaultVersionId :: Maybe Text+ , _mpdDescription :: Maybe Text+ , _mpdIsAttachable :: Maybe Bool+ , _mpdPath :: Maybe Text+ , _mpdPolicyId :: Maybe Text+ , _mpdPolicyName :: Maybe Text+ , _mpdPolicyVersionList :: List "member" PolicyVersion+ , _mpdUpdateDate :: Maybe ISO8601+ } deriving (Eq, Read, Show)++-- | 'ManagedPolicyDetail' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'mpdArn' @::@ 'Maybe' 'Text'+--+-- * 'mpdAttachmentCount' @::@ 'Maybe' 'Int'+--+-- * 'mpdCreateDate' @::@ 'Maybe' 'UTCTime'+--+-- * 'mpdDefaultVersionId' @::@ 'Maybe' 'Text'+--+-- * 'mpdDescription' @::@ 'Maybe' 'Text'+--+-- * 'mpdIsAttachable' @::@ 'Maybe' 'Bool'+--+-- * 'mpdPath' @::@ 'Maybe' 'Text'+--+-- * 'mpdPolicyId' @::@ 'Maybe' 'Text'+--+-- * 'mpdPolicyName' @::@ 'Maybe' 'Text'+--+-- * 'mpdPolicyVersionList' @::@ ['PolicyVersion']+--+-- * 'mpdUpdateDate' @::@ 'Maybe' 'UTCTime'+--+managedPolicyDetail :: ManagedPolicyDetail+managedPolicyDetail = ManagedPolicyDetail+ { _mpdPolicyName = Nothing+ , _mpdPolicyId = Nothing+ , _mpdArn = Nothing+ , _mpdPath = Nothing+ , _mpdDefaultVersionId = Nothing+ , _mpdAttachmentCount = Nothing+ , _mpdIsAttachable = Nothing+ , _mpdDescription = Nothing+ , _mpdCreateDate = Nothing+ , _mpdUpdateDate = Nothing+ , _mpdPolicyVersionList = mempty+ }++mpdArn :: Lens' ManagedPolicyDetail (Maybe Text)+mpdArn = lens _mpdArn (\s a -> s { _mpdArn = a })++-- | The number of principal entities (users, groups, and roles) that the policy+-- is attached to.+mpdAttachmentCount :: Lens' ManagedPolicyDetail (Maybe Int)+mpdAttachmentCount =+ lens _mpdAttachmentCount (\s a -> s { _mpdAttachmentCount = a })++-- | The date and time, in <http://www.iso.org/iso/iso8601 ISO 8601 date-time format>, when the policy was created.+mpdCreateDate :: Lens' ManagedPolicyDetail (Maybe UTCTime)+mpdCreateDate = lens _mpdCreateDate (\s a -> s { _mpdCreateDate = a }) . mapping _Time++-- | The identifier for the version of the policy that is set as the default+-- (operative) version.+--+-- For more information about policy versions, see <http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html Versioning for ManagedPolicies> in the /Using IAM/ guide.+mpdDefaultVersionId :: Lens' ManagedPolicyDetail (Maybe Text)+mpdDefaultVersionId =+ lens _mpdDefaultVersionId (\s a -> s { _mpdDefaultVersionId = a })++-- | A friendly description of the policy.+mpdDescription :: Lens' ManagedPolicyDetail (Maybe Text)+mpdDescription = lens _mpdDescription (\s a -> s { _mpdDescription = a })++-- | Specifies whether the policy can be attached to an IAM user, group, or role.+mpdIsAttachable :: Lens' ManagedPolicyDetail (Maybe Bool)+mpdIsAttachable = lens _mpdIsAttachable (\s a -> s { _mpdIsAttachable = a })++-- | The path to the policy.+--+-- For more information about paths, see <http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html IAM Identifiers> in the /Using IAM/ guide.+mpdPath :: Lens' ManagedPolicyDetail (Maybe Text)+mpdPath = lens _mpdPath (\s a -> s { _mpdPath = a })++-- | The stable and unique string identifying the policy.+--+-- For more information about IDs, see <http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html IAM Identifiers> in the /Using IAM/ guide.+mpdPolicyId :: Lens' ManagedPolicyDetail (Maybe Text)+mpdPolicyId = lens _mpdPolicyId (\s a -> s { _mpdPolicyId = a })++-- | The friendly name (not ARN) identifying the policy.+mpdPolicyName :: Lens' ManagedPolicyDetail (Maybe Text)+mpdPolicyName = lens _mpdPolicyName (\s a -> s { _mpdPolicyName = a })++-- | A list containing information about the versions of the policy.+mpdPolicyVersionList :: Lens' ManagedPolicyDetail [PolicyVersion]+mpdPolicyVersionList =+ lens _mpdPolicyVersionList (\s a -> s { _mpdPolicyVersionList = a })+ . _List++-- | The date and time, in <http://www.iso.org/iso/iso8601 ISO 8601 date-time format>, when the policy was last+-- updated.+--+-- When a policy has only one version, this field contains the date and time+-- when the policy was created. When a policy has more than one version, this+-- field contains the date and time when the most recent policy version was+-- created.+mpdUpdateDate :: Lens' ManagedPolicyDetail (Maybe UTCTime)+mpdUpdateDate = lens _mpdUpdateDate (\s a -> s { _mpdUpdateDate = a }) . mapping _Time++instance FromXML ManagedPolicyDetail where+ parseXML x = ManagedPolicyDetail+ <$> x .@? "Arn"+ <*> x .@? "AttachmentCount"+ <*> x .@? "CreateDate"+ <*> x .@? "DefaultVersionId"+ <*> x .@? "Description"+ <*> x .@? "IsAttachable"+ <*> x .@? "Path"+ <*> x .@? "PolicyId"+ <*> x .@? "PolicyName"+ <*> x .@? "PolicyVersionList" .!@ mempty+ <*> x .@? "UpdateDate"++instance ToQuery ManagedPolicyDetail where+ toQuery ManagedPolicyDetail{..} = mconcat+ [ "Arn" =? _mpdArn+ , "AttachmentCount" =? _mpdAttachmentCount+ , "CreateDate" =? _mpdCreateDate+ , "DefaultVersionId" =? _mpdDefaultVersionId+ , "Description" =? _mpdDescription+ , "IsAttachable" =? _mpdIsAttachable+ , "Path" =? _mpdPath+ , "PolicyId" =? _mpdPolicyId+ , "PolicyName" =? _mpdPolicyName+ , "PolicyVersionList" =? _mpdPolicyVersionList+ , "UpdateDate" =? _mpdUpdateDate+ ]+ newtype PolicyRole = PolicyRole { _prRoleName :: Maybe Text } deriving (Eq, Ord, Read, Show, Monoid)@@ -707,8 +870,7 @@ -- | The policy document. -- -- The policy document is returned in the response to the 'GetPolicyVersion'--- operation. It is not included in the response to the 'ListPolicyVersions'--- operation.+-- operation. It is not included in the response to the 'ListPolicyVersions' or 'GetAccountAuthorizationDetails' operations. pvDocument :: Lens' PolicyVersion (Maybe Text) pvDocument = lens _pvDocument (\s a -> s { _pvDocument = a }) @@ -830,6 +992,7 @@ data RoleDetail = RoleDetail { _rdArn :: Maybe Text , _rdAssumeRolePolicyDocument :: Maybe Text+ , _rdAttachedManagedPolicies :: List "member" AttachedPolicy , _rdCreateDate :: Maybe ISO8601 , _rdInstanceProfileList :: List "member" InstanceProfile , _rdPath :: Maybe Text@@ -846,6 +1009,8 @@ -- -- * 'rdAssumeRolePolicyDocument' @::@ 'Maybe' 'Text' --+-- * 'rdAttachedManagedPolicies' @::@ ['AttachedPolicy']+-- -- * 'rdCreateDate' @::@ 'Maybe' 'UTCTime' -- -- * 'rdInstanceProfileList' @::@ ['InstanceProfile']@@ -868,6 +1033,7 @@ , _rdAssumeRolePolicyDocument = Nothing , _rdInstanceProfileList = mempty , _rdRolePolicyList = mempty+ , _rdAttachedManagedPolicies = mempty } rdArn :: Lens' RoleDetail (Maybe Text)@@ -881,6 +1047,14 @@ lens _rdAssumeRolePolicyDocument (\s a -> s { _rdAssumeRolePolicyDocument = a }) +-- | A list of managed policies attached to the role. These policies are the+-- role's access (permissions) policies.+rdAttachedManagedPolicies :: Lens' RoleDetail [AttachedPolicy]+rdAttachedManagedPolicies =+ lens _rdAttachedManagedPolicies+ (\s a -> s { _rdAttachedManagedPolicies = a })+ . _List+ -- | The date and time, in <http://www.iso.org/iso/iso8601 ISO 8601 date-time format>, when the role was created. rdCreateDate :: Lens' RoleDetail (Maybe UTCTime) rdCreateDate = lens _rdCreateDate (\s a -> s { _rdCreateDate = a }) . mapping _Time@@ -904,7 +1078,8 @@ rdRoleName :: Lens' RoleDetail (Maybe Text) rdRoleName = lens _rdRoleName (\s a -> s { _rdRoleName = a }) --- | A list of the role's access (permissions) policies.+-- | A list of inline policies embedded in the role. These policies are the role's+-- access (permissions) policies. rdRolePolicyList :: Lens' RoleDetail [PolicyDetail] rdRolePolicyList = lens _rdRolePolicyList (\s a -> s { _rdRolePolicyList = a }) . _List @@ -912,6 +1087,7 @@ parseXML x = RoleDetail <$> x .@? "Arn" <*> x .@? "AssumeRolePolicyDocument"+ <*> x .@? "AttachedManagedPolicies" .!@ mempty <*> x .@? "CreateDate" <*> x .@? "InstanceProfileList" .!@ mempty <*> x .@? "Path"@@ -923,6 +1099,7 @@ toQuery RoleDetail{..} = mconcat [ "Arn" =? _rdArn , "AssumeRolePolicyDocument" =? _rdAssumeRolePolicyDocument+ , "AttachedManagedPolicies" =? _rdAttachedManagedPolicies , "CreateDate" =? _rdCreateDate , "InstanceProfileList" =? _rdInstanceProfileList , "Path" =? _rdPath@@ -1121,26 +1298,32 @@ ] data EntityType- = ETGroup -- ^ Group- | ETRole -- ^ Role- | ETUser -- ^ User+ = ETAWSManagedPolicy -- ^ AWSManagedPolicy+ | ETGroup -- ^ Group+ | ETLocalManagedPolicy -- ^ LocalManagedPolicy+ | ETRole -- ^ Role+ | ETUser -- ^ User deriving (Eq, Ord, Read, Show, Generic, Enum) instance Hashable EntityType instance FromText EntityType where parser = takeLowerText >>= \case- "group" -> pure ETGroup- "role" -> pure ETRole- "user" -> pure ETUser- e -> fail $+ "awsmanagedpolicy" -> pure ETAWSManagedPolicy+ "group" -> pure ETGroup+ "localmanagedpolicy" -> pure ETLocalManagedPolicy+ "role" -> pure ETRole+ "user" -> pure ETUser+ e -> fail $ "Failure parsing EntityType from " ++ show e instance ToText EntityType where toText = \case- ETGroup -> "Group"- ETRole -> "Role"- ETUser -> "User"+ ETAWSManagedPolicy -> "AWSManagedPolicy"+ ETGroup -> "Group"+ ETLocalManagedPolicy -> "LocalManagedPolicy"+ ETRole -> "Role"+ ETUser -> "User" instance ToByteString EntityType instance ToHeader EntityType@@ -1245,12 +1428,13 @@ parseXML = parseXMLText "SummaryKeyType" data GroupDetail = GroupDetail- { _gdArn :: Maybe Text- , _gdCreateDate :: Maybe ISO8601- , _gdGroupId :: Maybe Text- , _gdGroupName :: Maybe Text- , _gdGroupPolicyList :: List "member" PolicyDetail- , _gdPath :: Maybe Text+ { _gdArn :: Maybe Text+ , _gdAttachedManagedPolicies :: List "member" AttachedPolicy+ , _gdCreateDate :: Maybe ISO8601+ , _gdGroupId :: Maybe Text+ , _gdGroupName :: Maybe Text+ , _gdGroupPolicyList :: List "member" PolicyDetail+ , _gdPath :: Maybe Text } deriving (Eq, Read, Show) -- | 'GroupDetail' constructor.@@ -1259,6 +1443,8 @@ -- -- * 'gdArn' @::@ 'Maybe' 'Text' --+-- * 'gdAttachedManagedPolicies' @::@ ['AttachedPolicy']+-- -- * 'gdCreateDate' @::@ 'Maybe' 'UTCTime' -- -- * 'gdGroupId' @::@ 'Maybe' 'Text'@@ -1271,17 +1457,25 @@ -- groupDetail :: GroupDetail groupDetail = GroupDetail- { _gdPath = Nothing- , _gdGroupName = Nothing- , _gdGroupId = Nothing- , _gdArn = Nothing- , _gdCreateDate = Nothing- , _gdGroupPolicyList = mempty+ { _gdPath = Nothing+ , _gdGroupName = Nothing+ , _gdGroupId = Nothing+ , _gdArn = Nothing+ , _gdCreateDate = Nothing+ , _gdGroupPolicyList = mempty+ , _gdAttachedManagedPolicies = mempty } gdArn :: Lens' GroupDetail (Maybe Text) gdArn = lens _gdArn (\s a -> s { _gdArn = a }) +-- | A list of the managed policies attached to the group.+gdAttachedManagedPolicies :: Lens' GroupDetail [AttachedPolicy]+gdAttachedManagedPolicies =+ lens _gdAttachedManagedPolicies+ (\s a -> s { _gdAttachedManagedPolicies = a })+ . _List+ -- | The date and time, in <http://www.iso.org/iso/iso8601 ISO 8601 date-time format>, when the group was created. gdCreateDate :: Lens' GroupDetail (Maybe UTCTime) gdCreateDate = lens _gdCreateDate (\s a -> s { _gdCreateDate = a }) . mapping _Time@@ -1295,7 +1489,7 @@ gdGroupName :: Lens' GroupDetail (Maybe Text) gdGroupName = lens _gdGroupName (\s a -> s { _gdGroupName = a }) --- | A list of the group's policies.+-- | A list of the inline policies embedded in the group. gdGroupPolicyList :: Lens' GroupDetail [PolicyDetail] gdGroupPolicyList = lens _gdGroupPolicyList (\s a -> s { _gdGroupPolicyList = a })@@ -1309,6 +1503,7 @@ instance FromXML GroupDetail where parseXML x = GroupDetail <$> x .@? "Arn"+ <*> x .@? "AttachedManagedPolicies" .!@ mempty <*> x .@? "CreateDate" <*> x .@? "GroupId" <*> x .@? "GroupName"@@ -1317,12 +1512,13 @@ instance ToQuery GroupDetail where toQuery GroupDetail{..} = mconcat- [ "Arn" =? _gdArn- , "CreateDate" =? _gdCreateDate- , "GroupId" =? _gdGroupId- , "GroupName" =? _gdGroupName- , "GroupPolicyList" =? _gdGroupPolicyList- , "Path" =? _gdPath+ [ "Arn" =? _gdArn+ , "AttachedManagedPolicies" =? _gdAttachedManagedPolicies+ , "CreateDate" =? _gdCreateDate+ , "GroupId" =? _gdGroupId+ , "GroupName" =? _gdGroupName+ , "GroupPolicyList" =? _gdGroupPolicyList+ , "Path" =? _gdPath ] data ReportStateType@@ -1716,13 +1912,14 @@ parseXML = parseXMLText "PolicyScopeType" data UserDetail = UserDetail- { _udArn :: Maybe Text- , _udCreateDate :: Maybe ISO8601- , _udGroupList :: List "member" Text- , _udPath :: Maybe Text- , _udUserId :: Maybe Text- , _udUserName :: Maybe Text- , _udUserPolicyList :: List "member" PolicyDetail+ { _udArn :: Maybe Text+ , _udAttachedManagedPolicies :: List "member" AttachedPolicy+ , _udCreateDate :: Maybe ISO8601+ , _udGroupList :: List "member" Text+ , _udPath :: Maybe Text+ , _udUserId :: Maybe Text+ , _udUserName :: Maybe Text+ , _udUserPolicyList :: List "member" PolicyDetail } deriving (Eq, Read, Show) -- | 'UserDetail' constructor.@@ -1731,6 +1928,8 @@ -- -- * 'udArn' @::@ 'Maybe' 'Text' --+-- * 'udAttachedManagedPolicies' @::@ ['AttachedPolicy']+-- -- * 'udCreateDate' @::@ 'Maybe' 'UTCTime' -- -- * 'udGroupList' @::@ ['Text']@@ -1745,18 +1944,26 @@ -- userDetail :: UserDetail userDetail = UserDetail- { _udPath = Nothing- , _udUserName = Nothing- , _udUserId = Nothing- , _udArn = Nothing- , _udCreateDate = Nothing- , _udUserPolicyList = mempty- , _udGroupList = mempty+ { _udPath = Nothing+ , _udUserName = Nothing+ , _udUserId = Nothing+ , _udArn = Nothing+ , _udCreateDate = Nothing+ , _udUserPolicyList = mempty+ , _udGroupList = mempty+ , _udAttachedManagedPolicies = mempty } udArn :: Lens' UserDetail (Maybe Text) udArn = lens _udArn (\s a -> s { _udArn = a }) +-- | A list of the managed policies attached to the user.+udAttachedManagedPolicies :: Lens' UserDetail [AttachedPolicy]+udAttachedManagedPolicies =+ lens _udAttachedManagedPolicies+ (\s a -> s { _udAttachedManagedPolicies = a })+ . _List+ -- | The date and time, in <http://www.iso.org/iso/iso8601 ISO 8601 date-time format>, when the user was created. udCreateDate :: Lens' UserDetail (Maybe UTCTime) udCreateDate = lens _udCreateDate (\s a -> s { _udCreateDate = a }) . mapping _Time@@ -1779,13 +1986,14 @@ udUserName :: Lens' UserDetail (Maybe Text) udUserName = lens _udUserName (\s a -> s { _udUserName = a }) --- | A list of the user's policies.+-- | A list of the inline policies embedded in the user. udUserPolicyList :: Lens' UserDetail [PolicyDetail] udUserPolicyList = lens _udUserPolicyList (\s a -> s { _udUserPolicyList = a }) . _List instance FromXML UserDetail where parseXML x = UserDetail <$> x .@? "Arn"+ <*> x .@? "AttachedManagedPolicies" .!@ mempty <*> x .@? "CreateDate" <*> x .@? "GroupList" .!@ mempty <*> x .@? "Path"@@ -1795,13 +2003,14 @@ instance ToQuery UserDetail where toQuery UserDetail{..} = mconcat- [ "Arn" =? _udArn- , "CreateDate" =? _udCreateDate- , "GroupList" =? _udGroupList- , "Path" =? _udPath- , "UserId" =? _udUserId- , "UserName" =? _udUserName- , "UserPolicyList" =? _udUserPolicyList+ [ "Arn" =? _udArn+ , "AttachedManagedPolicies" =? _udAttachedManagedPolicies+ , "CreateDate" =? _udCreateDate+ , "GroupList" =? _udGroupList+ , "Path" =? _udPath+ , "UserId" =? _udUserId+ , "UserName" =? _udUserName+ , "UserPolicyList" =? _udUserPolicyList ] data Policy = Policy