amazonka-iam 0.3.0 → 0.3.1
raw patch · 36 files changed
+3409/−167 lines, 36 filesdep ~amazonka-corePVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: amazonka-core
API changes (from Hackage documentation)
- Network.AWS.IAM.DeleteGroupPolicy: dgpGroupName :: Lens' DeleteGroupPolicy Text
- Network.AWS.IAM.DeleteGroupPolicy: dgpPolicyName :: Lens' DeleteGroupPolicy Text
- Network.AWS.IAM.DeleteRolePolicy: drpPolicyName :: Lens' DeleteRolePolicy Text
- Network.AWS.IAM.DeleteRolePolicy: drpRoleName :: Lens' DeleteRolePolicy Text
+ Network.AWS.IAM.AttachGroupPolicy: agpGroupName :: Lens' AttachGroupPolicy Text
+ Network.AWS.IAM.AttachGroupPolicy: agpPolicyArn :: Lens' AttachGroupPolicy Text
+ Network.AWS.IAM.AttachGroupPolicy: attachGroupPolicy :: Text -> Text -> AttachGroupPolicy
+ Network.AWS.IAM.AttachGroupPolicy: attachGroupPolicyResponse :: AttachGroupPolicyResponse
+ Network.AWS.IAM.AttachGroupPolicy: data AttachGroupPolicy
+ Network.AWS.IAM.AttachGroupPolicy: data AttachGroupPolicyResponse
+ Network.AWS.IAM.AttachGroupPolicy: instance AWSRequest AttachGroupPolicy
+ Network.AWS.IAM.AttachGroupPolicy: instance Constructor C1_0AttachGroupPolicyResponse
+ Network.AWS.IAM.AttachGroupPolicy: instance Datatype D1AttachGroupPolicyResponse
+ Network.AWS.IAM.AttachGroupPolicy: instance Eq AttachGroupPolicy
+ Network.AWS.IAM.AttachGroupPolicy: instance Eq AttachGroupPolicyResponse
+ Network.AWS.IAM.AttachGroupPolicy: instance Generic AttachGroupPolicyResponse
+ Network.AWS.IAM.AttachGroupPolicy: instance Ord AttachGroupPolicy
+ Network.AWS.IAM.AttachGroupPolicy: instance Ord AttachGroupPolicyResponse
+ Network.AWS.IAM.AttachGroupPolicy: instance Read AttachGroupPolicy
+ Network.AWS.IAM.AttachGroupPolicy: instance Read AttachGroupPolicyResponse
+ Network.AWS.IAM.AttachGroupPolicy: instance Show AttachGroupPolicy
+ Network.AWS.IAM.AttachGroupPolicy: instance Show AttachGroupPolicyResponse
+ Network.AWS.IAM.AttachGroupPolicy: instance ToHeaders AttachGroupPolicy
+ Network.AWS.IAM.AttachGroupPolicy: instance ToPath AttachGroupPolicy
+ Network.AWS.IAM.AttachGroupPolicy: instance ToQuery AttachGroupPolicy
+ Network.AWS.IAM.AttachRolePolicy: arpPolicyArn :: Lens' AttachRolePolicy Text
+ Network.AWS.IAM.AttachRolePolicy: arpRoleName :: Lens' AttachRolePolicy Text
+ Network.AWS.IAM.AttachRolePolicy: attachRolePolicy :: Text -> Text -> AttachRolePolicy
+ Network.AWS.IAM.AttachRolePolicy: attachRolePolicyResponse :: AttachRolePolicyResponse
+ Network.AWS.IAM.AttachRolePolicy: data AttachRolePolicy
+ Network.AWS.IAM.AttachRolePolicy: data AttachRolePolicyResponse
+ Network.AWS.IAM.AttachRolePolicy: instance AWSRequest AttachRolePolicy
+ Network.AWS.IAM.AttachRolePolicy: instance Constructor C1_0AttachRolePolicyResponse
+ Network.AWS.IAM.AttachRolePolicy: instance Datatype D1AttachRolePolicyResponse
+ Network.AWS.IAM.AttachRolePolicy: instance Eq AttachRolePolicy
+ Network.AWS.IAM.AttachRolePolicy: instance Eq AttachRolePolicyResponse
+ Network.AWS.IAM.AttachRolePolicy: instance Generic AttachRolePolicyResponse
+ Network.AWS.IAM.AttachRolePolicy: instance Ord AttachRolePolicy
+ Network.AWS.IAM.AttachRolePolicy: instance Ord AttachRolePolicyResponse
+ Network.AWS.IAM.AttachRolePolicy: instance Read AttachRolePolicy
+ Network.AWS.IAM.AttachRolePolicy: instance Read AttachRolePolicyResponse
+ Network.AWS.IAM.AttachRolePolicy: instance Show AttachRolePolicy
+ Network.AWS.IAM.AttachRolePolicy: instance Show AttachRolePolicyResponse
+ Network.AWS.IAM.AttachRolePolicy: instance ToHeaders AttachRolePolicy
+ Network.AWS.IAM.AttachRolePolicy: instance ToPath AttachRolePolicy
+ Network.AWS.IAM.AttachRolePolicy: instance ToQuery AttachRolePolicy
+ Network.AWS.IAM.AttachUserPolicy: attachUserPolicy :: Text -> Text -> AttachUserPolicy
+ Network.AWS.IAM.AttachUserPolicy: attachUserPolicyResponse :: AttachUserPolicyResponse
+ Network.AWS.IAM.AttachUserPolicy: aupPolicyArn :: Lens' AttachUserPolicy Text
+ Network.AWS.IAM.AttachUserPolicy: aupUserName :: Lens' AttachUserPolicy Text
+ Network.AWS.IAM.AttachUserPolicy: data AttachUserPolicy
+ Network.AWS.IAM.AttachUserPolicy: data AttachUserPolicyResponse
+ Network.AWS.IAM.AttachUserPolicy: instance AWSRequest AttachUserPolicy
+ Network.AWS.IAM.AttachUserPolicy: instance Constructor C1_0AttachUserPolicyResponse
+ Network.AWS.IAM.AttachUserPolicy: instance Datatype D1AttachUserPolicyResponse
+ Network.AWS.IAM.AttachUserPolicy: instance Eq AttachUserPolicy
+ Network.AWS.IAM.AttachUserPolicy: instance Eq AttachUserPolicyResponse
+ Network.AWS.IAM.AttachUserPolicy: instance Generic AttachUserPolicyResponse
+ Network.AWS.IAM.AttachUserPolicy: instance Ord AttachUserPolicy
+ Network.AWS.IAM.AttachUserPolicy: instance Ord AttachUserPolicyResponse
+ Network.AWS.IAM.AttachUserPolicy: instance Read AttachUserPolicy
+ Network.AWS.IAM.AttachUserPolicy: instance Read AttachUserPolicyResponse
+ Network.AWS.IAM.AttachUserPolicy: instance Show AttachUserPolicy
+ Network.AWS.IAM.AttachUserPolicy: instance Show AttachUserPolicyResponse
+ Network.AWS.IAM.AttachUserPolicy: instance ToHeaders AttachUserPolicy
+ Network.AWS.IAM.AttachUserPolicy: instance ToPath AttachUserPolicy
+ Network.AWS.IAM.AttachUserPolicy: instance ToQuery AttachUserPolicy
+ Network.AWS.IAM.CreatePolicy: cpDescription :: Lens' CreatePolicy (Maybe Text)
+ Network.AWS.IAM.CreatePolicy: cpPath :: Lens' CreatePolicy (Maybe Text)
+ Network.AWS.IAM.CreatePolicy: cpPolicyDocument :: Lens' CreatePolicy Text
+ Network.AWS.IAM.CreatePolicy: cpPolicyName :: Lens' CreatePolicy Text
+ Network.AWS.IAM.CreatePolicy: cprPolicy :: Lens' CreatePolicyResponse (Maybe Policy)
+ Network.AWS.IAM.CreatePolicy: createPolicy :: Text -> Text -> CreatePolicy
+ Network.AWS.IAM.CreatePolicy: createPolicyResponse :: CreatePolicyResponse
+ Network.AWS.IAM.CreatePolicy: data CreatePolicy
+ Network.AWS.IAM.CreatePolicy: data CreatePolicyResponse
+ Network.AWS.IAM.CreatePolicy: instance AWSRequest CreatePolicy
+ Network.AWS.IAM.CreatePolicy: instance Eq CreatePolicy
+ Network.AWS.IAM.CreatePolicy: instance Eq CreatePolicyResponse
+ Network.AWS.IAM.CreatePolicy: instance FromXML CreatePolicyResponse
+ Network.AWS.IAM.CreatePolicy: instance Ord CreatePolicy
+ Network.AWS.IAM.CreatePolicy: instance Read CreatePolicy
+ Network.AWS.IAM.CreatePolicy: instance Read CreatePolicyResponse
+ Network.AWS.IAM.CreatePolicy: instance Show CreatePolicy
+ Network.AWS.IAM.CreatePolicy: instance Show CreatePolicyResponse
+ Network.AWS.IAM.CreatePolicy: instance ToHeaders CreatePolicy
+ Network.AWS.IAM.CreatePolicy: instance ToPath CreatePolicy
+ Network.AWS.IAM.CreatePolicy: instance ToQuery CreatePolicy
+ Network.AWS.IAM.CreatePolicyVersion: cpvPolicyArn :: Lens' CreatePolicyVersion Text
+ Network.AWS.IAM.CreatePolicyVersion: cpvPolicyDocument :: Lens' CreatePolicyVersion Text
+ Network.AWS.IAM.CreatePolicyVersion: cpvSetAsDefault :: Lens' CreatePolicyVersion (Maybe Bool)
+ Network.AWS.IAM.CreatePolicyVersion: cpvrPolicyVersion :: Lens' CreatePolicyVersionResponse (Maybe PolicyVersion)
+ Network.AWS.IAM.CreatePolicyVersion: createPolicyVersion :: Text -> Text -> CreatePolicyVersion
+ Network.AWS.IAM.CreatePolicyVersion: createPolicyVersionResponse :: CreatePolicyVersionResponse
+ Network.AWS.IAM.CreatePolicyVersion: data CreatePolicyVersion
+ Network.AWS.IAM.CreatePolicyVersion: data CreatePolicyVersionResponse
+ Network.AWS.IAM.CreatePolicyVersion: instance AWSRequest CreatePolicyVersion
+ Network.AWS.IAM.CreatePolicyVersion: instance Eq CreatePolicyVersion
+ Network.AWS.IAM.CreatePolicyVersion: instance Eq CreatePolicyVersionResponse
+ Network.AWS.IAM.CreatePolicyVersion: instance FromXML CreatePolicyVersionResponse
+ Network.AWS.IAM.CreatePolicyVersion: instance Ord CreatePolicyVersion
+ Network.AWS.IAM.CreatePolicyVersion: instance Read CreatePolicyVersion
+ Network.AWS.IAM.CreatePolicyVersion: instance Read CreatePolicyVersionResponse
+ Network.AWS.IAM.CreatePolicyVersion: instance Show CreatePolicyVersion
+ Network.AWS.IAM.CreatePolicyVersion: instance Show CreatePolicyVersionResponse
+ Network.AWS.IAM.CreatePolicyVersion: instance ToHeaders CreatePolicyVersion
+ Network.AWS.IAM.CreatePolicyVersion: instance ToPath CreatePolicyVersion
+ Network.AWS.IAM.CreatePolicyVersion: instance ToQuery CreatePolicyVersion
+ Network.AWS.IAM.DeleteGroupPolicy: dgp1GroupName :: Lens' DeleteGroupPolicy Text
+ Network.AWS.IAM.DeleteGroupPolicy: dgp1PolicyName :: Lens' DeleteGroupPolicy Text
+ Network.AWS.IAM.DeletePolicy: data DeletePolicy
+ Network.AWS.IAM.DeletePolicy: data DeletePolicyResponse
+ Network.AWS.IAM.DeletePolicy: deletePolicy :: Text -> DeletePolicy
+ Network.AWS.IAM.DeletePolicy: deletePolicyResponse :: DeletePolicyResponse
+ Network.AWS.IAM.DeletePolicy: dpPolicyArn :: Lens' DeletePolicy Text
+ Network.AWS.IAM.DeletePolicy: instance AWSRequest DeletePolicy
+ Network.AWS.IAM.DeletePolicy: instance Constructor C1_0DeletePolicyResponse
+ Network.AWS.IAM.DeletePolicy: instance Datatype D1DeletePolicyResponse
+ Network.AWS.IAM.DeletePolicy: instance Eq DeletePolicy
+ Network.AWS.IAM.DeletePolicy: instance Eq DeletePolicyResponse
+ Network.AWS.IAM.DeletePolicy: instance Generic DeletePolicyResponse
+ Network.AWS.IAM.DeletePolicy: instance IsString DeletePolicy
+ Network.AWS.IAM.DeletePolicy: instance Monoid DeletePolicy
+ Network.AWS.IAM.DeletePolicy: instance Ord DeletePolicy
+ Network.AWS.IAM.DeletePolicy: instance Ord DeletePolicyResponse
+ Network.AWS.IAM.DeletePolicy: instance Read DeletePolicy
+ Network.AWS.IAM.DeletePolicy: instance Read DeletePolicyResponse
+ Network.AWS.IAM.DeletePolicy: instance Show DeletePolicy
+ Network.AWS.IAM.DeletePolicy: instance Show DeletePolicyResponse
+ Network.AWS.IAM.DeletePolicy: instance ToHeaders DeletePolicy
+ Network.AWS.IAM.DeletePolicy: instance ToPath DeletePolicy
+ Network.AWS.IAM.DeletePolicy: instance ToQuery DeletePolicy
+ Network.AWS.IAM.DeletePolicyVersion: data DeletePolicyVersion
+ Network.AWS.IAM.DeletePolicyVersion: data DeletePolicyVersionResponse
+ Network.AWS.IAM.DeletePolicyVersion: deletePolicyVersion :: Text -> Text -> DeletePolicyVersion
+ Network.AWS.IAM.DeletePolicyVersion: deletePolicyVersionResponse :: DeletePolicyVersionResponse
+ Network.AWS.IAM.DeletePolicyVersion: dpvPolicyArn :: Lens' DeletePolicyVersion Text
+ Network.AWS.IAM.DeletePolicyVersion: dpvVersionId :: Lens' DeletePolicyVersion Text
+ Network.AWS.IAM.DeletePolicyVersion: instance AWSRequest DeletePolicyVersion
+ Network.AWS.IAM.DeletePolicyVersion: instance Constructor C1_0DeletePolicyVersionResponse
+ Network.AWS.IAM.DeletePolicyVersion: instance Datatype D1DeletePolicyVersionResponse
+ Network.AWS.IAM.DeletePolicyVersion: instance Eq DeletePolicyVersion
+ Network.AWS.IAM.DeletePolicyVersion: instance Eq DeletePolicyVersionResponse
+ Network.AWS.IAM.DeletePolicyVersion: instance Generic DeletePolicyVersionResponse
+ Network.AWS.IAM.DeletePolicyVersion: instance Ord DeletePolicyVersion
+ Network.AWS.IAM.DeletePolicyVersion: instance Ord DeletePolicyVersionResponse
+ Network.AWS.IAM.DeletePolicyVersion: instance Read DeletePolicyVersion
+ Network.AWS.IAM.DeletePolicyVersion: instance Read DeletePolicyVersionResponse
+ Network.AWS.IAM.DeletePolicyVersion: instance Show DeletePolicyVersion
+ Network.AWS.IAM.DeletePolicyVersion: instance Show DeletePolicyVersionResponse
+ Network.AWS.IAM.DeletePolicyVersion: instance ToHeaders DeletePolicyVersion
+ Network.AWS.IAM.DeletePolicyVersion: instance ToPath DeletePolicyVersion
+ Network.AWS.IAM.DeletePolicyVersion: instance ToQuery DeletePolicyVersion
+ Network.AWS.IAM.DeleteRolePolicy: drp1PolicyName :: Lens' DeleteRolePolicy Text
+ Network.AWS.IAM.DeleteRolePolicy: drp1RoleName :: Lens' DeleteRolePolicy Text
+ Network.AWS.IAM.DetachGroupPolicy: data DetachGroupPolicy
+ Network.AWS.IAM.DetachGroupPolicy: data DetachGroupPolicyResponse
+ Network.AWS.IAM.DetachGroupPolicy: detachGroupPolicy :: Text -> Text -> DetachGroupPolicy
+ Network.AWS.IAM.DetachGroupPolicy: detachGroupPolicyResponse :: DetachGroupPolicyResponse
+ Network.AWS.IAM.DetachGroupPolicy: dgpGroupName :: Lens' DetachGroupPolicy Text
+ Network.AWS.IAM.DetachGroupPolicy: dgpPolicyArn :: Lens' DetachGroupPolicy Text
+ Network.AWS.IAM.DetachGroupPolicy: instance AWSRequest DetachGroupPolicy
+ Network.AWS.IAM.DetachGroupPolicy: instance Constructor C1_0DetachGroupPolicyResponse
+ Network.AWS.IAM.DetachGroupPolicy: instance Datatype D1DetachGroupPolicyResponse
+ Network.AWS.IAM.DetachGroupPolicy: instance Eq DetachGroupPolicy
+ Network.AWS.IAM.DetachGroupPolicy: instance Eq DetachGroupPolicyResponse
+ Network.AWS.IAM.DetachGroupPolicy: instance Generic DetachGroupPolicyResponse
+ Network.AWS.IAM.DetachGroupPolicy: instance Ord DetachGroupPolicy
+ Network.AWS.IAM.DetachGroupPolicy: instance Ord DetachGroupPolicyResponse
+ Network.AWS.IAM.DetachGroupPolicy: instance Read DetachGroupPolicy
+ Network.AWS.IAM.DetachGroupPolicy: instance Read DetachGroupPolicyResponse
+ Network.AWS.IAM.DetachGroupPolicy: instance Show DetachGroupPolicy
+ Network.AWS.IAM.DetachGroupPolicy: instance Show DetachGroupPolicyResponse
+ Network.AWS.IAM.DetachGroupPolicy: instance ToHeaders DetachGroupPolicy
+ Network.AWS.IAM.DetachGroupPolicy: instance ToPath DetachGroupPolicy
+ Network.AWS.IAM.DetachGroupPolicy: instance ToQuery DetachGroupPolicy
+ Network.AWS.IAM.DetachRolePolicy: data DetachRolePolicy
+ Network.AWS.IAM.DetachRolePolicy: data DetachRolePolicyResponse
+ Network.AWS.IAM.DetachRolePolicy: detachRolePolicy :: Text -> Text -> DetachRolePolicy
+ Network.AWS.IAM.DetachRolePolicy: detachRolePolicyResponse :: DetachRolePolicyResponse
+ Network.AWS.IAM.DetachRolePolicy: drpPolicyArn :: Lens' DetachRolePolicy Text
+ Network.AWS.IAM.DetachRolePolicy: drpRoleName :: Lens' DetachRolePolicy Text
+ Network.AWS.IAM.DetachRolePolicy: instance AWSRequest DetachRolePolicy
+ Network.AWS.IAM.DetachRolePolicy: instance Constructor C1_0DetachRolePolicyResponse
+ Network.AWS.IAM.DetachRolePolicy: instance Datatype D1DetachRolePolicyResponse
+ Network.AWS.IAM.DetachRolePolicy: instance Eq DetachRolePolicy
+ Network.AWS.IAM.DetachRolePolicy: instance Eq DetachRolePolicyResponse
+ Network.AWS.IAM.DetachRolePolicy: instance Generic DetachRolePolicyResponse
+ Network.AWS.IAM.DetachRolePolicy: instance Ord DetachRolePolicy
+ Network.AWS.IAM.DetachRolePolicy: instance Ord DetachRolePolicyResponse
+ Network.AWS.IAM.DetachRolePolicy: instance Read DetachRolePolicy
+ Network.AWS.IAM.DetachRolePolicy: instance Read DetachRolePolicyResponse
+ Network.AWS.IAM.DetachRolePolicy: instance Show DetachRolePolicy
+ Network.AWS.IAM.DetachRolePolicy: instance Show DetachRolePolicyResponse
+ Network.AWS.IAM.DetachRolePolicy: instance ToHeaders DetachRolePolicy
+ Network.AWS.IAM.DetachRolePolicy: instance ToPath DetachRolePolicy
+ Network.AWS.IAM.DetachRolePolicy: instance ToQuery DetachRolePolicy
+ Network.AWS.IAM.DetachUserPolicy: data DetachUserPolicy
+ Network.AWS.IAM.DetachUserPolicy: data DetachUserPolicyResponse
+ Network.AWS.IAM.DetachUserPolicy: detachUserPolicy :: Text -> Text -> DetachUserPolicy
+ Network.AWS.IAM.DetachUserPolicy: detachUserPolicyResponse :: DetachUserPolicyResponse
+ Network.AWS.IAM.DetachUserPolicy: dup1PolicyArn :: Lens' DetachUserPolicy Text
+ Network.AWS.IAM.DetachUserPolicy: dup1UserName :: Lens' DetachUserPolicy Text
+ Network.AWS.IAM.DetachUserPolicy: instance AWSRequest DetachUserPolicy
+ Network.AWS.IAM.DetachUserPolicy: instance Constructor C1_0DetachUserPolicyResponse
+ Network.AWS.IAM.DetachUserPolicy: instance Datatype D1DetachUserPolicyResponse
+ Network.AWS.IAM.DetachUserPolicy: instance Eq DetachUserPolicy
+ Network.AWS.IAM.DetachUserPolicy: instance Eq DetachUserPolicyResponse
+ Network.AWS.IAM.DetachUserPolicy: instance Generic DetachUserPolicyResponse
+ Network.AWS.IAM.DetachUserPolicy: instance Ord DetachUserPolicy
+ Network.AWS.IAM.DetachUserPolicy: instance Ord DetachUserPolicyResponse
+ Network.AWS.IAM.DetachUserPolicy: instance Read DetachUserPolicy
+ Network.AWS.IAM.DetachUserPolicy: instance Read DetachUserPolicyResponse
+ Network.AWS.IAM.DetachUserPolicy: instance Show DetachUserPolicy
+ Network.AWS.IAM.DetachUserPolicy: instance Show DetachUserPolicyResponse
+ Network.AWS.IAM.DetachUserPolicy: instance ToHeaders DetachUserPolicy
+ Network.AWS.IAM.DetachUserPolicy: instance ToPath DetachUserPolicy
+ Network.AWS.IAM.DetachUserPolicy: instance ToQuery DetachUserPolicy
+ Network.AWS.IAM.GetPolicy: data GetPolicy
+ Network.AWS.IAM.GetPolicy: data GetPolicyResponse
+ Network.AWS.IAM.GetPolicy: getPolicy :: Text -> GetPolicy
+ Network.AWS.IAM.GetPolicy: getPolicyResponse :: GetPolicyResponse
+ Network.AWS.IAM.GetPolicy: gpPolicyArn :: Lens' GetPolicy Text
+ Network.AWS.IAM.GetPolicy: gprPolicy :: Lens' GetPolicyResponse (Maybe Policy)
+ Network.AWS.IAM.GetPolicy: instance AWSRequest GetPolicy
+ Network.AWS.IAM.GetPolicy: instance Eq GetPolicy
+ Network.AWS.IAM.GetPolicy: instance Eq GetPolicyResponse
+ Network.AWS.IAM.GetPolicy: instance FromXML GetPolicyResponse
+ Network.AWS.IAM.GetPolicy: instance IsString GetPolicy
+ Network.AWS.IAM.GetPolicy: instance Monoid GetPolicy
+ Network.AWS.IAM.GetPolicy: instance Ord GetPolicy
+ Network.AWS.IAM.GetPolicy: instance Read GetPolicy
+ Network.AWS.IAM.GetPolicy: instance Read GetPolicyResponse
+ Network.AWS.IAM.GetPolicy: instance Show GetPolicy
+ Network.AWS.IAM.GetPolicy: instance Show GetPolicyResponse
+ Network.AWS.IAM.GetPolicy: instance ToHeaders GetPolicy
+ Network.AWS.IAM.GetPolicy: instance ToPath GetPolicy
+ Network.AWS.IAM.GetPolicy: instance ToQuery GetPolicy
+ Network.AWS.IAM.GetPolicyVersion: data GetPolicyVersion
+ Network.AWS.IAM.GetPolicyVersion: data GetPolicyVersionResponse
+ Network.AWS.IAM.GetPolicyVersion: getPolicyVersion :: Text -> Text -> GetPolicyVersion
+ Network.AWS.IAM.GetPolicyVersion: getPolicyVersionResponse :: GetPolicyVersionResponse
+ Network.AWS.IAM.GetPolicyVersion: gpvPolicyArn :: Lens' GetPolicyVersion Text
+ Network.AWS.IAM.GetPolicyVersion: gpvVersionId :: Lens' GetPolicyVersion Text
+ Network.AWS.IAM.GetPolicyVersion: gpvrPolicyVersion :: Lens' GetPolicyVersionResponse (Maybe PolicyVersion)
+ Network.AWS.IAM.GetPolicyVersion: instance AWSRequest GetPolicyVersion
+ Network.AWS.IAM.GetPolicyVersion: instance Eq GetPolicyVersion
+ Network.AWS.IAM.GetPolicyVersion: instance Eq GetPolicyVersionResponse
+ Network.AWS.IAM.GetPolicyVersion: instance FromXML GetPolicyVersionResponse
+ Network.AWS.IAM.GetPolicyVersion: instance Ord GetPolicyVersion
+ Network.AWS.IAM.GetPolicyVersion: instance Read GetPolicyVersion
+ Network.AWS.IAM.GetPolicyVersion: instance Read GetPolicyVersionResponse
+ Network.AWS.IAM.GetPolicyVersion: instance Show GetPolicyVersion
+ Network.AWS.IAM.GetPolicyVersion: instance Show GetPolicyVersionResponse
+ Network.AWS.IAM.GetPolicyVersion: instance ToHeaders GetPolicyVersion
+ Network.AWS.IAM.GetPolicyVersion: instance ToPath GetPolicyVersion
+ Network.AWS.IAM.GetPolicyVersion: instance ToQuery GetPolicyVersion
+ Network.AWS.IAM.ListAttachedGroupPolicies: data ListAttachedGroupPolicies
+ Network.AWS.IAM.ListAttachedGroupPolicies: data ListAttachedGroupPoliciesResponse
+ Network.AWS.IAM.ListAttachedGroupPolicies: instance AWSRequest ListAttachedGroupPolicies
+ Network.AWS.IAM.ListAttachedGroupPolicies: instance Eq ListAttachedGroupPolicies
+ Network.AWS.IAM.ListAttachedGroupPolicies: instance Eq ListAttachedGroupPoliciesResponse
+ Network.AWS.IAM.ListAttachedGroupPolicies: instance FromXML ListAttachedGroupPoliciesResponse
+ Network.AWS.IAM.ListAttachedGroupPolicies: instance Ord ListAttachedGroupPolicies
+ Network.AWS.IAM.ListAttachedGroupPolicies: instance Read ListAttachedGroupPolicies
+ Network.AWS.IAM.ListAttachedGroupPolicies: instance Read ListAttachedGroupPoliciesResponse
+ Network.AWS.IAM.ListAttachedGroupPolicies: instance Show ListAttachedGroupPolicies
+ Network.AWS.IAM.ListAttachedGroupPolicies: instance Show ListAttachedGroupPoliciesResponse
+ Network.AWS.IAM.ListAttachedGroupPolicies: instance ToHeaders ListAttachedGroupPolicies
+ Network.AWS.IAM.ListAttachedGroupPolicies: instance ToPath ListAttachedGroupPolicies
+ Network.AWS.IAM.ListAttachedGroupPolicies: instance ToQuery ListAttachedGroupPolicies
+ Network.AWS.IAM.ListAttachedGroupPolicies: lagpGroupName :: Lens' ListAttachedGroupPolicies Text
+ Network.AWS.IAM.ListAttachedGroupPolicies: lagpMarker :: Lens' ListAttachedGroupPolicies (Maybe Text)
+ Network.AWS.IAM.ListAttachedGroupPolicies: lagpMaxItems :: Lens' ListAttachedGroupPolicies (Maybe Natural)
+ Network.AWS.IAM.ListAttachedGroupPolicies: lagpPathPrefix :: Lens' ListAttachedGroupPolicies (Maybe Text)
+ Network.AWS.IAM.ListAttachedGroupPolicies: lagprAttachedPolicies :: Lens' ListAttachedGroupPoliciesResponse [AttachedPolicy]
+ Network.AWS.IAM.ListAttachedGroupPolicies: lagprIsTruncated :: Lens' ListAttachedGroupPoliciesResponse (Maybe Bool)
+ Network.AWS.IAM.ListAttachedGroupPolicies: lagprMarker :: Lens' ListAttachedGroupPoliciesResponse (Maybe Text)
+ Network.AWS.IAM.ListAttachedGroupPolicies: listAttachedGroupPolicies :: Text -> ListAttachedGroupPolicies
+ Network.AWS.IAM.ListAttachedGroupPolicies: listAttachedGroupPoliciesResponse :: ListAttachedGroupPoliciesResponse
+ Network.AWS.IAM.ListAttachedRolePolicies: data ListAttachedRolePolicies
+ Network.AWS.IAM.ListAttachedRolePolicies: data ListAttachedRolePoliciesResponse
+ Network.AWS.IAM.ListAttachedRolePolicies: instance AWSRequest ListAttachedRolePolicies
+ Network.AWS.IAM.ListAttachedRolePolicies: instance Eq ListAttachedRolePolicies
+ Network.AWS.IAM.ListAttachedRolePolicies: instance Eq ListAttachedRolePoliciesResponse
+ Network.AWS.IAM.ListAttachedRolePolicies: instance FromXML ListAttachedRolePoliciesResponse
+ Network.AWS.IAM.ListAttachedRolePolicies: instance Ord ListAttachedRolePolicies
+ Network.AWS.IAM.ListAttachedRolePolicies: instance Read ListAttachedRolePolicies
+ Network.AWS.IAM.ListAttachedRolePolicies: instance Read ListAttachedRolePoliciesResponse
+ Network.AWS.IAM.ListAttachedRolePolicies: instance Show ListAttachedRolePolicies
+ Network.AWS.IAM.ListAttachedRolePolicies: instance Show ListAttachedRolePoliciesResponse
+ Network.AWS.IAM.ListAttachedRolePolicies: instance ToHeaders ListAttachedRolePolicies
+ Network.AWS.IAM.ListAttachedRolePolicies: instance ToPath ListAttachedRolePolicies
+ Network.AWS.IAM.ListAttachedRolePolicies: instance ToQuery ListAttachedRolePolicies
+ Network.AWS.IAM.ListAttachedRolePolicies: larpMarker :: Lens' ListAttachedRolePolicies (Maybe Text)
+ Network.AWS.IAM.ListAttachedRolePolicies: larpMaxItems :: Lens' ListAttachedRolePolicies (Maybe Natural)
+ Network.AWS.IAM.ListAttachedRolePolicies: larpPathPrefix :: Lens' ListAttachedRolePolicies (Maybe Text)
+ Network.AWS.IAM.ListAttachedRolePolicies: larpRoleName :: Lens' ListAttachedRolePolicies Text
+ Network.AWS.IAM.ListAttachedRolePolicies: larprAttachedPolicies :: Lens' ListAttachedRolePoliciesResponse [AttachedPolicy]
+ Network.AWS.IAM.ListAttachedRolePolicies: larprIsTruncated :: Lens' ListAttachedRolePoliciesResponse (Maybe Bool)
+ Network.AWS.IAM.ListAttachedRolePolicies: larprMarker :: Lens' ListAttachedRolePoliciesResponse (Maybe Text)
+ Network.AWS.IAM.ListAttachedRolePolicies: listAttachedRolePolicies :: Text -> ListAttachedRolePolicies
+ Network.AWS.IAM.ListAttachedRolePolicies: listAttachedRolePoliciesResponse :: ListAttachedRolePoliciesResponse
+ Network.AWS.IAM.ListAttachedUserPolicies: data ListAttachedUserPolicies
+ Network.AWS.IAM.ListAttachedUserPolicies: data ListAttachedUserPoliciesResponse
+ Network.AWS.IAM.ListAttachedUserPolicies: instance AWSRequest ListAttachedUserPolicies
+ Network.AWS.IAM.ListAttachedUserPolicies: instance Eq ListAttachedUserPolicies
+ Network.AWS.IAM.ListAttachedUserPolicies: instance Eq ListAttachedUserPoliciesResponse
+ Network.AWS.IAM.ListAttachedUserPolicies: instance FromXML ListAttachedUserPoliciesResponse
+ Network.AWS.IAM.ListAttachedUserPolicies: instance Ord ListAttachedUserPolicies
+ Network.AWS.IAM.ListAttachedUserPolicies: instance Read ListAttachedUserPolicies
+ Network.AWS.IAM.ListAttachedUserPolicies: instance Read ListAttachedUserPoliciesResponse
+ Network.AWS.IAM.ListAttachedUserPolicies: instance Show ListAttachedUserPolicies
+ Network.AWS.IAM.ListAttachedUserPolicies: instance Show ListAttachedUserPoliciesResponse
+ Network.AWS.IAM.ListAttachedUserPolicies: instance ToHeaders ListAttachedUserPolicies
+ Network.AWS.IAM.ListAttachedUserPolicies: instance ToPath ListAttachedUserPolicies
+ Network.AWS.IAM.ListAttachedUserPolicies: instance ToQuery ListAttachedUserPolicies
+ Network.AWS.IAM.ListAttachedUserPolicies: laupMarker :: Lens' ListAttachedUserPolicies (Maybe Text)
+ Network.AWS.IAM.ListAttachedUserPolicies: laupMaxItems :: Lens' ListAttachedUserPolicies (Maybe Natural)
+ Network.AWS.IAM.ListAttachedUserPolicies: laupPathPrefix :: Lens' ListAttachedUserPolicies (Maybe Text)
+ Network.AWS.IAM.ListAttachedUserPolicies: laupUserName :: Lens' ListAttachedUserPolicies Text
+ Network.AWS.IAM.ListAttachedUserPolicies: lauprAttachedPolicies :: Lens' ListAttachedUserPoliciesResponse [AttachedPolicy]
+ Network.AWS.IAM.ListAttachedUserPolicies: lauprIsTruncated :: Lens' ListAttachedUserPoliciesResponse (Maybe Bool)
+ Network.AWS.IAM.ListAttachedUserPolicies: lauprMarker :: Lens' ListAttachedUserPoliciesResponse (Maybe Text)
+ Network.AWS.IAM.ListAttachedUserPolicies: listAttachedUserPolicies :: Text -> ListAttachedUserPolicies
+ Network.AWS.IAM.ListAttachedUserPolicies: listAttachedUserPoliciesResponse :: ListAttachedUserPoliciesResponse
+ Network.AWS.IAM.ListEntitiesForPolicy: data ListEntitiesForPolicy
+ Network.AWS.IAM.ListEntitiesForPolicy: data ListEntitiesForPolicyResponse
+ Network.AWS.IAM.ListEntitiesForPolicy: instance AWSRequest ListEntitiesForPolicy
+ Network.AWS.IAM.ListEntitiesForPolicy: instance Eq ListEntitiesForPolicy
+ Network.AWS.IAM.ListEntitiesForPolicy: instance Eq ListEntitiesForPolicyResponse
+ Network.AWS.IAM.ListEntitiesForPolicy: instance FromXML ListEntitiesForPolicyResponse
+ Network.AWS.IAM.ListEntitiesForPolicy: instance Read ListEntitiesForPolicy
+ Network.AWS.IAM.ListEntitiesForPolicy: instance Read ListEntitiesForPolicyResponse
+ Network.AWS.IAM.ListEntitiesForPolicy: instance Show ListEntitiesForPolicy
+ Network.AWS.IAM.ListEntitiesForPolicy: instance Show ListEntitiesForPolicyResponse
+ Network.AWS.IAM.ListEntitiesForPolicy: instance ToHeaders ListEntitiesForPolicy
+ Network.AWS.IAM.ListEntitiesForPolicy: instance ToPath ListEntitiesForPolicy
+ Network.AWS.IAM.ListEntitiesForPolicy: instance ToQuery ListEntitiesForPolicy
+ Network.AWS.IAM.ListEntitiesForPolicy: lefpEntityFilter :: Lens' ListEntitiesForPolicy (Maybe EntityType)
+ Network.AWS.IAM.ListEntitiesForPolicy: lefpMarker :: Lens' ListEntitiesForPolicy (Maybe Text)
+ Network.AWS.IAM.ListEntitiesForPolicy: lefpMaxItems :: Lens' ListEntitiesForPolicy (Maybe Natural)
+ Network.AWS.IAM.ListEntitiesForPolicy: lefpPathPrefix :: Lens' ListEntitiesForPolicy (Maybe Text)
+ Network.AWS.IAM.ListEntitiesForPolicy: lefpPolicyArn :: Lens' ListEntitiesForPolicy Text
+ Network.AWS.IAM.ListEntitiesForPolicy: lefprIsTruncated :: Lens' ListEntitiesForPolicyResponse (Maybe Bool)
+ Network.AWS.IAM.ListEntitiesForPolicy: lefprMarker :: Lens' ListEntitiesForPolicyResponse (Maybe Text)
+ Network.AWS.IAM.ListEntitiesForPolicy: lefprPolicyGroups :: Lens' ListEntitiesForPolicyResponse [PolicyGroup]
+ Network.AWS.IAM.ListEntitiesForPolicy: lefprPolicyRoles :: Lens' ListEntitiesForPolicyResponse [PolicyRole]
+ Network.AWS.IAM.ListEntitiesForPolicy: lefprPolicyUsers :: Lens' ListEntitiesForPolicyResponse [PolicyUser]
+ Network.AWS.IAM.ListEntitiesForPolicy: listEntitiesForPolicy :: Text -> ListEntitiesForPolicy
+ Network.AWS.IAM.ListEntitiesForPolicy: listEntitiesForPolicyResponse :: ListEntitiesForPolicyResponse
+ Network.AWS.IAM.ListPolicies: data ListPolicies
+ Network.AWS.IAM.ListPolicies: data ListPoliciesResponse
+ Network.AWS.IAM.ListPolicies: instance AWSRequest ListPolicies
+ Network.AWS.IAM.ListPolicies: instance Eq ListPolicies
+ Network.AWS.IAM.ListPolicies: instance Eq ListPoliciesResponse
+ Network.AWS.IAM.ListPolicies: instance FromXML ListPoliciesResponse
+ Network.AWS.IAM.ListPolicies: instance Read ListPolicies
+ Network.AWS.IAM.ListPolicies: instance Read ListPoliciesResponse
+ Network.AWS.IAM.ListPolicies: instance Show ListPolicies
+ Network.AWS.IAM.ListPolicies: instance Show ListPoliciesResponse
+ Network.AWS.IAM.ListPolicies: instance ToHeaders ListPolicies
+ Network.AWS.IAM.ListPolicies: instance ToPath ListPolicies
+ Network.AWS.IAM.ListPolicies: instance ToQuery ListPolicies
+ Network.AWS.IAM.ListPolicies: listPolicies :: ListPolicies
+ Network.AWS.IAM.ListPolicies: listPoliciesResponse :: ListPoliciesResponse
+ Network.AWS.IAM.ListPolicies: lpMarker :: Lens' ListPolicies (Maybe Text)
+ Network.AWS.IAM.ListPolicies: lpMaxItems :: Lens' ListPolicies (Maybe Natural)
+ Network.AWS.IAM.ListPolicies: lpOnlyAttached :: Lens' ListPolicies (Maybe Bool)
+ Network.AWS.IAM.ListPolicies: lpPathPrefix :: Lens' ListPolicies (Maybe Text)
+ Network.AWS.IAM.ListPolicies: lpScope :: Lens' ListPolicies (Maybe PolicyScopeType)
+ Network.AWS.IAM.ListPolicies: lprIsTruncated :: Lens' ListPoliciesResponse (Maybe Bool)
+ Network.AWS.IAM.ListPolicies: lprMarker :: Lens' ListPoliciesResponse (Maybe Text)
+ Network.AWS.IAM.ListPolicies: lprPolicies :: Lens' ListPoliciesResponse [Policy]
+ Network.AWS.IAM.ListPolicyVersions: data ListPolicyVersions
+ Network.AWS.IAM.ListPolicyVersions: data ListPolicyVersionsResponse
+ Network.AWS.IAM.ListPolicyVersions: instance AWSRequest ListPolicyVersions
+ Network.AWS.IAM.ListPolicyVersions: instance Eq ListPolicyVersions
+ Network.AWS.IAM.ListPolicyVersions: instance Eq ListPolicyVersionsResponse
+ Network.AWS.IAM.ListPolicyVersions: instance FromXML ListPolicyVersionsResponse
+ Network.AWS.IAM.ListPolicyVersions: instance Ord ListPolicyVersions
+ Network.AWS.IAM.ListPolicyVersions: instance Read ListPolicyVersions
+ Network.AWS.IAM.ListPolicyVersions: instance Read ListPolicyVersionsResponse
+ Network.AWS.IAM.ListPolicyVersions: instance Show ListPolicyVersions
+ Network.AWS.IAM.ListPolicyVersions: instance Show ListPolicyVersionsResponse
+ Network.AWS.IAM.ListPolicyVersions: instance ToHeaders ListPolicyVersions
+ Network.AWS.IAM.ListPolicyVersions: instance ToPath ListPolicyVersions
+ Network.AWS.IAM.ListPolicyVersions: instance ToQuery ListPolicyVersions
+ Network.AWS.IAM.ListPolicyVersions: listPolicyVersions :: Text -> ListPolicyVersions
+ Network.AWS.IAM.ListPolicyVersions: listPolicyVersionsResponse :: ListPolicyVersionsResponse
+ Network.AWS.IAM.ListPolicyVersions: lpvMarker :: Lens' ListPolicyVersions (Maybe Text)
+ Network.AWS.IAM.ListPolicyVersions: lpvMaxItems :: Lens' ListPolicyVersions (Maybe Natural)
+ Network.AWS.IAM.ListPolicyVersions: lpvPolicyArn :: Lens' ListPolicyVersions Text
+ Network.AWS.IAM.ListPolicyVersions: lpvrIsTruncated :: Lens' ListPolicyVersionsResponse (Maybe Bool)
+ Network.AWS.IAM.ListPolicyVersions: lpvrMarker :: Lens' ListPolicyVersionsResponse (Maybe Text)
+ Network.AWS.IAM.ListPolicyVersions: lpvrVersions :: Lens' ListPolicyVersionsResponse [PolicyVersion]
+ Network.AWS.IAM.SetDefaultPolicyVersion: data SetDefaultPolicyVersion
+ Network.AWS.IAM.SetDefaultPolicyVersion: data SetDefaultPolicyVersionResponse
+ Network.AWS.IAM.SetDefaultPolicyVersion: instance AWSRequest SetDefaultPolicyVersion
+ Network.AWS.IAM.SetDefaultPolicyVersion: instance Constructor C1_0SetDefaultPolicyVersionResponse
+ Network.AWS.IAM.SetDefaultPolicyVersion: instance Datatype D1SetDefaultPolicyVersionResponse
+ Network.AWS.IAM.SetDefaultPolicyVersion: instance Eq SetDefaultPolicyVersion
+ Network.AWS.IAM.SetDefaultPolicyVersion: instance Eq SetDefaultPolicyVersionResponse
+ Network.AWS.IAM.SetDefaultPolicyVersion: instance Generic SetDefaultPolicyVersionResponse
+ Network.AWS.IAM.SetDefaultPolicyVersion: instance Ord SetDefaultPolicyVersion
+ Network.AWS.IAM.SetDefaultPolicyVersion: instance Ord SetDefaultPolicyVersionResponse
+ Network.AWS.IAM.SetDefaultPolicyVersion: instance Read SetDefaultPolicyVersion
+ Network.AWS.IAM.SetDefaultPolicyVersion: instance Read SetDefaultPolicyVersionResponse
+ Network.AWS.IAM.SetDefaultPolicyVersion: instance Show SetDefaultPolicyVersion
+ Network.AWS.IAM.SetDefaultPolicyVersion: instance Show SetDefaultPolicyVersionResponse
+ Network.AWS.IAM.SetDefaultPolicyVersion: instance ToHeaders SetDefaultPolicyVersion
+ Network.AWS.IAM.SetDefaultPolicyVersion: instance ToPath SetDefaultPolicyVersion
+ Network.AWS.IAM.SetDefaultPolicyVersion: instance ToQuery SetDefaultPolicyVersion
+ Network.AWS.IAM.SetDefaultPolicyVersion: sdpvPolicyArn :: Lens' SetDefaultPolicyVersion Text
+ Network.AWS.IAM.SetDefaultPolicyVersion: sdpvVersionId :: Lens' SetDefaultPolicyVersion Text
+ Network.AWS.IAM.SetDefaultPolicyVersion: setDefaultPolicyVersion :: Text -> Text -> SetDefaultPolicyVersion
+ Network.AWS.IAM.SetDefaultPolicyVersion: setDefaultPolicyVersionResponse :: SetDefaultPolicyVersionResponse
+ Network.AWS.IAM.Types: AccountAccessKeysPresent :: SummaryKeyType
+ Network.AWS.IAM.Types: AccountSigningCertificatesPresent :: SummaryKeyType
+ Network.AWS.IAM.Types: All :: PolicyScopeType
+ Network.AWS.IAM.Types: AttachedPoliciesPerGroupQuota :: SummaryKeyType
+ Network.AWS.IAM.Types: AttachedPoliciesPerRoleQuota :: SummaryKeyType
+ Network.AWS.IAM.Types: AttachedPoliciesPerUserQuota :: SummaryKeyType
+ Network.AWS.IAM.Types: Aws :: PolicyScopeType
+ Network.AWS.IAM.Types: Local :: PolicyScopeType
+ Network.AWS.IAM.Types: Policies :: SummaryKeyType
+ Network.AWS.IAM.Types: PoliciesQuota :: SummaryKeyType
+ Network.AWS.IAM.Types: PolicySizeQuota :: SummaryKeyType
+ Network.AWS.IAM.Types: PolicyVersionsInUse :: SummaryKeyType
+ Network.AWS.IAM.Types: PolicyVersionsInUseQuota :: SummaryKeyType
+ Network.AWS.IAM.Types: VersionsPerPolicyQuota :: SummaryKeyType
+ Network.AWS.IAM.Types: apPolicyArn :: Lens' AttachedPolicy (Maybe Text)
+ Network.AWS.IAM.Types: apPolicyName :: Lens' AttachedPolicy (Maybe Text)
+ Network.AWS.IAM.Types: attachedPolicy :: AttachedPolicy
+ Network.AWS.IAM.Types: data AttachedPolicy
+ Network.AWS.IAM.Types: data Policy
+ Network.AWS.IAM.Types: data PolicyGroup
+ Network.AWS.IAM.Types: data PolicyRole
+ Network.AWS.IAM.Types: data PolicyScopeType
+ Network.AWS.IAM.Types: data PolicyUser
+ Network.AWS.IAM.Types: data PolicyVersion
+ Network.AWS.IAM.Types: instance Constructor C1_0PolicyScopeType
+ Network.AWS.IAM.Types: instance Constructor C1_14SummaryKeyType
+ Network.AWS.IAM.Types: instance Constructor C1_15SummaryKeyType
+ Network.AWS.IAM.Types: instance Constructor C1_16SummaryKeyType
+ Network.AWS.IAM.Types: instance Constructor C1_17SummaryKeyType
+ Network.AWS.IAM.Types: instance Constructor C1_18SummaryKeyType
+ Network.AWS.IAM.Types: instance Constructor C1_19SummaryKeyType
+ Network.AWS.IAM.Types: instance Constructor C1_1PolicyScopeType
+ Network.AWS.IAM.Types: instance Constructor C1_20SummaryKeyType
+ Network.AWS.IAM.Types: instance Constructor C1_21SummaryKeyType
+ Network.AWS.IAM.Types: instance Constructor C1_22SummaryKeyType
+ Network.AWS.IAM.Types: instance Constructor C1_23SummaryKeyType
+ Network.AWS.IAM.Types: instance Constructor C1_24SummaryKeyType
+ Network.AWS.IAM.Types: instance Constructor C1_2PolicyScopeType
+ Network.AWS.IAM.Types: instance Datatype D1PolicyScopeType
+ Network.AWS.IAM.Types: instance Enum PolicyScopeType
+ Network.AWS.IAM.Types: instance Eq AttachedPolicy
+ Network.AWS.IAM.Types: instance Eq Policy
+ Network.AWS.IAM.Types: instance Eq PolicyGroup
+ Network.AWS.IAM.Types: instance Eq PolicyRole
+ Network.AWS.IAM.Types: instance Eq PolicyScopeType
+ Network.AWS.IAM.Types: instance Eq PolicyUser
+ Network.AWS.IAM.Types: instance Eq PolicyVersion
+ Network.AWS.IAM.Types: instance FromText PolicyScopeType
+ Network.AWS.IAM.Types: instance FromXML AttachedPolicy
+ Network.AWS.IAM.Types: instance FromXML Policy
+ Network.AWS.IAM.Types: instance FromXML PolicyGroup
+ Network.AWS.IAM.Types: instance FromXML PolicyRole
+ Network.AWS.IAM.Types: instance FromXML PolicyScopeType
+ Network.AWS.IAM.Types: instance FromXML PolicyUser
+ Network.AWS.IAM.Types: instance FromXML PolicyVersion
+ Network.AWS.IAM.Types: instance Generic PolicyScopeType
+ Network.AWS.IAM.Types: instance Hashable PolicyScopeType
+ Network.AWS.IAM.Types: instance Monoid PolicyGroup
+ Network.AWS.IAM.Types: instance Monoid PolicyRole
+ Network.AWS.IAM.Types: instance Monoid PolicyUser
+ Network.AWS.IAM.Types: instance Ord AttachedPolicy
+ Network.AWS.IAM.Types: instance Ord Policy
+ Network.AWS.IAM.Types: instance Ord PolicyGroup
+ Network.AWS.IAM.Types: instance Ord PolicyRole
+ Network.AWS.IAM.Types: instance Ord PolicyScopeType
+ Network.AWS.IAM.Types: instance Ord PolicyUser
+ Network.AWS.IAM.Types: instance Ord PolicyVersion
+ Network.AWS.IAM.Types: instance Read AttachedPolicy
+ Network.AWS.IAM.Types: instance Read Policy
+ Network.AWS.IAM.Types: instance Read PolicyGroup
+ Network.AWS.IAM.Types: instance Read PolicyRole
+ Network.AWS.IAM.Types: instance Read PolicyScopeType
+ Network.AWS.IAM.Types: instance Read PolicyUser
+ Network.AWS.IAM.Types: instance Read PolicyVersion
+ Network.AWS.IAM.Types: instance Show AttachedPolicy
+ Network.AWS.IAM.Types: instance Show Policy
+ Network.AWS.IAM.Types: instance Show PolicyGroup
+ Network.AWS.IAM.Types: instance Show PolicyRole
+ Network.AWS.IAM.Types: instance Show PolicyScopeType
+ Network.AWS.IAM.Types: instance Show PolicyUser
+ Network.AWS.IAM.Types: instance Show PolicyVersion
+ Network.AWS.IAM.Types: instance ToByteString PolicyScopeType
+ Network.AWS.IAM.Types: instance ToHeader PolicyScopeType
+ Network.AWS.IAM.Types: instance ToQuery AttachedPolicy
+ Network.AWS.IAM.Types: instance ToQuery Policy
+ Network.AWS.IAM.Types: instance ToQuery PolicyGroup
+ Network.AWS.IAM.Types: instance ToQuery PolicyRole
+ Network.AWS.IAM.Types: instance ToQuery PolicyScopeType
+ Network.AWS.IAM.Types: instance ToQuery PolicyUser
+ Network.AWS.IAM.Types: instance ToQuery PolicyVersion
+ Network.AWS.IAM.Types: instance ToText PolicyScopeType
+ Network.AWS.IAM.Types: pArn :: Lens' Policy (Maybe Text)
+ Network.AWS.IAM.Types: pAttachmentCount :: Lens' Policy (Maybe Int)
+ Network.AWS.IAM.Types: pCreateDate :: Lens' Policy (Maybe UTCTime)
+ Network.AWS.IAM.Types: pDefaultVersionId :: Lens' Policy (Maybe Text)
+ Network.AWS.IAM.Types: pDescription :: Lens' Policy (Maybe Text)
+ Network.AWS.IAM.Types: pIsAttachable :: Lens' Policy (Maybe Bool)
+ Network.AWS.IAM.Types: pPath :: Lens' Policy (Maybe Text)
+ Network.AWS.IAM.Types: pPolicyId :: Lens' Policy (Maybe Text)
+ Network.AWS.IAM.Types: pPolicyName :: Lens' Policy (Maybe Text)
+ Network.AWS.IAM.Types: pUpdateDate :: Lens' Policy (Maybe UTCTime)
+ Network.AWS.IAM.Types: pgGroupName :: Lens' PolicyGroup (Maybe Text)
+ Network.AWS.IAM.Types: policy :: Policy
+ Network.AWS.IAM.Types: policyGroup :: PolicyGroup
+ Network.AWS.IAM.Types: policyRole :: PolicyRole
+ Network.AWS.IAM.Types: policyUser :: PolicyUser
+ Network.AWS.IAM.Types: policyVersion :: PolicyVersion
+ Network.AWS.IAM.Types: prRoleName :: Lens' PolicyRole (Maybe Text)
+ Network.AWS.IAM.Types: puUserName :: Lens' PolicyUser (Maybe Text)
+ Network.AWS.IAM.Types: pvCreateDate :: Lens' PolicyVersion (Maybe UTCTime)
+ Network.AWS.IAM.Types: pvDocument :: Lens' PolicyVersion (Maybe Text)
+ Network.AWS.IAM.Types: pvIsDefaultVersion :: Lens' PolicyVersion (Maybe Bool)
+ Network.AWS.IAM.Types: pvVersionId :: Lens' PolicyVersion (Maybe Text)
Files
- amazonka-iam.cabal +21/−2
- gen/Network/AWS/IAM.hs +38/−0
- gen/Network/AWS/IAM/AttachGroupPolicy.hs +105/−0
- gen/Network/AWS/IAM/AttachRolePolicy.hs +108/−0
- gen/Network/AWS/IAM/AttachUserPolicy.hs +105/−0
- gen/Network/AWS/IAM/CreatePolicy.hs +159/−0
- gen/Network/AWS/IAM/CreatePolicyVersion.hs +147/−0
- gen/Network/AWS/IAM/DeleteGroupPolicy.hs +25/−19
- gen/Network/AWS/IAM/DeletePolicy.hs +100/−0
- gen/Network/AWS/IAM/DeletePolicyVersion.hs +108/−0
- gen/Network/AWS/IAM/DeleteRolePolicy.hs +25/−19
- gen/Network/AWS/IAM/DeleteUserPolicy.hs +9/−3
- gen/Network/AWS/IAM/DetachGroupPolicy.hs +104/−0
- gen/Network/AWS/IAM/DetachRolePolicy.hs +104/−0
- gen/Network/AWS/IAM/DetachUserPolicy.hs +104/−0
- gen/Network/AWS/IAM/GetAccountSummary.hs +123/−37
- gen/Network/AWS/IAM/GetGroupPolicy.hs +9/−3
- gen/Network/AWS/IAM/GetPolicy.hs +118/−0
- gen/Network/AWS/IAM/GetPolicyVersion.hs +130/−0
- gen/Network/AWS/IAM/GetRolePolicy.hs +10/−4
- gen/Network/AWS/IAM/GetUserPolicy.hs +9/−3
- gen/Network/AWS/IAM/ListAttachedGroupPolicies.hs +180/−0
- gen/Network/AWS/IAM/ListAttachedRolePolicies.hs +180/−0
- gen/Network/AWS/IAM/ListAttachedUserPolicies.hs +180/−0
- gen/Network/AWS/IAM/ListEntitiesForPolicy.hs +209/−0
- gen/Network/AWS/IAM/ListGroupPolicies.hs +10/−3
- gen/Network/AWS/IAM/ListPolicies.hs +195/−0
- gen/Network/AWS/IAM/ListPolicyVersions.hs +161/−0
- gen/Network/AWS/IAM/ListRolePolicies.hs +10/−3
- gen/Network/AWS/IAM/ListUserPolicies.hs +9/−3
- gen/Network/AWS/IAM/PutGroupPolicy.hs +9/−8
- gen/Network/AWS/IAM/PutRolePolicy.hs +14/−8
- gen/Network/AWS/IAM/PutUserPolicy.hs +9/−8
- gen/Network/AWS/IAM/SetDefaultPolicyVersion.hs +109/−0
- gen/Network/AWS/IAM/Types.hs +472/−43
- gen/Network/AWS/IAM/UpdateAssumeRolePolicy.hs +1/−1
amazonka-iam.cabal view
@@ -1,5 +1,5 @@ name: amazonka-iam-version: 0.3.0+version: 0.3.1 synopsis: Amazon Identity and Access Management SDK. homepage: https://github.com/brendanhay/amazonka license: OtherLicense@@ -39,6 +39,9 @@ , Network.AWS.IAM.AddClientIDToOpenIDConnectProvider , Network.AWS.IAM.AddRoleToInstanceProfile , Network.AWS.IAM.AddUserToGroup+ , Network.AWS.IAM.AttachGroupPolicy+ , Network.AWS.IAM.AttachRolePolicy+ , Network.AWS.IAM.AttachUserPolicy , Network.AWS.IAM.ChangePassword , Network.AWS.IAM.CreateAccessKey , Network.AWS.IAM.CreateAccountAlias@@ -46,6 +49,8 @@ , Network.AWS.IAM.CreateInstanceProfile , Network.AWS.IAM.CreateLoginProfile , Network.AWS.IAM.CreateOpenIDConnectProvider+ , Network.AWS.IAM.CreatePolicy+ , Network.AWS.IAM.CreatePolicyVersion , Network.AWS.IAM.CreateRole , Network.AWS.IAM.CreateSAMLProvider , Network.AWS.IAM.CreateUser@@ -59,6 +64,8 @@ , Network.AWS.IAM.DeleteInstanceProfile , Network.AWS.IAM.DeleteLoginProfile , Network.AWS.IAM.DeleteOpenIDConnectProvider+ , Network.AWS.IAM.DeletePolicy+ , Network.AWS.IAM.DeletePolicyVersion , Network.AWS.IAM.DeleteRole , Network.AWS.IAM.DeleteRolePolicy , Network.AWS.IAM.DeleteSAMLProvider@@ -67,6 +74,9 @@ , Network.AWS.IAM.DeleteUser , Network.AWS.IAM.DeleteUserPolicy , Network.AWS.IAM.DeleteVirtualMFADevice+ , Network.AWS.IAM.DetachGroupPolicy+ , Network.AWS.IAM.DetachRolePolicy+ , Network.AWS.IAM.DetachUserPolicy , Network.AWS.IAM.EnableMFADevice , Network.AWS.IAM.GenerateCredentialReport , Network.AWS.IAM.GetAccountAuthorizationDetails@@ -78,6 +88,8 @@ , Network.AWS.IAM.GetInstanceProfile , Network.AWS.IAM.GetLoginProfile , Network.AWS.IAM.GetOpenIDConnectProvider+ , Network.AWS.IAM.GetPolicy+ , Network.AWS.IAM.GetPolicyVersion , Network.AWS.IAM.GetRole , Network.AWS.IAM.GetRolePolicy , Network.AWS.IAM.GetSAMLProvider@@ -86,6 +98,10 @@ , Network.AWS.IAM.GetUserPolicy , Network.AWS.IAM.ListAccessKeys , Network.AWS.IAM.ListAccountAliases+ , Network.AWS.IAM.ListAttachedGroupPolicies+ , Network.AWS.IAM.ListAttachedRolePolicies+ , Network.AWS.IAM.ListAttachedUserPolicies+ , Network.AWS.IAM.ListEntitiesForPolicy , Network.AWS.IAM.ListGroupPolicies , Network.AWS.IAM.ListGroups , Network.AWS.IAM.ListGroupsForUser@@ -93,6 +109,8 @@ , Network.AWS.IAM.ListInstanceProfilesForRole , Network.AWS.IAM.ListMFADevices , Network.AWS.IAM.ListOpenIDConnectProviders+ , Network.AWS.IAM.ListPolicies+ , Network.AWS.IAM.ListPolicyVersions , Network.AWS.IAM.ListRolePolicies , Network.AWS.IAM.ListRoles , Network.AWS.IAM.ListSAMLProviders@@ -108,6 +126,7 @@ , Network.AWS.IAM.RemoveRoleFromInstanceProfile , Network.AWS.IAM.RemoveUserFromGroup , Network.AWS.IAM.ResyncMFADevice+ , Network.AWS.IAM.SetDefaultPolicyVersion , Network.AWS.IAM.Types , Network.AWS.IAM.UpdateAccessKey , Network.AWS.IAM.UpdateAccountPasswordPolicy@@ -125,5 +144,5 @@ other-modules: build-depends:- amazonka-core == 0.3.0.*+ amazonka-core == 0.3.1.* , base >= 4.7 && < 5
gen/Network/AWS/IAM.hs view
@@ -18,6 +18,9 @@ ( module Network.AWS.IAM.AddClientIDToOpenIDConnectProvider , module Network.AWS.IAM.AddRoleToInstanceProfile , module Network.AWS.IAM.AddUserToGroup+ , module Network.AWS.IAM.AttachGroupPolicy+ , module Network.AWS.IAM.AttachRolePolicy+ , module Network.AWS.IAM.AttachUserPolicy , module Network.AWS.IAM.ChangePassword , module Network.AWS.IAM.CreateAccessKey , module Network.AWS.IAM.CreateAccountAlias@@ -25,6 +28,8 @@ , module Network.AWS.IAM.CreateInstanceProfile , module Network.AWS.IAM.CreateLoginProfile , module Network.AWS.IAM.CreateOpenIDConnectProvider+ , module Network.AWS.IAM.CreatePolicy+ , module Network.AWS.IAM.CreatePolicyVersion , module Network.AWS.IAM.CreateRole , module Network.AWS.IAM.CreateSAMLProvider , module Network.AWS.IAM.CreateUser@@ -38,6 +43,8 @@ , module Network.AWS.IAM.DeleteInstanceProfile , module Network.AWS.IAM.DeleteLoginProfile , module Network.AWS.IAM.DeleteOpenIDConnectProvider+ , module Network.AWS.IAM.DeletePolicy+ , module Network.AWS.IAM.DeletePolicyVersion , module Network.AWS.IAM.DeleteRole , module Network.AWS.IAM.DeleteRolePolicy , module Network.AWS.IAM.DeleteSAMLProvider@@ -46,6 +53,9 @@ , module Network.AWS.IAM.DeleteUser , module Network.AWS.IAM.DeleteUserPolicy , module Network.AWS.IAM.DeleteVirtualMFADevice+ , module Network.AWS.IAM.DetachGroupPolicy+ , module Network.AWS.IAM.DetachRolePolicy+ , module Network.AWS.IAM.DetachUserPolicy , module Network.AWS.IAM.EnableMFADevice , module Network.AWS.IAM.GenerateCredentialReport , module Network.AWS.IAM.GetAccountAuthorizationDetails@@ -57,6 +67,8 @@ , module Network.AWS.IAM.GetInstanceProfile , module Network.AWS.IAM.GetLoginProfile , module Network.AWS.IAM.GetOpenIDConnectProvider+ , module Network.AWS.IAM.GetPolicy+ , module Network.AWS.IAM.GetPolicyVersion , module Network.AWS.IAM.GetRole , module Network.AWS.IAM.GetRolePolicy , module Network.AWS.IAM.GetSAMLProvider@@ -65,6 +77,10 @@ , module Network.AWS.IAM.GetUserPolicy , module Network.AWS.IAM.ListAccessKeys , module Network.AWS.IAM.ListAccountAliases+ , module Network.AWS.IAM.ListAttachedGroupPolicies+ , module Network.AWS.IAM.ListAttachedRolePolicies+ , module Network.AWS.IAM.ListAttachedUserPolicies+ , module Network.AWS.IAM.ListEntitiesForPolicy , module Network.AWS.IAM.ListGroupPolicies , module Network.AWS.IAM.ListGroups , module Network.AWS.IAM.ListGroupsForUser@@ -72,6 +88,8 @@ , module Network.AWS.IAM.ListInstanceProfilesForRole , module Network.AWS.IAM.ListMFADevices , module Network.AWS.IAM.ListOpenIDConnectProviders+ , module Network.AWS.IAM.ListPolicies+ , module Network.AWS.IAM.ListPolicyVersions , module Network.AWS.IAM.ListRolePolicies , module Network.AWS.IAM.ListRoles , module Network.AWS.IAM.ListSAMLProviders@@ -87,6 +105,7 @@ , module Network.AWS.IAM.RemoveRoleFromInstanceProfile , module Network.AWS.IAM.RemoveUserFromGroup , module Network.AWS.IAM.ResyncMFADevice+ , module Network.AWS.IAM.SetDefaultPolicyVersion , module Network.AWS.IAM.Types , module Network.AWS.IAM.UpdateAccessKey , module Network.AWS.IAM.UpdateAccountPasswordPolicy@@ -105,6 +124,9 @@ import Network.AWS.IAM.AddClientIDToOpenIDConnectProvider import Network.AWS.IAM.AddRoleToInstanceProfile import Network.AWS.IAM.AddUserToGroup+import Network.AWS.IAM.AttachGroupPolicy+import Network.AWS.IAM.AttachRolePolicy+import Network.AWS.IAM.AttachUserPolicy import Network.AWS.IAM.ChangePassword import Network.AWS.IAM.CreateAccessKey import Network.AWS.IAM.CreateAccountAlias@@ -112,6 +134,8 @@ import Network.AWS.IAM.CreateInstanceProfile import Network.AWS.IAM.CreateLoginProfile import Network.AWS.IAM.CreateOpenIDConnectProvider+import Network.AWS.IAM.CreatePolicy+import Network.AWS.IAM.CreatePolicyVersion import Network.AWS.IAM.CreateRole import Network.AWS.IAM.CreateSAMLProvider import Network.AWS.IAM.CreateUser@@ -125,6 +149,8 @@ import Network.AWS.IAM.DeleteInstanceProfile import Network.AWS.IAM.DeleteLoginProfile import Network.AWS.IAM.DeleteOpenIDConnectProvider+import Network.AWS.IAM.DeletePolicy+import Network.AWS.IAM.DeletePolicyVersion import Network.AWS.IAM.DeleteRole import Network.AWS.IAM.DeleteRolePolicy import Network.AWS.IAM.DeleteSAMLProvider@@ -133,6 +159,9 @@ import Network.AWS.IAM.DeleteUser import Network.AWS.IAM.DeleteUserPolicy import Network.AWS.IAM.DeleteVirtualMFADevice+import Network.AWS.IAM.DetachGroupPolicy+import Network.AWS.IAM.DetachRolePolicy+import Network.AWS.IAM.DetachUserPolicy import Network.AWS.IAM.EnableMFADevice import Network.AWS.IAM.GenerateCredentialReport import Network.AWS.IAM.GetAccountAuthorizationDetails@@ -144,6 +173,8 @@ import Network.AWS.IAM.GetInstanceProfile import Network.AWS.IAM.GetLoginProfile import Network.AWS.IAM.GetOpenIDConnectProvider+import Network.AWS.IAM.GetPolicy+import Network.AWS.IAM.GetPolicyVersion import Network.AWS.IAM.GetRole import Network.AWS.IAM.GetRolePolicy import Network.AWS.IAM.GetSAMLProvider@@ -152,6 +183,10 @@ import Network.AWS.IAM.GetUserPolicy import Network.AWS.IAM.ListAccessKeys import Network.AWS.IAM.ListAccountAliases+import Network.AWS.IAM.ListAttachedGroupPolicies+import Network.AWS.IAM.ListAttachedRolePolicies+import Network.AWS.IAM.ListAttachedUserPolicies+import Network.AWS.IAM.ListEntitiesForPolicy import Network.AWS.IAM.ListGroupPolicies import Network.AWS.IAM.ListGroups import Network.AWS.IAM.ListGroupsForUser@@ -159,6 +194,8 @@ import Network.AWS.IAM.ListInstanceProfilesForRole import Network.AWS.IAM.ListMFADevices import Network.AWS.IAM.ListOpenIDConnectProviders+import Network.AWS.IAM.ListPolicies+import Network.AWS.IAM.ListPolicyVersions import Network.AWS.IAM.ListRolePolicies import Network.AWS.IAM.ListRoles import Network.AWS.IAM.ListSAMLProviders@@ -174,6 +211,7 @@ import Network.AWS.IAM.RemoveRoleFromInstanceProfile import Network.AWS.IAM.RemoveUserFromGroup import Network.AWS.IAM.ResyncMFADevice+import Network.AWS.IAM.SetDefaultPolicyVersion import Network.AWS.IAM.Types import Network.AWS.IAM.UpdateAccessKey import Network.AWS.IAM.UpdateAccountPasswordPolicy
+ gen/Network/AWS/IAM/AttachGroupPolicy.hs view
@@ -0,0 +1,105 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.IAM.AttachGroupPolicy+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)+--+-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | Attaches the specified managed policy to the specified group.+--+-- You use this API to attach a managed policy to a group. To embed an inline+-- policy in a group, use 'PutGroupPolicy'.+--+-- For more information about policies, refer to <http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html Managed Policies and InlinePolicies> in the /Using IAM/ guide.+--+-- <http://docs.aws.amazon.com/IAM/latest/APIReference/API_AttachGroupPolicy.html>+module Network.AWS.IAM.AttachGroupPolicy+ (+ -- * Request+ AttachGroupPolicy+ -- ** Request constructor+ , attachGroupPolicy+ -- ** Request lenses+ , agpGroupName+ , agpPolicyArn++ -- * Response+ , AttachGroupPolicyResponse+ -- ** Response constructor+ , attachGroupPolicyResponse+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.IAM.Types+import qualified GHC.Exts++data AttachGroupPolicy = AttachGroupPolicy+ { _agpGroupName :: Text+ , _agpPolicyArn :: Text+ } deriving (Eq, Ord, Read, Show)++-- | 'AttachGroupPolicy' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'agpGroupName' @::@ 'Text'+--+-- * 'agpPolicyArn' @::@ 'Text'+--+attachGroupPolicy :: Text -- ^ 'agpGroupName'+ -> Text -- ^ 'agpPolicyArn'+ -> AttachGroupPolicy+attachGroupPolicy p1 p2 = AttachGroupPolicy+ { _agpGroupName = p1+ , _agpPolicyArn = p2+ }++-- | The name (friendly name, not ARN) of the group to attach the policy to.+agpGroupName :: Lens' AttachGroupPolicy Text+agpGroupName = lens _agpGroupName (\s a -> s { _agpGroupName = a })++agpPolicyArn :: Lens' AttachGroupPolicy Text+agpPolicyArn = lens _agpPolicyArn (\s a -> s { _agpPolicyArn = a })++data AttachGroupPolicyResponse = AttachGroupPolicyResponse+ deriving (Eq, Ord, Read, Show, Generic)++-- | 'AttachGroupPolicyResponse' constructor.+attachGroupPolicyResponse :: AttachGroupPolicyResponse+attachGroupPolicyResponse = AttachGroupPolicyResponse++instance ToPath AttachGroupPolicy where+ toPath = const "/"++instance ToQuery AttachGroupPolicy where+ toQuery AttachGroupPolicy{..} = mconcat+ [ "GroupName" =? _agpGroupName+ , "PolicyArn" =? _agpPolicyArn+ ]++instance ToHeaders AttachGroupPolicy++instance AWSRequest AttachGroupPolicy where+ type Sv AttachGroupPolicy = IAM+ type Rs AttachGroupPolicy = AttachGroupPolicyResponse++ request = post "AttachGroupPolicy"+ response = nullResponse AttachGroupPolicyResponse
+ gen/Network/AWS/IAM/AttachRolePolicy.hs view
@@ -0,0 +1,108 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.IAM.AttachRolePolicy+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)+--+-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | Attaches the specified managed policy to the specified role.+--+-- When you attach a managed policy to a role, the managed policy is used as+-- the role's access (permissions) policy. You cannot use a managed policy as+-- the role's trust policy. The role's trust policy is created at the same time+-- as the role, using 'CreateRole'. You can update a role's trust policy using 'UpdateAssumeRolePolicy'.+--+-- Use this API to attach a managed policy to a role. To embed an inline policy+-- in a role, use 'PutRolePolicy'. For more information about policies, refer to <http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html Managed Policies and Inline Policies> in the /Using IAM/ guide.+--+-- <http://docs.aws.amazon.com/IAM/latest/APIReference/API_AttachRolePolicy.html>+module Network.AWS.IAM.AttachRolePolicy+ (+ -- * Request+ AttachRolePolicy+ -- ** Request constructor+ , attachRolePolicy+ -- ** Request lenses+ , arpPolicyArn+ , arpRoleName++ -- * Response+ , AttachRolePolicyResponse+ -- ** Response constructor+ , attachRolePolicyResponse+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.IAM.Types+import qualified GHC.Exts++data AttachRolePolicy = AttachRolePolicy+ { _arpPolicyArn :: Text+ , _arpRoleName :: Text+ } deriving (Eq, Ord, Read, Show)++-- | 'AttachRolePolicy' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'arpPolicyArn' @::@ 'Text'+--+-- * 'arpRoleName' @::@ 'Text'+--+attachRolePolicy :: Text -- ^ 'arpRoleName'+ -> Text -- ^ 'arpPolicyArn'+ -> AttachRolePolicy+attachRolePolicy p1 p2 = AttachRolePolicy+ { _arpRoleName = p1+ , _arpPolicyArn = p2+ }++arpPolicyArn :: Lens' AttachRolePolicy Text+arpPolicyArn = lens _arpPolicyArn (\s a -> s { _arpPolicyArn = a })++-- | The name (friendly name, not ARN) of the role to attach the policy to.+arpRoleName :: Lens' AttachRolePolicy Text+arpRoleName = lens _arpRoleName (\s a -> s { _arpRoleName = a })++data AttachRolePolicyResponse = AttachRolePolicyResponse+ deriving (Eq, Ord, Read, Show, Generic)++-- | 'AttachRolePolicyResponse' constructor.+attachRolePolicyResponse :: AttachRolePolicyResponse+attachRolePolicyResponse = AttachRolePolicyResponse++instance ToPath AttachRolePolicy where+ toPath = const "/"++instance ToQuery AttachRolePolicy where+ toQuery AttachRolePolicy{..} = mconcat+ [ "PolicyArn" =? _arpPolicyArn+ , "RoleName" =? _arpRoleName+ ]++instance ToHeaders AttachRolePolicy++instance AWSRequest AttachRolePolicy where+ type Sv AttachRolePolicy = IAM+ type Rs AttachRolePolicy = AttachRolePolicyResponse++ request = post "AttachRolePolicy"+ response = nullResponse AttachRolePolicyResponse
+ gen/Network/AWS/IAM/AttachUserPolicy.hs view
@@ -0,0 +1,105 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.IAM.AttachUserPolicy+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)+--+-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | Attaches the specified managed policy to the specified user.+--+-- You use this API to attach a managed policy to a user. To embed an inline+-- policy in a user, use 'PutUserPolicy'.+--+-- For more information about policies, refer to <http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html Managed Policies and InlinePolicies> in the /Using IAM/ guide.+--+-- <http://docs.aws.amazon.com/IAM/latest/APIReference/API_AttachUserPolicy.html>+module Network.AWS.IAM.AttachUserPolicy+ (+ -- * Request+ AttachUserPolicy+ -- ** Request constructor+ , attachUserPolicy+ -- ** Request lenses+ , aupPolicyArn+ , aupUserName++ -- * Response+ , AttachUserPolicyResponse+ -- ** Response constructor+ , attachUserPolicyResponse+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.IAM.Types+import qualified GHC.Exts++data AttachUserPolicy = AttachUserPolicy+ { _aupPolicyArn :: Text+ , _aupUserName :: Text+ } deriving (Eq, Ord, Read, Show)++-- | 'AttachUserPolicy' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'aupPolicyArn' @::@ 'Text'+--+-- * 'aupUserName' @::@ 'Text'+--+attachUserPolicy :: Text -- ^ 'aupUserName'+ -> Text -- ^ 'aupPolicyArn'+ -> AttachUserPolicy+attachUserPolicy p1 p2 = AttachUserPolicy+ { _aupUserName = p1+ , _aupPolicyArn = p2+ }++aupPolicyArn :: Lens' AttachUserPolicy Text+aupPolicyArn = lens _aupPolicyArn (\s a -> s { _aupPolicyArn = a })++-- | The name (friendly name, not ARN) of the user to attach the policy to.+aupUserName :: Lens' AttachUserPolicy Text+aupUserName = lens _aupUserName (\s a -> s { _aupUserName = a })++data AttachUserPolicyResponse = AttachUserPolicyResponse+ deriving (Eq, Ord, Read, Show, Generic)++-- | 'AttachUserPolicyResponse' constructor.+attachUserPolicyResponse :: AttachUserPolicyResponse+attachUserPolicyResponse = AttachUserPolicyResponse++instance ToPath AttachUserPolicy where+ toPath = const "/"++instance ToQuery AttachUserPolicy where+ toQuery AttachUserPolicy{..} = mconcat+ [ "PolicyArn" =? _aupPolicyArn+ , "UserName" =? _aupUserName+ ]++instance ToHeaders AttachUserPolicy++instance AWSRequest AttachUserPolicy where+ type Sv AttachUserPolicy = IAM+ type Rs AttachUserPolicy = AttachUserPolicyResponse++ request = post "AttachUserPolicy"+ response = nullResponse AttachUserPolicyResponse
+ gen/Network/AWS/IAM/CreatePolicy.hs view
@@ -0,0 +1,159 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.IAM.CreatePolicy+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)+--+-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | Creates a new managed policy for your AWS account.+--+-- This operation creates a policy version with a version identifier of 'v1' and+-- sets v1 as the policy's default version. For more information about policy+-- versions, see <http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html Versioning for Managed Policies> in the /Using IAM/ guide.+--+-- For more information about managed policies in general, refer to <http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html ManagedPolicies and Inline Policies> in the /Using IAM/ guide.+--+-- <http://docs.aws.amazon.com/IAM/latest/APIReference/API_CreatePolicy.html>+module Network.AWS.IAM.CreatePolicy+ (+ -- * Request+ CreatePolicy+ -- ** Request constructor+ , createPolicy+ -- ** Request lenses+ , cpDescription+ , cpPath+ , cpPolicyDocument+ , cpPolicyName++ -- * Response+ , CreatePolicyResponse+ -- ** Response constructor+ , createPolicyResponse+ -- ** Response lenses+ , cprPolicy+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.IAM.Types+import qualified GHC.Exts++data CreatePolicy = CreatePolicy+ { _cpDescription :: Maybe Text+ , _cpPath :: Maybe Text+ , _cpPolicyDocument :: Text+ , _cpPolicyName :: Text+ } deriving (Eq, Ord, Read, Show)++-- | 'CreatePolicy' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'cpDescription' @::@ 'Maybe' 'Text'+--+-- * 'cpPath' @::@ 'Maybe' 'Text'+--+-- * 'cpPolicyDocument' @::@ 'Text'+--+-- * 'cpPolicyName' @::@ 'Text'+--+createPolicy :: Text -- ^ 'cpPolicyName'+ -> Text -- ^ 'cpPolicyDocument'+ -> CreatePolicy+createPolicy p1 p2 = CreatePolicy+ { _cpPolicyName = p1+ , _cpPolicyDocument = p2+ , _cpPath = Nothing+ , _cpDescription = Nothing+ }++-- | A friendly description of the policy.+--+-- Typically used to store information about the permissions defined in the+-- policy. For example, "Grants access to production DynamoDB tables."+--+-- The policy description is immutable. After a value is assigned, it cannot be+-- changed.+cpDescription :: Lens' CreatePolicy (Maybe Text)+cpDescription = lens _cpDescription (\s a -> s { _cpDescription = a })++-- | The path for 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.+--+-- This parameter is optional. If it is not included, it defaults to a slash+-- (/).+cpPath :: Lens' CreatePolicy (Maybe Text)+cpPath = lens _cpPath (\s a -> s { _cpPath = a })++-- | The policy document.+--+-- The policy must be URL-encoded according to <http://www.faqs.org/rfcs/rfc3986.html RFC 3986>.+cpPolicyDocument :: Lens' CreatePolicy Text+cpPolicyDocument = lens _cpPolicyDocument (\s a -> s { _cpPolicyDocument = a })++-- | The name of the policy document.+cpPolicyName :: Lens' CreatePolicy Text+cpPolicyName = lens _cpPolicyName (\s a -> s { _cpPolicyName = a })++newtype CreatePolicyResponse = CreatePolicyResponse+ { _cprPolicy :: Maybe Policy+ } deriving (Eq, Read, Show)++-- | 'CreatePolicyResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'cprPolicy' @::@ 'Maybe' 'Policy'+--+createPolicyResponse :: CreatePolicyResponse+createPolicyResponse = CreatePolicyResponse+ { _cprPolicy = Nothing+ }++-- | Information about the policy.+cprPolicy :: Lens' CreatePolicyResponse (Maybe Policy)+cprPolicy = lens _cprPolicy (\s a -> s { _cprPolicy = a })++instance ToPath CreatePolicy where+ toPath = const "/"++instance ToQuery CreatePolicy where+ toQuery CreatePolicy{..} = mconcat+ [ "Description" =? _cpDescription+ , "Path" =? _cpPath+ , "PolicyDocument" =? _cpPolicyDocument+ , "PolicyName" =? _cpPolicyName+ ]++instance ToHeaders CreatePolicy++instance AWSRequest CreatePolicy where+ type Sv CreatePolicy = IAM+ type Rs CreatePolicy = CreatePolicyResponse++ request = post "CreatePolicy"+ response = xmlResponse++instance FromXML CreatePolicyResponse where+ parseXML = withElement "CreatePolicyResult" $ \x -> CreatePolicyResponse+ <$> x .@? "Policy"
+ gen/Network/AWS/IAM/CreatePolicyVersion.hs view
@@ -0,0 +1,147 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.IAM.CreatePolicyVersion+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)+--+-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | Creates a new version of the specified managed policy. To update a managed+-- policy, you create a new policy version. A managed policy can have up to five+-- versions. If the policy has five versions, you must delete an existing+-- version using 'DeletePolicyVersion' before you create a new version.+--+-- Optionally, you can set the new version as the policy's default version. The+-- default version is the operative version; that is, the version that is in+-- effect for the IAM users, groups, and roles that the policy is attached to.+--+-- For more information about managed policy versions, see <http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html Versioning forManaged Policies> in the /Using IAM/ guide.+--+-- <http://docs.aws.amazon.com/IAM/latest/APIReference/API_CreatePolicyVersion.html>+module Network.AWS.IAM.CreatePolicyVersion+ (+ -- * Request+ CreatePolicyVersion+ -- ** Request constructor+ , createPolicyVersion+ -- ** Request lenses+ , cpvPolicyArn+ , cpvPolicyDocument+ , cpvSetAsDefault++ -- * Response+ , CreatePolicyVersionResponse+ -- ** Response constructor+ , createPolicyVersionResponse+ -- ** Response lenses+ , cpvrPolicyVersion+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.IAM.Types+import qualified GHC.Exts++data CreatePolicyVersion = CreatePolicyVersion+ { _cpvPolicyArn :: Text+ , _cpvPolicyDocument :: Text+ , _cpvSetAsDefault :: Maybe Bool+ } deriving (Eq, Ord, Read, Show)++-- | 'CreatePolicyVersion' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'cpvPolicyArn' @::@ 'Text'+--+-- * 'cpvPolicyDocument' @::@ 'Text'+--+-- * 'cpvSetAsDefault' @::@ 'Maybe' 'Bool'+--+createPolicyVersion :: Text -- ^ 'cpvPolicyArn'+ -> Text -- ^ 'cpvPolicyDocument'+ -> CreatePolicyVersion+createPolicyVersion p1 p2 = CreatePolicyVersion+ { _cpvPolicyArn = p1+ , _cpvPolicyDocument = p2+ , _cpvSetAsDefault = Nothing+ }++cpvPolicyArn :: Lens' CreatePolicyVersion Text+cpvPolicyArn = lens _cpvPolicyArn (\s a -> s { _cpvPolicyArn = a })++-- | The policy document.+--+-- The policy must be URL-encoded according to <http://www.faqs.org/rfcs/rfc3986.html RFC 3986>.+cpvPolicyDocument :: Lens' CreatePolicyVersion Text+cpvPolicyDocument =+ lens _cpvPolicyDocument (\s a -> s { _cpvPolicyDocument = a })++-- | Specifies whether to set this version as the policy's default version.+--+-- When this parameter is 'true', the new policy version becomes the operative+-- version; that is, the version that is in effect for the IAM users, groups,+-- and roles that the policy is attached to.+--+-- For more information about managed policy versions, see <http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html Versioning forManaged Policies> in the /Using IAM/ guide.+cpvSetAsDefault :: Lens' CreatePolicyVersion (Maybe Bool)+cpvSetAsDefault = lens _cpvSetAsDefault (\s a -> s { _cpvSetAsDefault = a })++newtype CreatePolicyVersionResponse = CreatePolicyVersionResponse+ { _cpvrPolicyVersion :: Maybe PolicyVersion+ } deriving (Eq, Read, Show)++-- | 'CreatePolicyVersionResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'cpvrPolicyVersion' @::@ 'Maybe' 'PolicyVersion'+--+createPolicyVersionResponse :: CreatePolicyVersionResponse+createPolicyVersionResponse = CreatePolicyVersionResponse+ { _cpvrPolicyVersion = Nothing+ }++-- | Information about the policy version.+cpvrPolicyVersion :: Lens' CreatePolicyVersionResponse (Maybe PolicyVersion)+cpvrPolicyVersion =+ lens _cpvrPolicyVersion (\s a -> s { _cpvrPolicyVersion = a })++instance ToPath CreatePolicyVersion where+ toPath = const "/"++instance ToQuery CreatePolicyVersion where+ toQuery CreatePolicyVersion{..} = mconcat+ [ "PolicyArn" =? _cpvPolicyArn+ , "PolicyDocument" =? _cpvPolicyDocument+ , "SetAsDefault" =? _cpvSetAsDefault+ ]++instance ToHeaders CreatePolicyVersion++instance AWSRequest CreatePolicyVersion where+ type Sv CreatePolicyVersion = IAM+ type Rs CreatePolicyVersion = CreatePolicyVersionResponse++ request = post "CreatePolicyVersion"+ response = xmlResponse++instance FromXML CreatePolicyVersionResponse where+ parseXML = withElement "CreatePolicyVersionResult" $ \x -> CreatePolicyVersionResponse+ <$> x .@? "PolicyVersion"
gen/Network/AWS/IAM/DeleteGroupPolicy.hs view
@@ -22,8 +22,13 @@ -- -- Derived from AWS service descriptions, licensed under Apache 2.0. --- | Deletes the specified policy that is associated with the specified group.+-- | Deletes the specified inline policy that is embedded in the specified group. --+-- A group can also have managed policies attached to it. To detach a managed+-- policy from a group, use 'DetachGroupPolicy'. For more information about+-- policies, refer to <http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html Managed Policies and Inline Policies> in the /Using IAM/+-- guide.+-- -- <http://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteGroupPolicy.html> module Network.AWS.IAM.DeleteGroupPolicy (@@ -32,8 +37,8 @@ -- ** Request constructor , deleteGroupPolicy -- ** Request lenses- , dgpGroupName- , dgpPolicyName+ , dgp1GroupName+ , dgp1PolicyName -- * Response , DeleteGroupPolicyResponse@@ -47,33 +52,34 @@ import qualified GHC.Exts data DeleteGroupPolicy = DeleteGroupPolicy- { _dgpGroupName :: Text- , _dgpPolicyName :: Text+ { _dgp1GroupName :: Text+ , _dgp1PolicyName :: Text } deriving (Eq, Ord, Read, Show) -- | 'DeleteGroupPolicy' constructor. -- -- The fields accessible through corresponding lenses are: ----- * 'dgpGroupName' @::@ 'Text'+-- * 'dgp1GroupName' @::@ 'Text' ----- * 'dgpPolicyName' @::@ 'Text'+-- * 'dgp1PolicyName' @::@ 'Text' ---deleteGroupPolicy :: Text -- ^ 'dgpGroupName'- -> Text -- ^ 'dgpPolicyName'+deleteGroupPolicy :: Text -- ^ 'dgp1GroupName'+ -> Text -- ^ 'dgp1PolicyName' -> DeleteGroupPolicy deleteGroupPolicy p1 p2 = DeleteGroupPolicy- { _dgpGroupName = p1- , _dgpPolicyName = p2+ { _dgp1GroupName = p1+ , _dgp1PolicyName = p2 } --- | The name of the group the policy is associated with.-dgpGroupName :: Lens' DeleteGroupPolicy Text-dgpGroupName = lens _dgpGroupName (\s a -> s { _dgpGroupName = a })+-- | The name (friendly name, not ARN) identifying the group that the policy is+-- embedded in.+dgp1GroupName :: Lens' DeleteGroupPolicy Text+dgp1GroupName = lens _dgp1GroupName (\s a -> s { _dgp1GroupName = a }) --- | The name of the policy document to delete.-dgpPolicyName :: Lens' DeleteGroupPolicy Text-dgpPolicyName = lens _dgpPolicyName (\s a -> s { _dgpPolicyName = a })+-- | The name identifying the policy document to delete.+dgp1PolicyName :: Lens' DeleteGroupPolicy Text+dgp1PolicyName = lens _dgp1PolicyName (\s a -> s { _dgp1PolicyName = a }) data DeleteGroupPolicyResponse = DeleteGroupPolicyResponse deriving (Eq, Ord, Read, Show, Generic)@@ -87,8 +93,8 @@ instance ToQuery DeleteGroupPolicy where toQuery DeleteGroupPolicy{..} = mconcat- [ "GroupName" =? _dgpGroupName- , "PolicyName" =? _dgpPolicyName+ [ "GroupName" =? _dgp1GroupName+ , "PolicyName" =? _dgp1PolicyName ] instance ToHeaders DeleteGroupPolicy
+ gen/Network/AWS/IAM/DeletePolicy.hs view
@@ -0,0 +1,100 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.IAM.DeletePolicy+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)+--+-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | Deletes the specified managed policy.+--+-- Before you can delete a managed policy, you must detach the policy from all+-- users, groups, and roles that it is attached to, and you must delete all of+-- the policy's versions. The following steps describe the process for deleting+-- a managed policy: Detach the policy from all users, groups, and roles that+-- the policy is attached to, using the 'DetachUserPolicy', 'DetachGroupPolicy', or 'DetachRolePolicy' APIs. To list all the users, groups, and roles that a policy is attached to,+-- use 'ListEntitiesForPolicy'. Delete all versions of the policy using 'DeletePolicyVersion'. To list the policy's versions, use 'ListPolicyVersions'. You cannot use 'DeletePolicyVersion' to delete the version that is marked as the default version. You delete the+-- policy's default version in the next step of the process. Delete the policy+-- (this automatically deletes the policy's default version) using this API.+--+-- For information about managed policies, refer to <http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html Managed Policies and InlinePolicies> in the /Using IAM/ guide.+--+-- <http://docs.aws.amazon.com/IAM/latest/APIReference/API_DeletePolicy.html>+module Network.AWS.IAM.DeletePolicy+ (+ -- * Request+ DeletePolicy+ -- ** Request constructor+ , deletePolicy+ -- ** Request lenses+ , dpPolicyArn++ -- * Response+ , DeletePolicyResponse+ -- ** Response constructor+ , deletePolicyResponse+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.IAM.Types+import qualified GHC.Exts++newtype DeletePolicy = DeletePolicy+ { _dpPolicyArn :: Text+ } deriving (Eq, Ord, Read, Show, Monoid, IsString)++-- | 'DeletePolicy' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dpPolicyArn' @::@ 'Text'+--+deletePolicy :: Text -- ^ 'dpPolicyArn'+ -> DeletePolicy+deletePolicy p1 = DeletePolicy+ { _dpPolicyArn = p1+ }++dpPolicyArn :: Lens' DeletePolicy Text+dpPolicyArn = lens _dpPolicyArn (\s a -> s { _dpPolicyArn = a })++data DeletePolicyResponse = DeletePolicyResponse+ deriving (Eq, Ord, Read, Show, Generic)++-- | 'DeletePolicyResponse' constructor.+deletePolicyResponse :: DeletePolicyResponse+deletePolicyResponse = DeletePolicyResponse++instance ToPath DeletePolicy where+ toPath = const "/"++instance ToQuery DeletePolicy where+ toQuery DeletePolicy{..} = mconcat+ [ "PolicyArn" =? _dpPolicyArn+ ]++instance ToHeaders DeletePolicy++instance AWSRequest DeletePolicy where+ type Sv DeletePolicy = IAM+ type Rs DeletePolicy = DeletePolicyResponse++ request = post "DeletePolicy"+ response = nullResponse DeletePolicyResponse
+ gen/Network/AWS/IAM/DeletePolicyVersion.hs view
@@ -0,0 +1,108 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.IAM.DeletePolicyVersion+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)+--+-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | Deletes the specified version of the specified managed policy.+--+-- You cannot delete the default version of a policy using this API. To delete+-- the default version of a policy, use 'DeletePolicy'. To find out which version+-- of a policy is marked as the default version, use 'ListPolicyVersions'.+--+-- For information about versions for managed policies, refer to <http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html Versioning forManaged Policies> in the /Using IAM/ guide.+--+-- <http://docs.aws.amazon.com/IAM/latest/APIReference/API_DeletePolicyVersion.html>+module Network.AWS.IAM.DeletePolicyVersion+ (+ -- * Request+ DeletePolicyVersion+ -- ** Request constructor+ , deletePolicyVersion+ -- ** Request lenses+ , dpvPolicyArn+ , dpvVersionId++ -- * Response+ , DeletePolicyVersionResponse+ -- ** Response constructor+ , deletePolicyVersionResponse+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.IAM.Types+import qualified GHC.Exts++data DeletePolicyVersion = DeletePolicyVersion+ { _dpvPolicyArn :: Text+ , _dpvVersionId :: Text+ } deriving (Eq, Ord, Read, Show)++-- | 'DeletePolicyVersion' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dpvPolicyArn' @::@ 'Text'+--+-- * 'dpvVersionId' @::@ 'Text'+--+deletePolicyVersion :: Text -- ^ 'dpvPolicyArn'+ -> Text -- ^ 'dpvVersionId'+ -> DeletePolicyVersion+deletePolicyVersion p1 p2 = DeletePolicyVersion+ { _dpvPolicyArn = p1+ , _dpvVersionId = p2+ }++dpvPolicyArn :: Lens' DeletePolicyVersion Text+dpvPolicyArn = lens _dpvPolicyArn (\s a -> s { _dpvPolicyArn = a })++-- | The policy version to delete.+--+-- For more information about managed policy versions, see <http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html Versioning forManaged Policies> in the /Using IAM/ guide.+dpvVersionId :: Lens' DeletePolicyVersion Text+dpvVersionId = lens _dpvVersionId (\s a -> s { _dpvVersionId = a })++data DeletePolicyVersionResponse = DeletePolicyVersionResponse+ deriving (Eq, Ord, Read, Show, Generic)++-- | 'DeletePolicyVersionResponse' constructor.+deletePolicyVersionResponse :: DeletePolicyVersionResponse+deletePolicyVersionResponse = DeletePolicyVersionResponse++instance ToPath DeletePolicyVersion where+ toPath = const "/"++instance ToQuery DeletePolicyVersion where+ toQuery DeletePolicyVersion{..} = mconcat+ [ "PolicyArn" =? _dpvPolicyArn+ , "VersionId" =? _dpvVersionId+ ]++instance ToHeaders DeletePolicyVersion++instance AWSRequest DeletePolicyVersion where+ type Sv DeletePolicyVersion = IAM+ type Rs DeletePolicyVersion = DeletePolicyVersionResponse++ request = post "DeletePolicyVersion"+ response = nullResponse DeletePolicyVersionResponse
gen/Network/AWS/IAM/DeleteRolePolicy.hs view
@@ -22,8 +22,13 @@ -- -- Derived from AWS service descriptions, licensed under Apache 2.0. --- | Deletes the specified policy associated with the specified role.+-- | Deletes the specified inline policy that is embedded in the specified role. --+-- A role can also have managed policies attached to it. To detach a managed+-- policy from a role, use 'DetachRolePolicy'. For more information about+-- policies, refer to <http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html Managed Policies and Inline Policies> in the /Using IAM/+-- guide.+-- -- <http://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteRolePolicy.html> module Network.AWS.IAM.DeleteRolePolicy (@@ -32,8 +37,8 @@ -- ** Request constructor , deleteRolePolicy -- ** Request lenses- , drpPolicyName- , drpRoleName+ , drp1PolicyName+ , drp1RoleName -- * Response , DeleteRolePolicyResponse@@ -47,33 +52,34 @@ import qualified GHC.Exts data DeleteRolePolicy = DeleteRolePolicy- { _drpPolicyName :: Text- , _drpRoleName :: Text+ { _drp1PolicyName :: Text+ , _drp1RoleName :: Text } deriving (Eq, Ord, Read, Show) -- | 'DeleteRolePolicy' constructor. -- -- The fields accessible through corresponding lenses are: ----- * 'drpPolicyName' @::@ 'Text'+-- * 'drp1PolicyName' @::@ 'Text' ----- * 'drpRoleName' @::@ 'Text'+-- * 'drp1RoleName' @::@ 'Text' ---deleteRolePolicy :: Text -- ^ 'drpRoleName'- -> Text -- ^ 'drpPolicyName'+deleteRolePolicy :: Text -- ^ 'drp1RoleName'+ -> Text -- ^ 'drp1PolicyName' -> DeleteRolePolicy deleteRolePolicy p1 p2 = DeleteRolePolicy- { _drpRoleName = p1- , _drpPolicyName = p2+ { _drp1RoleName = p1+ , _drp1PolicyName = p2 } --- | The name of the policy document to delete.-drpPolicyName :: Lens' DeleteRolePolicy Text-drpPolicyName = lens _drpPolicyName (\s a -> s { _drpPolicyName = a })+-- | The name identifying the policy document to delete.+drp1PolicyName :: Lens' DeleteRolePolicy Text+drp1PolicyName = lens _drp1PolicyName (\s a -> s { _drp1PolicyName = a }) --- | The name of the role the associated with the policy.-drpRoleName :: Lens' DeleteRolePolicy Text-drpRoleName = lens _drpRoleName (\s a -> s { _drpRoleName = a })+-- | The name (friendly name, not ARN) identifying the role that the policy is+-- embedded in.+drp1RoleName :: Lens' DeleteRolePolicy Text+drp1RoleName = lens _drp1RoleName (\s a -> s { _drp1RoleName = a }) data DeleteRolePolicyResponse = DeleteRolePolicyResponse deriving (Eq, Ord, Read, Show, Generic)@@ -87,8 +93,8 @@ instance ToQuery DeleteRolePolicy where toQuery DeleteRolePolicy{..} = mconcat- [ "PolicyName" =? _drpPolicyName- , "RoleName" =? _drpRoleName+ [ "PolicyName" =? _drp1PolicyName+ , "RoleName" =? _drp1RoleName ] instance ToHeaders DeleteRolePolicy
gen/Network/AWS/IAM/DeleteUserPolicy.hs view
@@ -22,8 +22,13 @@ -- -- Derived from AWS service descriptions, licensed under Apache 2.0. --- | Deletes the specified policy associated with the specified user.+-- | Deletes the specified inline policy that is embedded in the specified user. --+-- A user can also have managed policies attached to it. To detach a managed+-- policy from a user, use 'DetachUserPolicy'. For more information about+-- policies, refer to <http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html Managed Policies and Inline Policies> in the /Using IAM/+-- guide.+-- -- <http://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteUserPolicy.html> module Network.AWS.IAM.DeleteUserPolicy (@@ -67,11 +72,12 @@ , _dupPolicyName = p2 } --- | The name of the policy document to delete.+-- | The name identifying the policy document to delete. dupPolicyName :: Lens' DeleteUserPolicy Text dupPolicyName = lens _dupPolicyName (\s a -> s { _dupPolicyName = a }) --- | The name of the user the policy is associated with.+-- | The name (friendly name, not ARN) identifying the user that the policy is+-- embedded in. dupUserName :: Lens' DeleteUserPolicy Text dupUserName = lens _dupUserName (\s a -> s { _dupUserName = a })
+ gen/Network/AWS/IAM/DetachGroupPolicy.hs view
@@ -0,0 +1,104 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.IAM.DetachGroupPolicy+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)+--+-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | Removes the specified managed policy from the specified group.+--+-- A group can also have inline policies embedded with it. To delete an inline+-- policy, use the 'DeleteGroupPolicy' API. For information about policies, refer+-- to <http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html Managed Policies and Inline Policies> in the /Using IAM/ guide.+--+-- <http://docs.aws.amazon.com/IAM/latest/APIReference/API_DetachGroupPolicy.html>+module Network.AWS.IAM.DetachGroupPolicy+ (+ -- * Request+ DetachGroupPolicy+ -- ** Request constructor+ , detachGroupPolicy+ -- ** Request lenses+ , dgpGroupName+ , dgpPolicyArn++ -- * Response+ , DetachGroupPolicyResponse+ -- ** Response constructor+ , detachGroupPolicyResponse+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.IAM.Types+import qualified GHC.Exts++data DetachGroupPolicy = DetachGroupPolicy+ { _dgpGroupName :: Text+ , _dgpPolicyArn :: Text+ } deriving (Eq, Ord, Read, Show)++-- | 'DetachGroupPolicy' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dgpGroupName' @::@ 'Text'+--+-- * 'dgpPolicyArn' @::@ 'Text'+--+detachGroupPolicy :: Text -- ^ 'dgpGroupName'+ -> Text -- ^ 'dgpPolicyArn'+ -> DetachGroupPolicy+detachGroupPolicy p1 p2 = DetachGroupPolicy+ { _dgpGroupName = p1+ , _dgpPolicyArn = p2+ }++-- | The name (friendly name, not ARN) of the group to detach the policy from.+dgpGroupName :: Lens' DetachGroupPolicy Text+dgpGroupName = lens _dgpGroupName (\s a -> s { _dgpGroupName = a })++dgpPolicyArn :: Lens' DetachGroupPolicy Text+dgpPolicyArn = lens _dgpPolicyArn (\s a -> s { _dgpPolicyArn = a })++data DetachGroupPolicyResponse = DetachGroupPolicyResponse+ deriving (Eq, Ord, Read, Show, Generic)++-- | 'DetachGroupPolicyResponse' constructor.+detachGroupPolicyResponse :: DetachGroupPolicyResponse+detachGroupPolicyResponse = DetachGroupPolicyResponse++instance ToPath DetachGroupPolicy where+ toPath = const "/"++instance ToQuery DetachGroupPolicy where+ toQuery DetachGroupPolicy{..} = mconcat+ [ "GroupName" =? _dgpGroupName+ , "PolicyArn" =? _dgpPolicyArn+ ]++instance ToHeaders DetachGroupPolicy++instance AWSRequest DetachGroupPolicy where+ type Sv DetachGroupPolicy = IAM+ type Rs DetachGroupPolicy = DetachGroupPolicyResponse++ request = post "DetachGroupPolicy"+ response = nullResponse DetachGroupPolicyResponse
+ gen/Network/AWS/IAM/DetachRolePolicy.hs view
@@ -0,0 +1,104 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.IAM.DetachRolePolicy+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)+--+-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | Removes the specified managed policy from the specified role.+--+-- A role can also have inline policies embedded with it. To delete an inline+-- policy, use the 'DeleteRolePolicy' API. For information about policies, refer+-- to <http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html Managed Policies and Inline Policies> in the /Using IAM/ guide.+--+-- <http://docs.aws.amazon.com/IAM/latest/APIReference/API_DetachRolePolicy.html>+module Network.AWS.IAM.DetachRolePolicy+ (+ -- * Request+ DetachRolePolicy+ -- ** Request constructor+ , detachRolePolicy+ -- ** Request lenses+ , drpPolicyArn+ , drpRoleName++ -- * Response+ , DetachRolePolicyResponse+ -- ** Response constructor+ , detachRolePolicyResponse+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.IAM.Types+import qualified GHC.Exts++data DetachRolePolicy = DetachRolePolicy+ { _drpPolicyArn :: Text+ , _drpRoleName :: Text+ } deriving (Eq, Ord, Read, Show)++-- | 'DetachRolePolicy' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'drpPolicyArn' @::@ 'Text'+--+-- * 'drpRoleName' @::@ 'Text'+--+detachRolePolicy :: Text -- ^ 'drpRoleName'+ -> Text -- ^ 'drpPolicyArn'+ -> DetachRolePolicy+detachRolePolicy p1 p2 = DetachRolePolicy+ { _drpRoleName = p1+ , _drpPolicyArn = p2+ }++drpPolicyArn :: Lens' DetachRolePolicy Text+drpPolicyArn = lens _drpPolicyArn (\s a -> s { _drpPolicyArn = a })++-- | The name (friendly name, not ARN) of the role to detach the policy from.+drpRoleName :: Lens' DetachRolePolicy Text+drpRoleName = lens _drpRoleName (\s a -> s { _drpRoleName = a })++data DetachRolePolicyResponse = DetachRolePolicyResponse+ deriving (Eq, Ord, Read, Show, Generic)++-- | 'DetachRolePolicyResponse' constructor.+detachRolePolicyResponse :: DetachRolePolicyResponse+detachRolePolicyResponse = DetachRolePolicyResponse++instance ToPath DetachRolePolicy where+ toPath = const "/"++instance ToQuery DetachRolePolicy where+ toQuery DetachRolePolicy{..} = mconcat+ [ "PolicyArn" =? _drpPolicyArn+ , "RoleName" =? _drpRoleName+ ]++instance ToHeaders DetachRolePolicy++instance AWSRequest DetachRolePolicy where+ type Sv DetachRolePolicy = IAM+ type Rs DetachRolePolicy = DetachRolePolicyResponse++ request = post "DetachRolePolicy"+ response = nullResponse DetachRolePolicyResponse
+ gen/Network/AWS/IAM/DetachUserPolicy.hs view
@@ -0,0 +1,104 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.IAM.DetachUserPolicy+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)+--+-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | Removes the specified managed policy from the specified user.+--+-- A user can also have inline policies embedded with it. To delete an inline+-- policy, use the 'DeleteUserPolicy' API. For information about policies, refer+-- to <http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html Managed Policies and Inline Policies> in the /Using IAM/ guide.+--+-- <http://docs.aws.amazon.com/IAM/latest/APIReference/API_DetachUserPolicy.html>+module Network.AWS.IAM.DetachUserPolicy+ (+ -- * Request+ DetachUserPolicy+ -- ** Request constructor+ , detachUserPolicy+ -- ** Request lenses+ , dup1PolicyArn+ , dup1UserName++ -- * Response+ , DetachUserPolicyResponse+ -- ** Response constructor+ , detachUserPolicyResponse+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.IAM.Types+import qualified GHC.Exts++data DetachUserPolicy = DetachUserPolicy+ { _dup1PolicyArn :: Text+ , _dup1UserName :: Text+ } deriving (Eq, Ord, Read, Show)++-- | 'DetachUserPolicy' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dup1PolicyArn' @::@ 'Text'+--+-- * 'dup1UserName' @::@ 'Text'+--+detachUserPolicy :: Text -- ^ 'dup1UserName'+ -> Text -- ^ 'dup1PolicyArn'+ -> DetachUserPolicy+detachUserPolicy p1 p2 = DetachUserPolicy+ { _dup1UserName = p1+ , _dup1PolicyArn = p2+ }++dup1PolicyArn :: Lens' DetachUserPolicy Text+dup1PolicyArn = lens _dup1PolicyArn (\s a -> s { _dup1PolicyArn = a })++-- | The name (friendly name, not ARN) of the user to detach the policy from.+dup1UserName :: Lens' DetachUserPolicy Text+dup1UserName = lens _dup1UserName (\s a -> s { _dup1UserName = a })++data DetachUserPolicyResponse = DetachUserPolicyResponse+ deriving (Eq, Ord, Read, Show, Generic)++-- | 'DetachUserPolicyResponse' constructor.+detachUserPolicyResponse :: DetachUserPolicyResponse+detachUserPolicyResponse = DetachUserPolicyResponse++instance ToPath DetachUserPolicy where+ toPath = const "/"++instance ToQuery DetachUserPolicy where+ toQuery DetachUserPolicy{..} = mconcat+ [ "PolicyArn" =? _dup1PolicyArn+ , "UserName" =? _dup1UserName+ ]++instance ToHeaders DetachUserPolicy++instance AWSRequest DetachUserPolicy where+ type Sv DetachUserPolicy = IAM+ type Rs DetachUserPolicy = DetachUserPolicyResponse++ request = post "DetachUserPolicy"+ response = nullResponse DetachUserPolicyResponse
gen/Network/AWS/IAM/GetAccountSummary.hs view
@@ -22,7 +22,8 @@ -- -- Derived from AWS service descriptions, licensed under Apache 2.0. --- | Retrieves account level information about account entity usage and IAM quotas.+-- | Retrieves information about IAM entity usage and IAM quotas in the AWS+-- account. -- -- For information about limitations on IAM entities, see <http://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html Limitations on IAMEntities> in the /Using IAM/ guide. --@@ -69,64 +70,149 @@ { _gasrSummaryMap = mempty } --- | A set of key value pairs containing account-level information.+-- | A set of key value pairs containing information about IAM entity usage and+-- IAM quotas. ----- 'SummaryMap' contains the following keys: 'AccessKeysPerUserQuota' - Maximum--- number of active access keys allowed per IAM user+-- 'SummaryMap' contains the following keys: AccessKeysPerUserQuota ----- 'AccountAccessKeysPresent' - 1 if the root account has an access key, 0--- otherwise+-- The maximum number of active access keys allowed for each IAM user. ----- 'AccountMFAEnabled' - 1 if the root account has an MFA device assigned to--- it, 0 otherwise+-- AccountAccessKeysPresent ----- 'AccountSigningCertificatesPresent' - 1 if the root account has a signing--- certificate, 0 otherwise+-- This value is 1 if the AWS account (root) has an access key, otherwise it is+-- 0. ----- 'AssumeRolePolicySizeQuota' - Maximum allowed size for assume role policy--- documents (trust policies), in non-whitespace characters+-- AccountMFAEnabled ----- 'GroupPolicySizeQuota' - Maximum allowed size for IAM group policy--- documents, in non-whitespace characters+-- This value is 1 if the AWS account (root) has an MFA device assigned,+-- otherwise it is 0. ----- 'Groups' - Number of IAM groups in the AWS account+-- AccountSigningCertificatesPresent ----- 'GroupsPerUserQuota' - Maximum number of IAM groups each IAM user can belong--- to+-- This value is 1 if the AWS account (root) has a signing certificate,+-- otherwise it is 0. ----- 'GroupsQuota' - Maximum number of IAM groups allowed in the AWS account+-- AssumeRolePolicySizeQuota ----- 'InstanceProfiles' - Number of instance profiles in the AWS account+-- The maximum allowed size for assume role policy documents (trust policies),+-- in non-whitespace characters. ----- 'InstanceProfilesQuota' - Maximum number of instance profiles allowed in the--- AWS account+-- AttachedPoliciesPerGroupQuota ----- 'MFADevices' - Number of MFA devices, either assigned or unassigned+-- The maximum number of managed policies that can be attached to an IAM group. ----- 'MFADevicesInUse' - Number of MFA devices that have been assigned to an IAM--- user or to the root account+-- AttachedPoliciesPerRoleQuota ----- 'RolePolicySizeQuota' - Maximum allowed size for IAM role policy documents--- (permissions policies), in non-whitespace characters+-- The maximum number of managed policies that can be attached to an IAM role. ----- 'Roles' - Number of roles IAM in the AWS account+-- AttachedPoliciesPerUserQuota ----- 'RolesQuota' - Maximum number of IAM roles allowed in the AWS account+-- The maximum number of managed policies that can be attached to an IAM user. ----- 'UserPolicySizeQuota' - Maximum allowed size for IAM user policy documents,--- in non-whitespace characters+-- GroupPolicySizeQuota ----- 'Users' - Number of IAM users in the AWS account+-- The maximum allowed size for the aggregate of all inline policies embedded+-- in an IAM group, in non-whitespace characters. ----- 'UsersQuota' - Maximum number of IAM users allowed in the AWS account+-- Groups ----- 'ServerCertificates' - Number of server certificates in the AWS account+-- The number of IAM groups in the AWS account. ----- 'ServerCertificatesQuota' - Maximum number of server certificates allowed in--- the AWS account+-- GroupsPerUserQuota ----- 'SigningCertificatesPerUserQuota' - Maximum number of X509 signing--- certificates allowed per IAM user+-- The maximum number of IAM groups each IAM user can belong to.+--+-- GroupsQuota+--+-- The maximum number of IAM groups allowed in the AWS account.+--+-- InstanceProfiles+--+-- The number of instance profiles in the AWS account.+--+-- InstanceProfilesQuota+--+-- The maximum number of instance profiles allowed in the AWS account.+--+-- MFADevices+--+-- The number of MFA devices in the AWS account, including those assigned and+-- unassigned.+--+-- MFADevicesInUse+--+-- The number of MFA devices that have been assigned to an IAM user or to the+-- AWS account (root).+--+-- Policies+--+-- The number of customer managed policies in the AWS account.+--+-- PoliciesQuota+--+-- The maximum number of customer managed policies allowed in the AWS account.+--+-- PolicySizeQuota+--+-- The maximum allowed size of a customer managed policy, in non-whitespace+-- characters.+--+-- PolicyVersionsInUse+--+-- The number of managed policies that are attached to IAM users, groups, or+-- roles in the AWS account.+--+-- PolicyVersionsInUseQuota+--+-- The maximum number of managed policies that can be attached to IAM users,+-- groups, or roles in the AWS account.+--+-- Providers+--+-- The number of identity providers in the AWS account.+--+-- RolePolicySizeQuota+--+-- The maximum allowed size for the aggregate of all inline policies (access+-- policies, not the trust policy) embedded in an IAM role, in non-whitespace+-- characters.+--+-- Roles+--+-- The number of IAM roles in the AWS account.+--+-- RolesQuota+--+-- The maximum number of IAM roles allowed in the AWS account.+--+-- ServerCertificates+--+-- The number of server certificates in the AWS account.+--+-- ServerCertificatesQuota+--+-- The maximum number of server certificates allowed in the AWS account.+--+-- SigningCertificatesPerUserQuota+--+-- The maximum number of X.509 signing certificates allowed for each IAM user.+--+-- UserPolicySizeQuota+--+-- The maximum allowed size for the aggregate of all inline policies embedded+-- in an IAM user, in non-whitespace characters.+--+-- Users+--+-- The number of IAM users in the AWS account.+--+-- UsersQuota+--+-- The maximum number of IAM users allowed in the AWS account.+--+-- VersionsPerPolicyQuota+--+-- The maximum number of policy versions allowed for each managed policy. -- -- gasrSummaryMap :: Lens' GetAccountSummaryResponse (HashMap SummaryKeyType Int)
gen/Network/AWS/IAM/GetGroupPolicy.hs view
@@ -22,9 +22,15 @@ -- -- Derived from AWS service descriptions, licensed under Apache 2.0. --- | Retrieves the specified policy document for the specified group. The--- returned policy is URL-encoded according to RFC 3986. For more information--- about RFC 3986, go to <http://www.faqs.org/rfcs/rfc3986.html http://www.faqs.org/rfcs/rfc3986.html>.+-- | Retrieves the specified inline policy document that is embedded in the+-- specified group.+--+-- A group can also have managed policies attached to it. To retrieve a managed+-- policy document that is attached to a group, use 'GetPolicy' to determine the+-- policy's default version, then use 'GetPolicyVersion' to retrieve the policy+-- document.+--+-- For more information about policies, refer to <http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html Managed Policies and InlinePolicies> in the /Using IAM/ guide. -- -- <http://docs.aws.amazon.com/IAM/latest/APIReference/API_GetGroupPolicy.html> module Network.AWS.IAM.GetGroupPolicy
+ gen/Network/AWS/IAM/GetPolicy.hs view
@@ -0,0 +1,118 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.IAM.GetPolicy+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)+--+-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | Retrieves information about the specified managed policy, including the+-- policy's default version and the total number of users, groups, and roles+-- that the policy is attached to. For a list of the specific users, groups, and+-- roles that the policy is attached to, use the 'ListEntitiesForPolicy' API. This+-- API returns metadata about the policy. To retrieve the policy document for a+-- specific version of the policy, use 'GetPolicyVersion'.+--+-- This API retrieves information about managed policies. To retrieve+-- information about an inline policy that is embedded with a user, group, or+-- role, use the 'GetUserPolicy', 'GetGroupPolicy', or 'GetRolePolicy' API.+--+-- For more information about policies, refer to <http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html Managed Policies and InlinePolicies> in the /Using IAM/ guide.+--+-- <http://docs.aws.amazon.com/IAM/latest/APIReference/API_GetPolicy.html>+module Network.AWS.IAM.GetPolicy+ (+ -- * Request+ GetPolicy+ -- ** Request constructor+ , getPolicy+ -- ** Request lenses+ , gpPolicyArn++ -- * Response+ , GetPolicyResponse+ -- ** Response constructor+ , getPolicyResponse+ -- ** Response lenses+ , gprPolicy+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.IAM.Types+import qualified GHC.Exts++newtype GetPolicy = GetPolicy+ { _gpPolicyArn :: Text+ } deriving (Eq, Ord, Read, Show, Monoid, IsString)++-- | 'GetPolicy' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'gpPolicyArn' @::@ 'Text'+--+getPolicy :: Text -- ^ 'gpPolicyArn'+ -> GetPolicy+getPolicy p1 = GetPolicy+ { _gpPolicyArn = p1+ }++gpPolicyArn :: Lens' GetPolicy Text+gpPolicyArn = lens _gpPolicyArn (\s a -> s { _gpPolicyArn = a })++newtype GetPolicyResponse = GetPolicyResponse+ { _gprPolicy :: Maybe Policy+ } deriving (Eq, Read, Show)++-- | 'GetPolicyResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'gprPolicy' @::@ 'Maybe' 'Policy'+--+getPolicyResponse :: GetPolicyResponse+getPolicyResponse = GetPolicyResponse+ { _gprPolicy = Nothing+ }++-- | Information about the policy.+gprPolicy :: Lens' GetPolicyResponse (Maybe Policy)+gprPolicy = lens _gprPolicy (\s a -> s { _gprPolicy = a })++instance ToPath GetPolicy where+ toPath = const "/"++instance ToQuery GetPolicy where+ toQuery GetPolicy{..} = mconcat+ [ "PolicyArn" =? _gpPolicyArn+ ]++instance ToHeaders GetPolicy++instance AWSRequest GetPolicy where+ type Sv GetPolicy = IAM+ type Rs GetPolicy = GetPolicyResponse++ request = post "GetPolicy"+ response = xmlResponse++instance FromXML GetPolicyResponse where+ parseXML = withElement "GetPolicyResult" $ \x -> GetPolicyResponse+ <$> x .@? "Policy"
+ gen/Network/AWS/IAM/GetPolicyVersion.hs view
@@ -0,0 +1,130 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.IAM.GetPolicyVersion+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)+--+-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | Retrieves information about the specified version of the specified managed+-- policy, including the policy document.+--+-- To list the available versions for a policy, use 'ListPolicyVersions'.+--+-- This API retrieves information about managed policies. To retrieve+-- information about an inline policy that is embedded in a user, group, or+-- role, use the 'GetUserPolicy', 'GetGroupPolicy', or 'GetRolePolicy' API.+--+-- For more information about the types of policies, refer to <http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html Managed Policiesand Inline Policies> in the /Using IAM/ guide.+--+-- <http://docs.aws.amazon.com/IAM/latest/APIReference/API_GetPolicyVersion.html>+module Network.AWS.IAM.GetPolicyVersion+ (+ -- * Request+ GetPolicyVersion+ -- ** Request constructor+ , getPolicyVersion+ -- ** Request lenses+ , gpvPolicyArn+ , gpvVersionId++ -- * Response+ , GetPolicyVersionResponse+ -- ** Response constructor+ , getPolicyVersionResponse+ -- ** Response lenses+ , gpvrPolicyVersion+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.IAM.Types+import qualified GHC.Exts++data GetPolicyVersion = GetPolicyVersion+ { _gpvPolicyArn :: Text+ , _gpvVersionId :: Text+ } deriving (Eq, Ord, Read, Show)++-- | 'GetPolicyVersion' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'gpvPolicyArn' @::@ 'Text'+--+-- * 'gpvVersionId' @::@ 'Text'+--+getPolicyVersion :: Text -- ^ 'gpvPolicyArn'+ -> Text -- ^ 'gpvVersionId'+ -> GetPolicyVersion+getPolicyVersion p1 p2 = GetPolicyVersion+ { _gpvPolicyArn = p1+ , _gpvVersionId = p2+ }++gpvPolicyArn :: Lens' GetPolicyVersion Text+gpvPolicyArn = lens _gpvPolicyArn (\s a -> s { _gpvPolicyArn = a })++-- | Identifies the policy version to retrieve.+gpvVersionId :: Lens' GetPolicyVersion Text+gpvVersionId = lens _gpvVersionId (\s a -> s { _gpvVersionId = a })++newtype GetPolicyVersionResponse = GetPolicyVersionResponse+ { _gpvrPolicyVersion :: Maybe PolicyVersion+ } deriving (Eq, Read, Show)++-- | 'GetPolicyVersionResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'gpvrPolicyVersion' @::@ 'Maybe' 'PolicyVersion'+--+getPolicyVersionResponse :: GetPolicyVersionResponse+getPolicyVersionResponse = GetPolicyVersionResponse+ { _gpvrPolicyVersion = Nothing+ }++-- | Information about the policy version.+--+-- For more information about managed policy versions, see <http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html Versioning forManaged Policies> in the /Using IAM/ guide.+gpvrPolicyVersion :: Lens' GetPolicyVersionResponse (Maybe PolicyVersion)+gpvrPolicyVersion =+ lens _gpvrPolicyVersion (\s a -> s { _gpvrPolicyVersion = a })++instance ToPath GetPolicyVersion where+ toPath = const "/"++instance ToQuery GetPolicyVersion where+ toQuery GetPolicyVersion{..} = mconcat+ [ "PolicyArn" =? _gpvPolicyArn+ , "VersionId" =? _gpvVersionId+ ]++instance ToHeaders GetPolicyVersion++instance AWSRequest GetPolicyVersion where+ type Sv GetPolicyVersion = IAM+ type Rs GetPolicyVersion = GetPolicyVersionResponse++ request = post "GetPolicyVersion"+ response = xmlResponse++instance FromXML GetPolicyVersionResponse where+ parseXML = withElement "GetPolicyVersionResult" $ \x -> GetPolicyVersionResponse+ <$> x .@? "PolicyVersion"
gen/Network/AWS/IAM/GetRolePolicy.hs view
@@ -22,11 +22,17 @@ -- -- Derived from AWS service descriptions, licensed under Apache 2.0. --- | Retrieves the specified policy document for the specified role. For more--- information about roles, go to <http://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html Working with Roles>.+-- | Retrieves the specified inline policy document that is embedded with the+-- specified role. ----- The returned policy is URL-encoded according to RFC 3986. For more--- information about RFC 3986, go to <http://www.faqs.org/rfcs/rfc3986.html http://www.faqs.org/rfcs/rfc3986.html>.+-- A role can also have managed policies attached to it. To retrieve a managed+-- policy document that is attached to a role, use 'GetPolicy' to determine the+-- policy's default version, then use 'GetPolicyVersion' to retrieve the policy+-- document.+--+-- For more information about policies, refer to <http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html Managed Policies and InlinePolicies> in the /Using IAM/ guide.+--+-- For more information about roles, go to <http://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.html Using Roles to Delegate Permissionsand Federate Identities>. -- -- <http://docs.aws.amazon.com/IAM/latest/APIReference/API_GetRolePolicy.html> module Network.AWS.IAM.GetRolePolicy
gen/Network/AWS/IAM/GetUserPolicy.hs view
@@ -22,9 +22,15 @@ -- -- Derived from AWS service descriptions, licensed under Apache 2.0. --- | Retrieves the specified policy document for the specified user. The returned--- policy is URL-encoded according to RFC 3986. For more information about RFC--- 3986, go to <http://www.faqs.org/rfcs/rfc3986.html http://www.faqs.org/rfcs/rfc3986.html>.+-- | Retrieves the specified inline policy document that is embedded in the+-- specified user.+--+-- A user can also have managed policies attached to it. To retrieve a managed+-- policy document that is attached to a user, use 'GetPolicy' to determine the+-- policy's default version, then use 'GetPolicyVersion' to retrieve the policy+-- document.+--+-- For more information about policies, refer to <http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html Managed Policies and InlinePolicies> in the /Using IAM/ guide. -- -- <http://docs.aws.amazon.com/IAM/latest/APIReference/API_GetUserPolicy.html> module Network.AWS.IAM.GetUserPolicy
+ gen/Network/AWS/IAM/ListAttachedGroupPolicies.hs view
@@ -0,0 +1,180 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.IAM.ListAttachedGroupPolicies+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)+--+-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | Lists all managed policies that are attached to the specified group.+--+-- A group can also have inline policies embedded with it. To list the inline+-- policies for a group, use the 'ListGroupPolicies' API. For information about+-- policies, refer to <http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html Managed Policies and Inline Policies> in the /Using IAM/+-- guide.+--+-- You can paginate the results using the 'MaxItems' and 'Marker' parameters. You+-- can use the 'PathPrefix' parameter to limit the list of policies to only those+-- matching the specified path prefix. If there are no policies attached to the+-- specified group (or none that match the specified path prefix), the action+-- returns an empty list.+--+-- <http://docs.aws.amazon.com/IAM/latest/APIReference/API_ListAttachedGroupPolicies.html>+module Network.AWS.IAM.ListAttachedGroupPolicies+ (+ -- * Request+ ListAttachedGroupPolicies+ -- ** Request constructor+ , listAttachedGroupPolicies+ -- ** Request lenses+ , lagpGroupName+ , lagpMarker+ , lagpMaxItems+ , lagpPathPrefix++ -- * Response+ , ListAttachedGroupPoliciesResponse+ -- ** Response constructor+ , listAttachedGroupPoliciesResponse+ -- ** Response lenses+ , lagprAttachedPolicies+ , lagprIsTruncated+ , lagprMarker+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.IAM.Types+import qualified GHC.Exts++data ListAttachedGroupPolicies = ListAttachedGroupPolicies+ { _lagpGroupName :: Text+ , _lagpMarker :: Maybe Text+ , _lagpMaxItems :: Maybe Nat+ , _lagpPathPrefix :: Maybe Text+ } deriving (Eq, Ord, Read, Show)++-- | 'ListAttachedGroupPolicies' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'lagpGroupName' @::@ 'Text'+--+-- * 'lagpMarker' @::@ 'Maybe' 'Text'+--+-- * 'lagpMaxItems' @::@ 'Maybe' 'Natural'+--+-- * 'lagpPathPrefix' @::@ 'Maybe' 'Text'+--+listAttachedGroupPolicies :: Text -- ^ 'lagpGroupName'+ -> ListAttachedGroupPolicies+listAttachedGroupPolicies p1 = ListAttachedGroupPolicies+ { _lagpGroupName = p1+ , _lagpPathPrefix = Nothing+ , _lagpMarker = Nothing+ , _lagpMaxItems = Nothing+ }++-- | The name (friendly name, not ARN) of the group to list attached policies for.+lagpGroupName :: Lens' ListAttachedGroupPolicies Text+lagpGroupName = lens _lagpGroupName (\s a -> s { _lagpGroupName = a })++-- | Use this only when paginating results, and only in a subsequent request after+-- you've received a response where the results are truncated. Set it to the+-- value of the 'Marker' element in the response you just received.+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+-- policies you want in the response. If there are additional policies 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.+lagpMaxItems :: Lens' ListAttachedGroupPolicies (Maybe Natural)+lagpMaxItems = lens _lagpMaxItems (\s a -> s { _lagpMaxItems = a }) . mapping _Nat++-- | The path prefix for filtering the results. This parameter is optional. If it+-- is not included, it defaults to a slash (/), listing all policies.+lagpPathPrefix :: Lens' ListAttachedGroupPolicies (Maybe Text)+lagpPathPrefix = lens _lagpPathPrefix (\s a -> s { _lagpPathPrefix = a })++data ListAttachedGroupPoliciesResponse = ListAttachedGroupPoliciesResponse+ { _lagprAttachedPolicies :: List "member" AttachedPolicy+ , _lagprIsTruncated :: Maybe Bool+ , _lagprMarker :: Maybe Text+ } deriving (Eq, Read, Show)++-- | 'ListAttachedGroupPoliciesResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'lagprAttachedPolicies' @::@ ['AttachedPolicy']+--+-- * 'lagprIsTruncated' @::@ 'Maybe' 'Bool'+--+-- * 'lagprMarker' @::@ 'Maybe' 'Text'+--+listAttachedGroupPoliciesResponse :: ListAttachedGroupPoliciesResponse+listAttachedGroupPoliciesResponse = ListAttachedGroupPoliciesResponse+ { _lagprAttachedPolicies = mempty+ , _lagprIsTruncated = Nothing+ , _lagprMarker = Nothing+ }++-- | A list of the attached policies.+lagprAttachedPolicies :: Lens' ListAttachedGroupPoliciesResponse [AttachedPolicy]+lagprAttachedPolicies =+ lens _lagprAttachedPolicies (\s a -> s { _lagprAttachedPolicies = a })+ . _List++-- | A flag that indicates whether there are more policies to list. If your+-- results were truncated, you can make a subsequent pagination request using+-- the 'Marker' request parameter to retrieve more policies in the list.+lagprIsTruncated :: Lens' ListAttachedGroupPoliciesResponse (Maybe Bool)+lagprIsTruncated = lens _lagprIsTruncated (\s a -> s { _lagprIsTruncated = a })++-- | If 'IsTruncated' is 'true', this element is present and contains the value to use+-- for the 'Marker' parameter in a subsequent pagination request.+lagprMarker :: Lens' ListAttachedGroupPoliciesResponse (Maybe Text)+lagprMarker = lens _lagprMarker (\s a -> s { _lagprMarker = a })++instance ToPath ListAttachedGroupPolicies where+ toPath = const "/"++instance ToQuery ListAttachedGroupPolicies where+ toQuery ListAttachedGroupPolicies{..} = mconcat+ [ "GroupName" =? _lagpGroupName+ , "Marker" =? _lagpMarker+ , "MaxItems" =? _lagpMaxItems+ , "PathPrefix" =? _lagpPathPrefix+ ]++instance ToHeaders ListAttachedGroupPolicies++instance AWSRequest ListAttachedGroupPolicies where+ type Sv ListAttachedGroupPolicies = IAM+ type Rs ListAttachedGroupPolicies = ListAttachedGroupPoliciesResponse++ request = post "ListAttachedGroupPolicies"+ response = xmlResponse++instance FromXML ListAttachedGroupPoliciesResponse where+ parseXML = withElement "ListAttachedGroupPoliciesResult" $ \x -> ListAttachedGroupPoliciesResponse+ <$> x .@? "AttachedPolicies" .!@ mempty+ <*> x .@? "IsTruncated"+ <*> x .@? "Marker"
+ gen/Network/AWS/IAM/ListAttachedRolePolicies.hs view
@@ -0,0 +1,180 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.IAM.ListAttachedRolePolicies+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)+--+-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | Lists all managed policies that are attached to the specified role.+--+-- A role can also have inline policies embedded with it. To list the inline+-- policies for a role, use the 'ListRolePolicies' API. For information about+-- policies, refer to <http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html Managed Policies and Inline Policies> in the /Using IAM/+-- guide.+--+-- You can paginate the results using the 'MaxItems' and 'Marker' parameters. You+-- can use the 'PathPrefix' parameter to limit the list of policies to only those+-- matching the specified path prefix. If there are no policies attached to the+-- specified role (or none that match the specified path prefix), the action+-- returns an empty list.+--+-- <http://docs.aws.amazon.com/IAM/latest/APIReference/API_ListAttachedRolePolicies.html>+module Network.AWS.IAM.ListAttachedRolePolicies+ (+ -- * Request+ ListAttachedRolePolicies+ -- ** Request constructor+ , listAttachedRolePolicies+ -- ** Request lenses+ , larpMarker+ , larpMaxItems+ , larpPathPrefix+ , larpRoleName++ -- * Response+ , ListAttachedRolePoliciesResponse+ -- ** Response constructor+ , listAttachedRolePoliciesResponse+ -- ** Response lenses+ , larprAttachedPolicies+ , larprIsTruncated+ , larprMarker+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.IAM.Types+import qualified GHC.Exts++data ListAttachedRolePolicies = ListAttachedRolePolicies+ { _larpMarker :: Maybe Text+ , _larpMaxItems :: Maybe Nat+ , _larpPathPrefix :: Maybe Text+ , _larpRoleName :: Text+ } deriving (Eq, Ord, Read, Show)++-- | 'ListAttachedRolePolicies' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'larpMarker' @::@ 'Maybe' 'Text'+--+-- * 'larpMaxItems' @::@ 'Maybe' 'Natural'+--+-- * 'larpPathPrefix' @::@ 'Maybe' 'Text'+--+-- * 'larpRoleName' @::@ 'Text'+--+listAttachedRolePolicies :: Text -- ^ 'larpRoleName'+ -> ListAttachedRolePolicies+listAttachedRolePolicies p1 = ListAttachedRolePolicies+ { _larpRoleName = p1+ , _larpPathPrefix = Nothing+ , _larpMarker = Nothing+ , _larpMaxItems = Nothing+ }++-- | Use this only when paginating results, and only in a subsequent request after+-- you've received a response where the results are truncated. Set it to the+-- value of the 'Marker' element in the response you just received.+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+-- policies you want in the response. If there are additional policies 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.+larpMaxItems :: Lens' ListAttachedRolePolicies (Maybe Natural)+larpMaxItems = lens _larpMaxItems (\s a -> s { _larpMaxItems = a }) . mapping _Nat++-- | The path prefix for filtering the results. This parameter is optional. If it+-- is not included, it defaults to a slash (/), listing all policies.+larpPathPrefix :: Lens' ListAttachedRolePolicies (Maybe Text)+larpPathPrefix = lens _larpPathPrefix (\s a -> s { _larpPathPrefix = a })++-- | The name (friendly name, not ARN) of the role to list attached policies for.+larpRoleName :: Lens' ListAttachedRolePolicies Text+larpRoleName = lens _larpRoleName (\s a -> s { _larpRoleName = a })++data ListAttachedRolePoliciesResponse = ListAttachedRolePoliciesResponse+ { _larprAttachedPolicies :: List "member" AttachedPolicy+ , _larprIsTruncated :: Maybe Bool+ , _larprMarker :: Maybe Text+ } deriving (Eq, Read, Show)++-- | 'ListAttachedRolePoliciesResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'larprAttachedPolicies' @::@ ['AttachedPolicy']+--+-- * 'larprIsTruncated' @::@ 'Maybe' 'Bool'+--+-- * 'larprMarker' @::@ 'Maybe' 'Text'+--+listAttachedRolePoliciesResponse :: ListAttachedRolePoliciesResponse+listAttachedRolePoliciesResponse = ListAttachedRolePoliciesResponse+ { _larprAttachedPolicies = mempty+ , _larprIsTruncated = Nothing+ , _larprMarker = Nothing+ }++-- | A list of the attached policies.+larprAttachedPolicies :: Lens' ListAttachedRolePoliciesResponse [AttachedPolicy]+larprAttachedPolicies =+ lens _larprAttachedPolicies (\s a -> s { _larprAttachedPolicies = a })+ . _List++-- | A flag that indicates whether there are more policies to list. If your+-- results were truncated, you can make a subsequent pagination request using+-- the 'Marker' request parameter to retrieve more policies in the list.+larprIsTruncated :: Lens' ListAttachedRolePoliciesResponse (Maybe Bool)+larprIsTruncated = lens _larprIsTruncated (\s a -> s { _larprIsTruncated = a })++-- | If 'IsTruncated' is 'true', this element is present and contains the value to use+-- for the 'Marker' parameter in a subsequent pagination request.+larprMarker :: Lens' ListAttachedRolePoliciesResponse (Maybe Text)+larprMarker = lens _larprMarker (\s a -> s { _larprMarker = a })++instance ToPath ListAttachedRolePolicies where+ toPath = const "/"++instance ToQuery ListAttachedRolePolicies where+ toQuery ListAttachedRolePolicies{..} = mconcat+ [ "Marker" =? _larpMarker+ , "MaxItems" =? _larpMaxItems+ , "PathPrefix" =? _larpPathPrefix+ , "RoleName" =? _larpRoleName+ ]++instance ToHeaders ListAttachedRolePolicies++instance AWSRequest ListAttachedRolePolicies where+ type Sv ListAttachedRolePolicies = IAM+ type Rs ListAttachedRolePolicies = ListAttachedRolePoliciesResponse++ request = post "ListAttachedRolePolicies"+ response = xmlResponse++instance FromXML ListAttachedRolePoliciesResponse where+ parseXML = withElement "ListAttachedRolePoliciesResult" $ \x -> ListAttachedRolePoliciesResponse+ <$> x .@? "AttachedPolicies" .!@ mempty+ <*> x .@? "IsTruncated"+ <*> x .@? "Marker"
+ gen/Network/AWS/IAM/ListAttachedUserPolicies.hs view
@@ -0,0 +1,180 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.IAM.ListAttachedUserPolicies+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)+--+-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | Lists all managed policies that are attached to the specified user.+--+-- A user can also have inline policies embedded with it. To list the inline+-- policies for a user, use the 'ListUserPolicies' API. For information about+-- policies, refer to <http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html Managed Policies and Inline Policies> in the /Using IAM/+-- guide.+--+-- You can paginate the results using the 'MaxItems' and 'Marker' parameters. You+-- can use the 'PathPrefix' parameter to limit the list of policies to only those+-- matching the specified path prefix. If there are no policies attached to the+-- specified group (or none that match the specified path prefix), the action+-- returns an empty list.+--+-- <http://docs.aws.amazon.com/IAM/latest/APIReference/API_ListAttachedUserPolicies.html>+module Network.AWS.IAM.ListAttachedUserPolicies+ (+ -- * Request+ ListAttachedUserPolicies+ -- ** Request constructor+ , listAttachedUserPolicies+ -- ** Request lenses+ , laupMarker+ , laupMaxItems+ , laupPathPrefix+ , laupUserName++ -- * Response+ , ListAttachedUserPoliciesResponse+ -- ** Response constructor+ , listAttachedUserPoliciesResponse+ -- ** Response lenses+ , lauprAttachedPolicies+ , lauprIsTruncated+ , lauprMarker+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.IAM.Types+import qualified GHC.Exts++data ListAttachedUserPolicies = ListAttachedUserPolicies+ { _laupMarker :: Maybe Text+ , _laupMaxItems :: Maybe Nat+ , _laupPathPrefix :: Maybe Text+ , _laupUserName :: Text+ } deriving (Eq, Ord, Read, Show)++-- | 'ListAttachedUserPolicies' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'laupMarker' @::@ 'Maybe' 'Text'+--+-- * 'laupMaxItems' @::@ 'Maybe' 'Natural'+--+-- * 'laupPathPrefix' @::@ 'Maybe' 'Text'+--+-- * 'laupUserName' @::@ 'Text'+--+listAttachedUserPolicies :: Text -- ^ 'laupUserName'+ -> ListAttachedUserPolicies+listAttachedUserPolicies p1 = ListAttachedUserPolicies+ { _laupUserName = p1+ , _laupPathPrefix = Nothing+ , _laupMarker = Nothing+ , _laupMaxItems = Nothing+ }++-- | Use this only when paginating results, and only in a subsequent request after+-- you've received a response where the results are truncated. Set it to the+-- value of the 'Marker' element in the response you just received.+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+-- policies you want in the response. If there are additional policies 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.+laupMaxItems :: Lens' ListAttachedUserPolicies (Maybe Natural)+laupMaxItems = lens _laupMaxItems (\s a -> s { _laupMaxItems = a }) . mapping _Nat++-- | The path prefix for filtering the results. This parameter is optional. If it+-- is not included, it defaults to a slash (/), listing all policies.+laupPathPrefix :: Lens' ListAttachedUserPolicies (Maybe Text)+laupPathPrefix = lens _laupPathPrefix (\s a -> s { _laupPathPrefix = a })++-- | The name (friendly name, not ARN) of the user to list attached policies for.+laupUserName :: Lens' ListAttachedUserPolicies Text+laupUserName = lens _laupUserName (\s a -> s { _laupUserName = a })++data ListAttachedUserPoliciesResponse = ListAttachedUserPoliciesResponse+ { _lauprAttachedPolicies :: List "member" AttachedPolicy+ , _lauprIsTruncated :: Maybe Bool+ , _lauprMarker :: Maybe Text+ } deriving (Eq, Read, Show)++-- | 'ListAttachedUserPoliciesResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'lauprAttachedPolicies' @::@ ['AttachedPolicy']+--+-- * 'lauprIsTruncated' @::@ 'Maybe' 'Bool'+--+-- * 'lauprMarker' @::@ 'Maybe' 'Text'+--+listAttachedUserPoliciesResponse :: ListAttachedUserPoliciesResponse+listAttachedUserPoliciesResponse = ListAttachedUserPoliciesResponse+ { _lauprAttachedPolicies = mempty+ , _lauprIsTruncated = Nothing+ , _lauprMarker = Nothing+ }++-- | A list of the attached policies.+lauprAttachedPolicies :: Lens' ListAttachedUserPoliciesResponse [AttachedPolicy]+lauprAttachedPolicies =+ lens _lauprAttachedPolicies (\s a -> s { _lauprAttachedPolicies = a })+ . _List++-- | A flag that indicates whether there are more policies to list. If your+-- results were truncated, you can make a subsequent pagination request using+-- the 'Marker' request parameter to retrieve more policies in the list.+lauprIsTruncated :: Lens' ListAttachedUserPoliciesResponse (Maybe Bool)+lauprIsTruncated = lens _lauprIsTruncated (\s a -> s { _lauprIsTruncated = a })++-- | If 'IsTruncated' is 'true', this element is present and contains the value to use+-- for the 'Marker' parameter in a subsequent pagination request.+lauprMarker :: Lens' ListAttachedUserPoliciesResponse (Maybe Text)+lauprMarker = lens _lauprMarker (\s a -> s { _lauprMarker = a })++instance ToPath ListAttachedUserPolicies where+ toPath = const "/"++instance ToQuery ListAttachedUserPolicies where+ toQuery ListAttachedUserPolicies{..} = mconcat+ [ "Marker" =? _laupMarker+ , "MaxItems" =? _laupMaxItems+ , "PathPrefix" =? _laupPathPrefix+ , "UserName" =? _laupUserName+ ]++instance ToHeaders ListAttachedUserPolicies++instance AWSRequest ListAttachedUserPolicies where+ type Sv ListAttachedUserPolicies = IAM+ type Rs ListAttachedUserPolicies = ListAttachedUserPoliciesResponse++ request = post "ListAttachedUserPolicies"+ response = xmlResponse++instance FromXML ListAttachedUserPoliciesResponse where+ parseXML = withElement "ListAttachedUserPoliciesResult" $ \x -> ListAttachedUserPoliciesResponse+ <$> x .@? "AttachedPolicies" .!@ mempty+ <*> x .@? "IsTruncated"+ <*> x .@? "Marker"
+ gen/Network/AWS/IAM/ListEntitiesForPolicy.hs view
@@ -0,0 +1,209 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.IAM.ListEntitiesForPolicy+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)+--+-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | Lists all users, groups, and roles that the specified managed policy is+-- attached to.+--+-- You can use the optional 'EntityFilter' parameter to limit the results to a+-- particular type of entity (users, groups, or roles). For example, to list+-- only the roles that are attached to the specified policy, set 'EntityFilter' to 'Role'.+--+-- You can paginate the results using the 'MaxItems' and 'Marker' parameters.+--+-- <http://docs.aws.amazon.com/IAM/latest/APIReference/API_ListEntitiesForPolicy.html>+module Network.AWS.IAM.ListEntitiesForPolicy+ (+ -- * Request+ ListEntitiesForPolicy+ -- ** Request constructor+ , listEntitiesForPolicy+ -- ** Request lenses+ , lefpEntityFilter+ , lefpMarker+ , lefpMaxItems+ , lefpPathPrefix+ , lefpPolicyArn++ -- * Response+ , ListEntitiesForPolicyResponse+ -- ** Response constructor+ , listEntitiesForPolicyResponse+ -- ** Response lenses+ , lefprIsTruncated+ , lefprMarker+ , lefprPolicyGroups+ , lefprPolicyRoles+ , lefprPolicyUsers+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.IAM.Types+import qualified GHC.Exts++data ListEntitiesForPolicy = ListEntitiesForPolicy+ { _lefpEntityFilter :: Maybe EntityType+ , _lefpMarker :: Maybe Text+ , _lefpMaxItems :: Maybe Nat+ , _lefpPathPrefix :: Maybe Text+ , _lefpPolicyArn :: Text+ } deriving (Eq, Read, Show)++-- | 'ListEntitiesForPolicy' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'lefpEntityFilter' @::@ 'Maybe' 'EntityType'+--+-- * 'lefpMarker' @::@ 'Maybe' 'Text'+--+-- * 'lefpMaxItems' @::@ 'Maybe' 'Natural'+--+-- * 'lefpPathPrefix' @::@ 'Maybe' 'Text'+--+-- * 'lefpPolicyArn' @::@ 'Text'+--+listEntitiesForPolicy :: Text -- ^ 'lefpPolicyArn'+ -> ListEntitiesForPolicy+listEntitiesForPolicy p1 = ListEntitiesForPolicy+ { _lefpPolicyArn = p1+ , _lefpEntityFilter = Nothing+ , _lefpPathPrefix = Nothing+ , _lefpMarker = Nothing+ , _lefpMaxItems = Nothing+ }++-- | The entity type to use for filtering the results.+--+-- For example, when 'EntityFilter' is 'Role', only the roles that are attached to+-- the specified policy are returned. This parameter is optional. If it is not+-- included, all attached entities (users, groups, and roles) are returned.+lefpEntityFilter :: Lens' ListEntitiesForPolicy (Maybe EntityType)+lefpEntityFilter = lens _lefpEntityFilter (\s a -> s { _lefpEntityFilter = a })++-- | Use this only when paginating results, and only in a subsequent request after+-- you've received a response where the results are truncated. Set it to the+-- value of the 'Marker' element in the response you just received.+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+-- entities you want in the response. If there are additional entities 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.+lefpMaxItems :: Lens' ListEntitiesForPolicy (Maybe Natural)+lefpMaxItems = lens _lefpMaxItems (\s a -> s { _lefpMaxItems = a }) . mapping _Nat++-- | The path prefix for filtering the results. This parameter is optional. If it+-- is not included, it defaults to a slash (/), listing all entities.+lefpPathPrefix :: Lens' ListEntitiesForPolicy (Maybe Text)+lefpPathPrefix = lens _lefpPathPrefix (\s a -> s { _lefpPathPrefix = a })++lefpPolicyArn :: Lens' ListEntitiesForPolicy Text+lefpPolicyArn = lens _lefpPolicyArn (\s a -> s { _lefpPolicyArn = a })++data ListEntitiesForPolicyResponse = ListEntitiesForPolicyResponse+ { _lefprIsTruncated :: Maybe Bool+ , _lefprMarker :: Maybe Text+ , _lefprPolicyGroups :: List "member" PolicyGroup+ , _lefprPolicyRoles :: List "member" PolicyRole+ , _lefprPolicyUsers :: List "member" PolicyUser+ } deriving (Eq, Read, Show)++-- | 'ListEntitiesForPolicyResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'lefprIsTruncated' @::@ 'Maybe' 'Bool'+--+-- * 'lefprMarker' @::@ 'Maybe' 'Text'+--+-- * 'lefprPolicyGroups' @::@ ['PolicyGroup']+--+-- * 'lefprPolicyRoles' @::@ ['PolicyRole']+--+-- * 'lefprPolicyUsers' @::@ ['PolicyUser']+--+listEntitiesForPolicyResponse :: ListEntitiesForPolicyResponse+listEntitiesForPolicyResponse = ListEntitiesForPolicyResponse+ { _lefprPolicyGroups = mempty+ , _lefprPolicyUsers = mempty+ , _lefprPolicyRoles = mempty+ , _lefprIsTruncated = Nothing+ , _lefprMarker = Nothing+ }++-- | A flag that indicates whether there are more entities to list. If your+-- results were truncated, you can make a subsequent pagination request using+-- the 'Marker' request parameter to retrieve more entities in the list.+lefprIsTruncated :: Lens' ListEntitiesForPolicyResponse (Maybe Bool)+lefprIsTruncated = lens _lefprIsTruncated (\s a -> s { _lefprIsTruncated = a })++-- | If 'IsTruncated' is 'true', this element is present and contains the value to use+-- for the 'Marker' parameter in a subsequent pagination request.+lefprMarker :: Lens' ListEntitiesForPolicyResponse (Maybe Text)+lefprMarker = lens _lefprMarker (\s a -> s { _lefprMarker = a })++-- | A list of groups that the policy is attached to.+lefprPolicyGroups :: Lens' ListEntitiesForPolicyResponse [PolicyGroup]+lefprPolicyGroups =+ lens _lefprPolicyGroups (\s a -> s { _lefprPolicyGroups = a })+ . _List++-- | A list of roles that the policy is attached to.+lefprPolicyRoles :: Lens' ListEntitiesForPolicyResponse [PolicyRole]+lefprPolicyRoles = lens _lefprPolicyRoles (\s a -> s { _lefprPolicyRoles = a }) . _List++-- | A list of users that the policy is attached to.+lefprPolicyUsers :: Lens' ListEntitiesForPolicyResponse [PolicyUser]+lefprPolicyUsers = lens _lefprPolicyUsers (\s a -> s { _lefprPolicyUsers = a }) . _List++instance ToPath ListEntitiesForPolicy where+ toPath = const "/"++instance ToQuery ListEntitiesForPolicy where+ toQuery ListEntitiesForPolicy{..} = mconcat+ [ "EntityFilter" =? _lefpEntityFilter+ , "Marker" =? _lefpMarker+ , "MaxItems" =? _lefpMaxItems+ , "PathPrefix" =? _lefpPathPrefix+ , "PolicyArn" =? _lefpPolicyArn+ ]++instance ToHeaders ListEntitiesForPolicy++instance AWSRequest ListEntitiesForPolicy where+ type Sv ListEntitiesForPolicy = IAM+ type Rs ListEntitiesForPolicy = ListEntitiesForPolicyResponse++ request = post "ListEntitiesForPolicy"+ response = xmlResponse++instance FromXML ListEntitiesForPolicyResponse where+ parseXML = withElement "ListEntitiesForPolicyResult" $ \x -> ListEntitiesForPolicyResponse+ <$> x .@? "IsTruncated"+ <*> x .@? "Marker"+ <*> x .@? "PolicyGroups" .!@ mempty+ <*> x .@? "PolicyRoles" .!@ mempty+ <*> x .@? "PolicyUsers" .!@ mempty
gen/Network/AWS/IAM/ListGroupPolicies.hs view
@@ -22,10 +22,17 @@ -- -- Derived from AWS service descriptions, licensed under Apache 2.0. --- | Lists the names of the policies associated with the specified group. If--- there are none, the action returns an empty list.+-- | Lists the names of the inline policies that are embedded in the specified+-- group. ----- You can paginate the results using the 'MaxItems' and 'Marker' parameters.+-- A group can also have managed policies attached to it. To list the managed+-- policies that are attached to a group, use 'ListAttachedGroupPolicies'. For+-- more information about policies, refer to <http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html Managed Policies and Inline Policies>+-- in the /Using IAM/ guide.+--+-- You can paginate the results using the 'MaxItems' and 'Marker' parameters. If+-- there are no inline policies embedded with the specified group, the action+-- returns an empty list. -- -- <http://docs.aws.amazon.com/IAM/latest/APIReference/API_ListGroupPolicies.html> module Network.AWS.IAM.ListGroupPolicies
+ gen/Network/AWS/IAM/ListPolicies.hs view
@@ -0,0 +1,195 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.IAM.ListPolicies+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)+--+-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | Lists all the managed policies that are available to your account, including+-- your own customer managed policies and all AWS managed policies.+--+-- You can filter the list of policies that is returned using the optional 'OnlyAttached', 'Scope', and 'PathPrefix' parameters. For example, to list only the customer+-- managed policies in your AWS account, set 'Scope' to 'Local'. To list only AWS+-- managed policies, set 'Scope' to 'AWS'.+--+-- You can paginate the results using the 'MaxItems' and 'Marker' parameters.+--+-- For more information about managed policies, refer to <http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html Managed Policies andInline Policies> in the /Using IAM/ guide.+--+-- <http://docs.aws.amazon.com/IAM/latest/APIReference/API_ListPolicies.html>+module Network.AWS.IAM.ListPolicies+ (+ -- * Request+ ListPolicies+ -- ** Request constructor+ , listPolicies+ -- ** Request lenses+ , lpMarker+ , lpMaxItems+ , lpOnlyAttached+ , lpPathPrefix+ , lpScope++ -- * Response+ , ListPoliciesResponse+ -- ** Response constructor+ , listPoliciesResponse+ -- ** Response lenses+ , lprIsTruncated+ , lprMarker+ , lprPolicies+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.IAM.Types+import qualified GHC.Exts++data ListPolicies = ListPolicies+ { _lpMarker :: Maybe Text+ , _lpMaxItems :: Maybe Nat+ , _lpOnlyAttached :: Maybe Bool+ , _lpPathPrefix :: Maybe Text+ , _lpScope :: Maybe PolicyScopeType+ } deriving (Eq, Read, Show)++-- | 'ListPolicies' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'lpMarker' @::@ 'Maybe' 'Text'+--+-- * 'lpMaxItems' @::@ 'Maybe' 'Natural'+--+-- * 'lpOnlyAttached' @::@ 'Maybe' 'Bool'+--+-- * 'lpPathPrefix' @::@ 'Maybe' 'Text'+--+-- * 'lpScope' @::@ 'Maybe' 'PolicyScopeType'+--+listPolicies :: ListPolicies+listPolicies = ListPolicies+ { _lpScope = Nothing+ , _lpOnlyAttached = Nothing+ , _lpPathPrefix = Nothing+ , _lpMarker = Nothing+ , _lpMaxItems = Nothing+ }++-- | Use this parameter only when paginating results, and only in a subsequent+-- request after you've received a response where the results are truncated. Set+-- it to the value of the 'Marker' element in the response you just received.+lpMarker :: Lens' ListPolicies (Maybe Text)+lpMarker = lens _lpMarker (\s a -> s { _lpMarker = a })++-- | Use this parameter only when paginating results to indicate the maximum+-- number of policies you want in the response. If there are additional policies+-- 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.+lpMaxItems :: Lens' ListPolicies (Maybe Natural)+lpMaxItems = lens _lpMaxItems (\s a -> s { _lpMaxItems = a }) . mapping _Nat++-- | A flag to filter the results to only the attached policies.+--+-- When 'OnlyAttached' is 'true', the returned list contains only the policies that+-- are attached to a user, group, or role. When 'OnlyAttached' is 'false', or when+-- the parameter is not included, all policies are returned.+lpOnlyAttached :: Lens' ListPolicies (Maybe Bool)+lpOnlyAttached = lens _lpOnlyAttached (\s a -> s { _lpOnlyAttached = a })++-- | The path prefix for filtering the results. This parameter is optional. If it+-- is not included, it defaults to a slash (/), listing all policies.+lpPathPrefix :: Lens' ListPolicies (Maybe Text)+lpPathPrefix = lens _lpPathPrefix (\s a -> s { _lpPathPrefix = a })++-- | The scope to use for filtering the results.+--+-- To list only AWS managed policies, set 'Scope' to 'AWS'. To list only the+-- customer managed policies in your AWS account, set 'Scope' to 'Local'.+--+-- This parameter is optional. If it is not included, or if it is set to 'All',+-- all policies are returned.+lpScope :: Lens' ListPolicies (Maybe PolicyScopeType)+lpScope = lens _lpScope (\s a -> s { _lpScope = a })++data ListPoliciesResponse = ListPoliciesResponse+ { _lprIsTruncated :: Maybe Bool+ , _lprMarker :: Maybe Text+ , _lprPolicies :: List "member" Policy+ } deriving (Eq, Read, Show)++-- | 'ListPoliciesResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'lprIsTruncated' @::@ 'Maybe' 'Bool'+--+-- * 'lprMarker' @::@ 'Maybe' 'Text'+--+-- * 'lprPolicies' @::@ ['Policy']+--+listPoliciesResponse :: ListPoliciesResponse+listPoliciesResponse = ListPoliciesResponse+ { _lprPolicies = mempty+ , _lprIsTruncated = Nothing+ , _lprMarker = Nothing+ }++-- | A flag that indicates whether there are more policies to list. If your+-- results were truncated, you can make a subsequent pagination request using+-- the 'Marker' request parameter to retrieve more policies in the list.+lprIsTruncated :: Lens' ListPoliciesResponse (Maybe Bool)+lprIsTruncated = lens _lprIsTruncated (\s a -> s { _lprIsTruncated = a })++-- | If 'IsTruncated' is 'true', this element is present and contains the value to use+-- for the 'Marker' parameter in a subsequent pagination request.+lprMarker :: Lens' ListPoliciesResponse (Maybe Text)+lprMarker = lens _lprMarker (\s a -> s { _lprMarker = a })++-- | A list of policies.+lprPolicies :: Lens' ListPoliciesResponse [Policy]+lprPolicies = lens _lprPolicies (\s a -> s { _lprPolicies = a }) . _List++instance ToPath ListPolicies where+ toPath = const "/"++instance ToQuery ListPolicies where+ toQuery ListPolicies{..} = mconcat+ [ "Marker" =? _lpMarker+ , "MaxItems" =? _lpMaxItems+ , "OnlyAttached" =? _lpOnlyAttached+ , "PathPrefix" =? _lpPathPrefix+ , "Scope" =? _lpScope+ ]++instance ToHeaders ListPolicies++instance AWSRequest ListPolicies where+ type Sv ListPolicies = IAM+ type Rs ListPolicies = ListPoliciesResponse++ request = post "ListPolicies"+ response = xmlResponse++instance FromXML ListPoliciesResponse where+ parseXML = withElement "ListPoliciesResult" $ \x -> ListPoliciesResponse+ <$> x .@? "IsTruncated"+ <*> x .@? "Marker"+ <*> x .@? "Policies" .!@ mempty
+ gen/Network/AWS/IAM/ListPolicyVersions.hs view
@@ -0,0 +1,161 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.IAM.ListPolicyVersions+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)+--+-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | Lists information about the versions of the specified managed policy,+-- including the version that is set as the policy's default version.+--+-- For more information about managed policies, refer to <http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html Managed Policies andInline Policies> in the /Using IAM/ guide.+--+-- <http://docs.aws.amazon.com/IAM/latest/APIReference/API_ListPolicyVersions.html>+module Network.AWS.IAM.ListPolicyVersions+ (+ -- * Request+ ListPolicyVersions+ -- ** Request constructor+ , listPolicyVersions+ -- ** Request lenses+ , lpvMarker+ , lpvMaxItems+ , lpvPolicyArn++ -- * Response+ , ListPolicyVersionsResponse+ -- ** Response constructor+ , listPolicyVersionsResponse+ -- ** Response lenses+ , lpvrIsTruncated+ , lpvrMarker+ , lpvrVersions+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.IAM.Types+import qualified GHC.Exts++data ListPolicyVersions = ListPolicyVersions+ { _lpvMarker :: Maybe Text+ , _lpvMaxItems :: Maybe Nat+ , _lpvPolicyArn :: Text+ } deriving (Eq, Ord, Read, Show)++-- | 'ListPolicyVersions' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'lpvMarker' @::@ 'Maybe' 'Text'+--+-- * 'lpvMaxItems' @::@ 'Maybe' 'Natural'+--+-- * 'lpvPolicyArn' @::@ 'Text'+--+listPolicyVersions :: Text -- ^ 'lpvPolicyArn'+ -> ListPolicyVersions+listPolicyVersions p1 = ListPolicyVersions+ { _lpvPolicyArn = p1+ , _lpvMarker = Nothing+ , _lpvMaxItems = Nothing+ }++-- | Use this parameter only when paginating results, and only in a subsequent+-- request after you've received a response where the results are truncated. Set+-- it to the value of the 'Marker' element in the response you just received.+lpvMarker :: Lens' ListPolicyVersions (Maybe Text)+lpvMarker = lens _lpvMarker (\s a -> s { _lpvMarker = a })++-- | Use this parameter only when paginating results to indicate the maximum+-- number of policy versions you want in the response. If there are additional+-- policy versions 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.+lpvMaxItems :: Lens' ListPolicyVersions (Maybe Natural)+lpvMaxItems = lens _lpvMaxItems (\s a -> s { _lpvMaxItems = a }) . mapping _Nat++lpvPolicyArn :: Lens' ListPolicyVersions Text+lpvPolicyArn = lens _lpvPolicyArn (\s a -> s { _lpvPolicyArn = a })++data ListPolicyVersionsResponse = ListPolicyVersionsResponse+ { _lpvrIsTruncated :: Maybe Bool+ , _lpvrMarker :: Maybe Text+ , _lpvrVersions :: List "member" PolicyVersion+ } deriving (Eq, Read, Show)++-- | 'ListPolicyVersionsResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'lpvrIsTruncated' @::@ 'Maybe' 'Bool'+--+-- * 'lpvrMarker' @::@ 'Maybe' 'Text'+--+-- * 'lpvrVersions' @::@ ['PolicyVersion']+--+listPolicyVersionsResponse :: ListPolicyVersionsResponse+listPolicyVersionsResponse = ListPolicyVersionsResponse+ { _lpvrVersions = mempty+ , _lpvrIsTruncated = Nothing+ , _lpvrMarker = Nothing+ }++-- | A flag that indicates whether there are more policy versions to list. If your+-- results were truncated, you can make a subsequent pagination request using+-- the 'Marker' request parameter to retrieve more policy versions in the list.+lpvrIsTruncated :: Lens' ListPolicyVersionsResponse (Maybe Bool)+lpvrIsTruncated = lens _lpvrIsTruncated (\s a -> s { _lpvrIsTruncated = a })++-- | If 'IsTruncated' is 'true', this element is present and contains the value to use+-- for the 'Marker' parameter in a subsequent pagination request.+lpvrMarker :: Lens' ListPolicyVersionsResponse (Maybe Text)+lpvrMarker = lens _lpvrMarker (\s a -> s { _lpvrMarker = a })++-- | A list of policy versions.+--+-- For more information about managed policy versions, see <http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html Versioning forManaged Policies> in the /Using IAM/ guide.+lpvrVersions :: Lens' ListPolicyVersionsResponse [PolicyVersion]+lpvrVersions = lens _lpvrVersions (\s a -> s { _lpvrVersions = a }) . _List++instance ToPath ListPolicyVersions where+ toPath = const "/"++instance ToQuery ListPolicyVersions where+ toQuery ListPolicyVersions{..} = mconcat+ [ "Marker" =? _lpvMarker+ , "MaxItems" =? _lpvMaxItems+ , "PolicyArn" =? _lpvPolicyArn+ ]++instance ToHeaders ListPolicyVersions++instance AWSRequest ListPolicyVersions where+ type Sv ListPolicyVersions = IAM+ type Rs ListPolicyVersions = ListPolicyVersionsResponse++ request = post "ListPolicyVersions"+ response = xmlResponse++instance FromXML ListPolicyVersionsResponse where+ parseXML = withElement "ListPolicyVersionsResult" $ \x -> ListPolicyVersionsResponse+ <$> x .@? "IsTruncated"+ <*> x .@? "Marker"+ <*> x .@? "Versions" .!@ mempty
gen/Network/AWS/IAM/ListRolePolicies.hs view
@@ -22,10 +22,17 @@ -- -- Derived from AWS service descriptions, licensed under Apache 2.0. --- | Lists the names of the policies associated with the specified role. If there--- are none, the action returns an empty list.+-- | Lists the names of the inline policies that are embedded in the specified+-- role. ----- You can paginate the results using the 'MaxItems' and 'Marker' parameters.+-- A role can also have managed policies attached to it. To list the managed+-- policies that are attached to a role, use 'ListAttachedRolePolicies'. For more+-- information about policies, refer to <http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html Managed Policies and Inline Policies> in+-- the /Using IAM/ guide.+--+-- You can paginate the results using the 'MaxItems' and 'Marker' parameters. If+-- there are no inline policies embedded with the specified role, the action+-- returns an empty list. -- -- <http://docs.aws.amazon.com/IAM/latest/APIReference/API_ListRolePolicies.html> module Network.AWS.IAM.ListRolePolicies
gen/Network/AWS/IAM/ListUserPolicies.hs view
@@ -22,10 +22,16 @@ -- -- Derived from AWS service descriptions, licensed under Apache 2.0. --- | Lists the names of the policies associated with the specified user. If there--- are none, the action returns an empty list.+-- | Lists the names of the inline policies embedded in the specified user. ----- You can paginate the results using the 'MaxItems' and 'Marker' parameters.+-- A user can also have managed policies attached to it. To list the managed+-- policies that are attached to a user, use 'ListAttachedUserPolicies'. For more+-- information about policies, refer to <http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html Managed Policies and Inline Policies> in+-- the /Using IAM/ guide.+--+-- You can paginate the results using the 'MaxItems' and 'Marker' parameters. If+-- there are no inline policies embedded with the specified user, the action+-- returns an empty list. -- -- <http://docs.aws.amazon.com/IAM/latest/APIReference/API_ListUserPolicies.html> module Network.AWS.IAM.ListUserPolicies
gen/Network/AWS/IAM/PutGroupPolicy.hs view
@@ -22,17 +22,18 @@ -- -- Derived from AWS service descriptions, licensed under Apache 2.0. --- | Adds (or updates) a policy document associated with the specified group. For--- information about policies, refer to <http://docs.aws.amazon.com/IAM/latest/UserGuide/PoliciesOverview.html Overview of Policies> in the /Using IAM/--- guide.+-- | Adds (or updates) an inline policy document that is embedded in the specified+-- group. ----- For information about limits on the number of policies you can associate--- with a group, see <http://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html Limitations on IAM Entities> in the /Using IAM/ guide.+-- A user can also have managed policies attached to it. To attach a managed+-- policy to a group, use 'AttachGroupPolicy'. To create a new managed policy, use 'CreatePolicy'. For information about policies, refer to <http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html Managed Policies andInline Policies> in the /Using IAM/ guide. --+-- For information about limits on the number of inline policies that you can+-- embed in a group, see <http://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html Limitations on IAM Entities> in the /Using IAM/ guide.+-- -- Because policy documents can be large, you should use POST rather than GET--- when calling 'PutGroupPolicy'. For information about setting up signatures and--- authorization through the API, go to <http://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html Signing AWS API Requests> in the /AWSGeneral Reference/. For general information about using the Query API with--- IAM, go to <http://docs.aws.amazon.com/IAM/latest/UserGuide/IAM_UsingQueryAPI.html Making Query Requests> in the /Using IAM/ guide.+-- when calling 'PutGroupPolicy'. For general information about using the Query+-- API with IAM, go to <http://docs.aws.amazon.com/IAM/latest/UserGuide/IAM_UsingQueryAPI.html Making Query Requests> in the /Using IAM/ guide. -- -- <http://docs.aws.amazon.com/IAM/latest/APIReference/API_PutGroupPolicy.html> module Network.AWS.IAM.PutGroupPolicy
gen/Network/AWS/IAM/PutRolePolicy.hs view
@@ -22,17 +22,23 @@ -- -- Derived from AWS service descriptions, licensed under Apache 2.0. --- | Adds (or updates) a policy document associated with the specified role. For--- information about policies, go to <http://docs.aws.amazon.com/IAM/latest/UserGuide/PoliciesOverview.html Overview of Policies> in the /Using IAM/--- guide.+-- | Adds (or updates) an inline policy document that is embedded in the specified+-- role. ----- For information about limits on the policies you can associate with a role,--- see <http://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html Limitations on IAM Entities> in the /Using IAM/ guide.+-- When you embed an inline policy in a role, the inline policy is used as the+-- role's access (permissions) policy. The role's trust policy is created at the+-- same time as the role, using 'CreateRole'. You can update a role's trust policy+-- using 'UpdateAssumeRolePolicy'. For more information about roles, go to <http://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.html UsingRoles to Delegate Permissions and Federate Identities>. --+-- A role can also have a managed policy attached to it. To attach a managed+-- policy to a role, use 'AttachRolePolicy'. To create a new managed policy, use 'CreatePolicy'. For information about policies, refer to <http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html Managed Policies and InlinePolicies> in the /Using IAM/ guide.+--+-- For information about limits on the number of inline policies that you can+-- embed with a role, see <http://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html Limitations on IAM Entities> in the /Using IAM/ guide.+-- -- Because policy documents can be large, you should use POST rather than GET--- when calling 'PutRolePolicy'. For information about setting up signatures and--- authorization through the API, go to <http://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html Signing AWS API Requests> in the /AWSGeneral Reference/. For general information about using the Query API with--- IAM, go to <http://docs.aws.amazon.com/IAM/latest/UserGuide/IAM_UsingQueryAPI.html Making Query Requests> in the /Using IAM/ guide.+-- when calling 'PutRolePolicy'. For general information about using the Query API+-- with IAM, go to <http://docs.aws.amazon.com/IAM/latest/UserGuide/IAM_UsingQueryAPI.html Making Query Requests> in the /Using IAM/ guide. -- -- <http://docs.aws.amazon.com/IAM/latest/APIReference/API_PutRolePolicy.html> module Network.AWS.IAM.PutRolePolicy
gen/Network/AWS/IAM/PutUserPolicy.hs view
@@ -22,17 +22,18 @@ -- -- Derived from AWS service descriptions, licensed under Apache 2.0. --- | Adds (or updates) a policy document associated with the specified user. For--- information about policies, refer to <http://docs.aws.amazon.com/IAM/latest/UserGuide/PoliciesOverview.html Overview of Policies> in the /Using IAM/--- guide.+-- | Adds (or updates) an inline policy document that is embedded in the specified+-- user. ----- For information about limits on the number of policies you can associate--- with a user, see <http://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html Limitations on IAM Entities> in the /Using IAM/ guide.+-- A user can also have a managed policy attached to it. To attach a managed+-- policy to a user, use 'AttachUserPolicy'. To create a new managed policy, use 'CreatePolicy'. For information about policies, refer to <http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html Managed Policies and InlinePolicies> in the /Using IAM/ guide. --+-- For information about limits on the number of inline policies that you can+-- embed in a user, see <http://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html Limitations on IAM Entities> in the /Using IAM/ guide.+-- -- Because policy documents can be large, you should use POST rather than GET--- when calling 'PutUserPolicy'. For information about setting up signatures and--- authorization through the API, go to <http://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html Signing AWS API Requests> in the /AWSGeneral Reference/. For general information about using the Query API with--- IAM, go to <http://docs.aws.amazon.com/IAM/latest/UserGuide/IAM_UsingQueryAPI.html Making Query Requests> in the /Using IAM/ guide.+-- when calling 'PutUserPolicy'. For general information about using the Query API+-- with IAM, go to <http://docs.aws.amazon.com/IAM/latest/UserGuide/IAM_UsingQueryAPI.html Making Query Requests> in the /Using IAM/ guide. -- -- <http://docs.aws.amazon.com/IAM/latest/APIReference/API_PutUserPolicy.html> module Network.AWS.IAM.PutUserPolicy
+ gen/Network/AWS/IAM/SetDefaultPolicyVersion.hs view
@@ -0,0 +1,109 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.IAM.SetDefaultPolicyVersion+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)+--+-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | Sets the specified version of the specified policy as the policy's default+-- (operative) version.+--+-- This action affects all users, groups, and roles that the policy is attached+-- to. To list the users, groups, and roles that the policy is attached to, use+-- the 'ListEntitiesForPolicy' API.+--+-- For information about managed policies, refer to <http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html Managed Policies and InlinePolicies> in the /Using IAM/ guide.+--+-- <http://docs.aws.amazon.com/IAM/latest/APIReference/API_SetDefaultPolicyVersion.html>+module Network.AWS.IAM.SetDefaultPolicyVersion+ (+ -- * Request+ SetDefaultPolicyVersion+ -- ** Request constructor+ , setDefaultPolicyVersion+ -- ** Request lenses+ , sdpvPolicyArn+ , sdpvVersionId++ -- * Response+ , SetDefaultPolicyVersionResponse+ -- ** Response constructor+ , setDefaultPolicyVersionResponse+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.IAM.Types+import qualified GHC.Exts++data SetDefaultPolicyVersion = SetDefaultPolicyVersion+ { _sdpvPolicyArn :: Text+ , _sdpvVersionId :: Text+ } deriving (Eq, Ord, Read, Show)++-- | 'SetDefaultPolicyVersion' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'sdpvPolicyArn' @::@ 'Text'+--+-- * 'sdpvVersionId' @::@ 'Text'+--+setDefaultPolicyVersion :: Text -- ^ 'sdpvPolicyArn'+ -> Text -- ^ 'sdpvVersionId'+ -> SetDefaultPolicyVersion+setDefaultPolicyVersion p1 p2 = SetDefaultPolicyVersion+ { _sdpvPolicyArn = p1+ , _sdpvVersionId = p2+ }++sdpvPolicyArn :: Lens' SetDefaultPolicyVersion Text+sdpvPolicyArn = lens _sdpvPolicyArn (\s a -> s { _sdpvPolicyArn = a })++-- | The version of the policy to set as the default (operative) version.+--+-- For more information about managed policy versions, see <http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html Versioning forManaged Policies> in the /Using IAM/ guide.+sdpvVersionId :: Lens' SetDefaultPolicyVersion Text+sdpvVersionId = lens _sdpvVersionId (\s a -> s { _sdpvVersionId = a })++data SetDefaultPolicyVersionResponse = SetDefaultPolicyVersionResponse+ deriving (Eq, Ord, Read, Show, Generic)++-- | 'SetDefaultPolicyVersionResponse' constructor.+setDefaultPolicyVersionResponse :: SetDefaultPolicyVersionResponse+setDefaultPolicyVersionResponse = SetDefaultPolicyVersionResponse++instance ToPath SetDefaultPolicyVersion where+ toPath = const "/"++instance ToQuery SetDefaultPolicyVersion where+ toQuery SetDefaultPolicyVersion{..} = mconcat+ [ "PolicyArn" =? _sdpvPolicyArn+ , "VersionId" =? _sdpvVersionId+ ]++instance ToHeaders SetDefaultPolicyVersion++instance AWSRequest SetDefaultPolicyVersion where+ type Sv SetDefaultPolicyVersion = IAM+ type Rs SetDefaultPolicyVersion = SetDefaultPolicyVersionResponse++ request = post "SetDefaultPolicyVersion"+ response = nullResponse SetDefaultPolicyVersionResponse
gen/Network/AWS/IAM/Types.hs view
@@ -32,6 +32,11 @@ -- ** XML , ns + -- * PolicyRole+ , PolicyRole+ , policyRole+ , prRoleName+ -- * AssignmentStatusType , AssignmentStatusType (..) @@ -58,6 +63,12 @@ , gGroupName , gPath + -- * AttachedPolicy+ , AttachedPolicy+ , attachedPolicy+ , apPolicyArn+ , apPolicyName+ -- * MFADevice , MFADevice , mfadevice@@ -65,6 +76,14 @@ , mfadSerialNumber , mfadUserName + -- * PolicyVersion+ , PolicyVersion+ , policyVersion+ , pvCreateDate+ , pvDocument+ , pvIsDefaultVersion+ , pvVersionId+ -- * InstanceProfile , InstanceProfile , instanceProfile@@ -167,6 +186,14 @@ , rRoleId , rRoleName + -- * PolicyGroup+ , PolicyGroup+ , policyGroup+ , pgGroupName++ -- * PolicyScopeType+ , PolicyScopeType (..)+ -- * UserDetail , UserDetail , userDetail@@ -178,6 +205,20 @@ , udUserName , udUserPolicyList + -- * Policy+ , Policy+ , policy+ , pArn+ , pAttachmentCount+ , pCreateDate+ , pDefaultVersionId+ , pDescription+ , pIsAttachable+ , pPath+ , pPolicyId+ , pPolicyName+ , pUpdateDate+ -- * ServerCertificate , ServerCertificate , serverCertificate@@ -219,6 +260,11 @@ , akmCreateDate , akmStatus , akmUserName++ -- * PolicyUser+ , PolicyUser+ , policyUser+ , puUserName ) where import Network.AWS.Prelude@@ -271,6 +317,34 @@ ns = "https://iam.amazonaws.com/doc/2010-05-08/" {-# INLINE ns #-} +newtype PolicyRole = PolicyRole+ { _prRoleName :: Maybe Text+ } deriving (Eq, Ord, Read, Show, Monoid)++-- | 'PolicyRole' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'prRoleName' @::@ 'Maybe' 'Text'+--+policyRole :: PolicyRole+policyRole = PolicyRole+ { _prRoleName = Nothing+ }++-- | The name (friendly name, not ARN) identifying the role.+prRoleName :: Lens' PolicyRole (Maybe Text)+prRoleName = lens _prRoleName (\s a -> s { _prRoleName = a })++instance FromXML PolicyRole where+ parseXML x = PolicyRole+ <$> x .@? "RoleName"++instance ToQuery PolicyRole where+ toQuery PolicyRole{..} = mconcat+ [ "RoleName" =? _prRoleName+ ]+ data AssignmentStatusType = Any -- ^ Any | Assigned -- ^ Assigned@@ -509,6 +583,43 @@ , "Path" =? _gPath ] +data AttachedPolicy = AttachedPolicy+ { _apPolicyArn :: Maybe Text+ , _apPolicyName :: Maybe Text+ } deriving (Eq, Ord, Read, Show)++-- | 'AttachedPolicy' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'apPolicyArn' @::@ 'Maybe' 'Text'+--+-- * 'apPolicyName' @::@ 'Maybe' 'Text'+--+attachedPolicy :: AttachedPolicy+attachedPolicy = AttachedPolicy+ { _apPolicyName = Nothing+ , _apPolicyArn = Nothing+ }++apPolicyArn :: Lens' AttachedPolicy (Maybe Text)+apPolicyArn = lens _apPolicyArn (\s a -> s { _apPolicyArn = a })++-- | The friendly name of the attached policy.+apPolicyName :: Lens' AttachedPolicy (Maybe Text)+apPolicyName = lens _apPolicyName (\s a -> s { _apPolicyName = a })++instance FromXML AttachedPolicy where+ parseXML x = AttachedPolicy+ <$> x .@? "PolicyArn"+ <*> x .@? "PolicyName"++instance ToQuery AttachedPolicy where+ toQuery AttachedPolicy{..} = mconcat+ [ "PolicyArn" =? _apPolicyArn+ , "PolicyName" =? _apPolicyName+ ]+ data MFADevice = MFADevice { _mfadEnableDate :: ISO8601 , _mfadSerialNumber :: Text@@ -561,6 +672,73 @@ , "UserName" =? _mfadUserName ] +data PolicyVersion = PolicyVersion+ { _pvCreateDate :: Maybe ISO8601+ , _pvDocument :: Maybe Text+ , _pvIsDefaultVersion :: Maybe Bool+ , _pvVersionId :: Maybe Text+ } deriving (Eq, Ord, Read, Show)++-- | 'PolicyVersion' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'pvCreateDate' @::@ 'Maybe' 'UTCTime'+--+-- * 'pvDocument' @::@ 'Maybe' 'Text'+--+-- * 'pvIsDefaultVersion' @::@ 'Maybe' 'Bool'+--+-- * 'pvVersionId' @::@ 'Maybe' 'Text'+--+policyVersion :: PolicyVersion+policyVersion = PolicyVersion+ { _pvDocument = Nothing+ , _pvVersionId = Nothing+ , _pvIsDefaultVersion = Nothing+ , _pvCreateDate = Nothing+ }++-- | The date and time, in <http://www.iso.org/iso/iso8601 ISO 8601 date-time format>, when the policy version was+-- created.+pvCreateDate :: Lens' PolicyVersion (Maybe UTCTime)+pvCreateDate = lens _pvCreateDate (\s a -> s { _pvCreateDate = a }) . mapping _Time++-- | 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.+pvDocument :: Lens' PolicyVersion (Maybe Text)+pvDocument = lens _pvDocument (\s a -> s { _pvDocument = a })++-- | Specifies whether the policy version is set as the policy's default version.+pvIsDefaultVersion :: Lens' PolicyVersion (Maybe Bool)+pvIsDefaultVersion =+ lens _pvIsDefaultVersion (\s a -> s { _pvIsDefaultVersion = a })++-- | The identifier for the policy version.+--+-- Policy version identifiers always begin with 'v' (always lowercase). When a+-- policy is created, the first policy version is 'v1'.+pvVersionId :: Lens' PolicyVersion (Maybe Text)+pvVersionId = lens _pvVersionId (\s a -> s { _pvVersionId = a })++instance FromXML PolicyVersion where+ parseXML x = PolicyVersion+ <$> x .@? "CreateDate"+ <*> x .@? "Document"+ <*> x .@? "IsDefaultVersion"+ <*> x .@? "VersionId"++instance ToQuery PolicyVersion where+ toQuery PolicyVersion{..} = mconcat+ [ "CreateDate" =? _pvCreateDate+ , "Document" =? _pvDocument+ , "IsDefaultVersion" =? _pvIsDefaultVersion+ , "VersionId" =? _pvVersionId+ ]+ data InstanceProfile = InstanceProfile { _ipArn :: Text , _ipCreateDate :: ISO8601@@ -972,59 +1150,92 @@ parseXML = parseXMLText "EntityType" data SummaryKeyType- = AccessKeysPerUserQuota -- ^ AccessKeysPerUserQuota- | AccountMFAEnabled -- ^ AccountMFAEnabled- | GroupPolicySizeQuota -- ^ GroupPolicySizeQuota- | Groups -- ^ Groups- | GroupsPerUserQuota -- ^ GroupsPerUserQuota- | GroupsQuota -- ^ GroupsQuota- | MFADevices -- ^ MFADevices- | MFADevicesInUse -- ^ MFADevicesInUse- | ServerCertificates -- ^ ServerCertificates- | ServerCertificatesQuota -- ^ ServerCertificatesQuota- | SigningCertificatesPerUserQuota -- ^ SigningCertificatesPerUserQuota- | UserPolicySizeQuota -- ^ UserPolicySizeQuota- | Users -- ^ Users- | UsersQuota -- ^ UsersQuota+ = AccessKeysPerUserQuota -- ^ AccessKeysPerUserQuota+ | AccountAccessKeysPresent -- ^ AccountAccessKeysPresent+ | AccountMFAEnabled -- ^ AccountMFAEnabled+ | AccountSigningCertificatesPresent -- ^ AccountSigningCertificatesPresent+ | AttachedPoliciesPerGroupQuota -- ^ AttachedPoliciesPerGroupQuota+ | AttachedPoliciesPerRoleQuota -- ^ AttachedPoliciesPerRoleQuota+ | AttachedPoliciesPerUserQuota -- ^ AttachedPoliciesPerUserQuota+ | GroupPolicySizeQuota -- ^ GroupPolicySizeQuota+ | Groups -- ^ Groups+ | GroupsPerUserQuota -- ^ GroupsPerUserQuota+ | GroupsQuota -- ^ GroupsQuota+ | MFADevices -- ^ MFADevices+ | MFADevicesInUse -- ^ MFADevicesInUse+ | Policies -- ^ Policies+ | PoliciesQuota -- ^ PoliciesQuota+ | PolicySizeQuota -- ^ PolicySizeQuota+ | PolicyVersionsInUse -- ^ PolicyVersionsInUse+ | PolicyVersionsInUseQuota -- ^ PolicyVersionsInUseQuota+ | ServerCertificates -- ^ ServerCertificates+ | ServerCertificatesQuota -- ^ ServerCertificatesQuota+ | SigningCertificatesPerUserQuota -- ^ SigningCertificatesPerUserQuota+ | UserPolicySizeQuota -- ^ UserPolicySizeQuota+ | Users -- ^ Users+ | UsersQuota -- ^ UsersQuota+ | VersionsPerPolicyQuota -- ^ VersionsPerPolicyQuota deriving (Eq, Ord, Read, Show, Generic, Enum) instance Hashable SummaryKeyType instance FromText SummaryKeyType where parser = takeLowerText >>= \case- "accesskeysperuserquota" -> pure AccessKeysPerUserQuota- "accountmfaenabled" -> pure AccountMFAEnabled- "grouppolicysizequota" -> pure GroupPolicySizeQuota- "groups" -> pure Groups- "groupsperuserquota" -> pure GroupsPerUserQuota- "groupsquota" -> pure GroupsQuota- "mfadevices" -> pure MFADevices- "mfadevicesinuse" -> pure MFADevicesInUse- "servercertificates" -> pure ServerCertificates- "servercertificatesquota" -> pure ServerCertificatesQuota- "signingcertificatesperuserquota" -> pure SigningCertificatesPerUserQuota- "userpolicysizequota" -> pure UserPolicySizeQuota- "users" -> pure Users- "usersquota" -> pure UsersQuota- e -> fail $+ "accesskeysperuserquota" -> pure AccessKeysPerUserQuota+ "accountaccesskeyspresent" -> pure AccountAccessKeysPresent+ "accountmfaenabled" -> pure AccountMFAEnabled+ "accountsigningcertificatespresent" -> pure AccountSigningCertificatesPresent+ "attachedpoliciespergroupquota" -> pure AttachedPoliciesPerGroupQuota+ "attachedpoliciesperrolequota" -> pure AttachedPoliciesPerRoleQuota+ "attachedpoliciesperuserquota" -> pure AttachedPoliciesPerUserQuota+ "grouppolicysizequota" -> pure GroupPolicySizeQuota+ "groups" -> pure Groups+ "groupsperuserquota" -> pure GroupsPerUserQuota+ "groupsquota" -> pure GroupsQuota+ "mfadevices" -> pure MFADevices+ "mfadevicesinuse" -> pure MFADevicesInUse+ "policies" -> pure Policies+ "policiesquota" -> pure PoliciesQuota+ "policysizequota" -> pure PolicySizeQuota+ "policyversionsinuse" -> pure PolicyVersionsInUse+ "policyversionsinusequota" -> pure PolicyVersionsInUseQuota+ "servercertificates" -> pure ServerCertificates+ "servercertificatesquota" -> pure ServerCertificatesQuota+ "signingcertificatesperuserquota" -> pure SigningCertificatesPerUserQuota+ "userpolicysizequota" -> pure UserPolicySizeQuota+ "users" -> pure Users+ "usersquota" -> pure UsersQuota+ "versionsperpolicyquota" -> pure VersionsPerPolicyQuota+ e -> fail $ "Failure parsing SummaryKeyType from " ++ show e instance ToText SummaryKeyType where toText = \case- AccessKeysPerUserQuota -> "AccessKeysPerUserQuota"- AccountMFAEnabled -> "AccountMFAEnabled"- GroupPolicySizeQuota -> "GroupPolicySizeQuota"- Groups -> "Groups"- GroupsPerUserQuota -> "GroupsPerUserQuota"- GroupsQuota -> "GroupsQuota"- MFADevices -> "MFADevices"- MFADevicesInUse -> "MFADevicesInUse"- ServerCertificates -> "ServerCertificates"- ServerCertificatesQuota -> "ServerCertificatesQuota"- SigningCertificatesPerUserQuota -> "SigningCertificatesPerUserQuota"- UserPolicySizeQuota -> "UserPolicySizeQuota"- Users -> "Users"- UsersQuota -> "UsersQuota"+ AccessKeysPerUserQuota -> "AccessKeysPerUserQuota"+ AccountAccessKeysPresent -> "AccountAccessKeysPresent"+ AccountMFAEnabled -> "AccountMFAEnabled"+ AccountSigningCertificatesPresent -> "AccountSigningCertificatesPresent"+ AttachedPoliciesPerGroupQuota -> "AttachedPoliciesPerGroupQuota"+ AttachedPoliciesPerRoleQuota -> "AttachedPoliciesPerRoleQuota"+ AttachedPoliciesPerUserQuota -> "AttachedPoliciesPerUserQuota"+ GroupPolicySizeQuota -> "GroupPolicySizeQuota"+ Groups -> "Groups"+ GroupsPerUserQuota -> "GroupsPerUserQuota"+ GroupsQuota -> "GroupsQuota"+ MFADevices -> "MFADevices"+ MFADevicesInUse -> "MFADevicesInUse"+ Policies -> "Policies"+ PoliciesQuota -> "PoliciesQuota"+ PolicySizeQuota -> "PolicySizeQuota"+ PolicyVersionsInUse -> "PolicyVersionsInUse"+ PolicyVersionsInUseQuota -> "PolicyVersionsInUseQuota"+ ServerCertificates -> "ServerCertificates"+ ServerCertificatesQuota -> "ServerCertificatesQuota"+ SigningCertificatesPerUserQuota -> "SigningCertificatesPerUserQuota"+ UserPolicySizeQuota -> "UserPolicySizeQuota"+ Users -> "Users"+ UsersQuota -> "UsersQuota"+ VersionsPerPolicyQuota -> "VersionsPerPolicyQuota" instance ToByteString SummaryKeyType instance ToHeader SummaryKeyType@@ -1447,6 +1658,63 @@ , "RoleName" =? _rRoleName ] +newtype PolicyGroup = PolicyGroup+ { _pgGroupName :: Maybe Text+ } deriving (Eq, Ord, Read, Show, Monoid)++-- | 'PolicyGroup' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'pgGroupName' @::@ 'Maybe' 'Text'+--+policyGroup :: PolicyGroup+policyGroup = PolicyGroup+ { _pgGroupName = Nothing+ }++-- | The name (friendly name, not ARN) identifying the group.+pgGroupName :: Lens' PolicyGroup (Maybe Text)+pgGroupName = lens _pgGroupName (\s a -> s { _pgGroupName = a })++instance FromXML PolicyGroup where+ parseXML x = PolicyGroup+ <$> x .@? "GroupName"++instance ToQuery PolicyGroup where+ toQuery PolicyGroup{..} = mconcat+ [ "GroupName" =? _pgGroupName+ ]++data PolicyScopeType+ = All -- ^ All+ | Aws -- ^ AWS+ | Local -- ^ Local+ deriving (Eq, Ord, Read, Show, Generic, Enum)++instance Hashable PolicyScopeType++instance FromText PolicyScopeType where+ parser = takeLowerText >>= \case+ "all" -> pure All+ "aws" -> pure Aws+ "local" -> pure Local+ e -> fail $+ "Failure parsing PolicyScopeType from " ++ show e++instance ToText PolicyScopeType where+ toText = \case+ All -> "All"+ Aws -> "AWS"+ Local -> "Local"++instance ToByteString PolicyScopeType+instance ToHeader PolicyScopeType+instance ToQuery PolicyScopeType++instance FromXML PolicyScopeType where+ parseXML = parseXMLText "PolicyScopeType"+ data UserDetail = UserDetail { _udArn :: Maybe Text , _udCreateDate :: Maybe ISO8601@@ -1536,6 +1804,139 @@ , "UserPolicyList" =? _udUserPolicyList ] +data Policy = Policy+ { _pArn :: Maybe Text+ , _pAttachmentCount :: Maybe Int+ , _pCreateDate :: Maybe ISO8601+ , _pDefaultVersionId :: Maybe Text+ , _pDescription :: Maybe Text+ , _pIsAttachable :: Maybe Bool+ , _pPath :: Maybe Text+ , _pPolicyId :: Maybe Text+ , _pPolicyName :: Maybe Text+ , _pUpdateDate :: Maybe ISO8601+ } deriving (Eq, Ord, Read, Show)++-- | 'Policy' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'pArn' @::@ 'Maybe' 'Text'+--+-- * 'pAttachmentCount' @::@ 'Maybe' 'Int'+--+-- * 'pCreateDate' @::@ 'Maybe' 'UTCTime'+--+-- * 'pDefaultVersionId' @::@ 'Maybe' 'Text'+--+-- * 'pDescription' @::@ 'Maybe' 'Text'+--+-- * 'pIsAttachable' @::@ 'Maybe' 'Bool'+--+-- * 'pPath' @::@ 'Maybe' 'Text'+--+-- * 'pPolicyId' @::@ 'Maybe' 'Text'+--+-- * 'pPolicyName' @::@ 'Maybe' 'Text'+--+-- * 'pUpdateDate' @::@ 'Maybe' 'UTCTime'+--+policy :: Policy+policy = Policy+ { _pPolicyName = Nothing+ , _pPolicyId = Nothing+ , _pArn = Nothing+ , _pPath = Nothing+ , _pDefaultVersionId = Nothing+ , _pAttachmentCount = Nothing+ , _pIsAttachable = Nothing+ , _pDescription = Nothing+ , _pCreateDate = Nothing+ , _pUpdateDate = Nothing+ }++pArn :: Lens' Policy (Maybe Text)+pArn = lens _pArn (\s a -> s { _pArn = a })++-- | The number of entities (users, groups, and roles) that the policy is attached+-- to.+pAttachmentCount :: Lens' Policy (Maybe Int)+pAttachmentCount = lens _pAttachmentCount (\s a -> s { _pAttachmentCount = a })++-- | The date and time, in <http://www.iso.org/iso/iso8601 ISO 8601 date-time format>, when the policy was created.+pCreateDate :: Lens' Policy (Maybe UTCTime)+pCreateDate = lens _pCreateDate (\s a -> s { _pCreateDate = a }) . mapping _Time++-- | The identifier for the version of the policy that is set as the default+-- version.+pDefaultVersionId :: Lens' Policy (Maybe Text)+pDefaultVersionId =+ lens _pDefaultVersionId (\s a -> s { _pDefaultVersionId = a })++-- | A friendly description of the policy.+--+-- This element is included in the response to the 'GetPolicy' operation. It is+-- not included in the response to the 'ListPolicies' operation.+pDescription :: Lens' Policy (Maybe Text)+pDescription = lens _pDescription (\s a -> s { _pDescription = a })++-- | Specifies whether the policy can be attached to an IAM user, group, or role.+pIsAttachable :: Lens' Policy (Maybe Bool)+pIsAttachable = lens _pIsAttachable (\s a -> s { _pIsAttachable = 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.+pPath :: Lens' Policy (Maybe Text)+pPath = lens _pPath (\s a -> s { _pPath = 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.+pPolicyId :: Lens' Policy (Maybe Text)+pPolicyId = lens _pPolicyId (\s a -> s { _pPolicyId = a })++-- | The friendly name (not ARN) identifying the policy.+pPolicyName :: Lens' Policy (Maybe Text)+pPolicyName = lens _pPolicyName (\s a -> s { _pPolicyName = a })++-- | 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.+pUpdateDate :: Lens' Policy (Maybe UTCTime)+pUpdateDate = lens _pUpdateDate (\s a -> s { _pUpdateDate = a }) . mapping _Time++instance FromXML Policy where+ parseXML x = Policy+ <$> x .@? "Arn"+ <*> x .@? "AttachmentCount"+ <*> x .@? "CreateDate"+ <*> x .@? "DefaultVersionId"+ <*> x .@? "Description"+ <*> x .@? "IsAttachable"+ <*> x .@? "Path"+ <*> x .@? "PolicyId"+ <*> x .@? "PolicyName"+ <*> x .@? "UpdateDate"++instance ToQuery Policy where+ toQuery Policy{..} = mconcat+ [ "Arn" =? _pArn+ , "AttachmentCount" =? _pAttachmentCount+ , "CreateDate" =? _pCreateDate+ , "DefaultVersionId" =? _pDefaultVersionId+ , "Description" =? _pDescription+ , "IsAttachable" =? _pIsAttachable+ , "Path" =? _pPath+ , "PolicyId" =? _pPolicyId+ , "PolicyName" =? _pPolicyName+ , "UpdateDate" =? _pUpdateDate+ ]+ data ServerCertificate = ServerCertificate { _scCertificateBody :: Text , _scCertificateChain :: Maybe Text@@ -1868,4 +2269,32 @@ , "CreateDate" =? _akmCreateDate , "Status" =? _akmStatus , "UserName" =? _akmUserName+ ]++newtype PolicyUser = PolicyUser+ { _puUserName :: Maybe Text+ } deriving (Eq, Ord, Read, Show, Monoid)++-- | 'PolicyUser' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'puUserName' @::@ 'Maybe' 'Text'+--+policyUser :: PolicyUser+policyUser = PolicyUser+ { _puUserName = Nothing+ }++-- | The name (friendly name, not ARN) identifying the user.+puUserName :: Lens' PolicyUser (Maybe Text)+puUserName = lens _puUserName (\s a -> s { _puUserName = a })++instance FromXML PolicyUser where+ parseXML x = PolicyUser+ <$> x .@? "UserName"++instance ToQuery PolicyUser where+ toQuery PolicyUser{..} = mconcat+ [ "UserName" =? _puUserName ]
gen/Network/AWS/IAM/UpdateAssumeRolePolicy.hs view
@@ -23,7 +23,7 @@ -- Derived from AWS service descriptions, licensed under Apache 2.0. -- | Updates the policy that grants an entity permission to assume a role. For--- more information about roles, go to <http://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html Working with Roles>.+-- more information about roles, go to <http://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.html Using Roles to Delegate Permissions andFederate Identities>. -- -- <http://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateAssumeRolePolicy.html> module Network.AWS.IAM.UpdateAssumeRolePolicy