{-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE LambdaCase #-} {-# LANGUAGE OverloadedStrings #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-} -- Derived from AWS service descriptions, licensed under Apache 2.0. -- | -- Module : Network.AWS.IAM.Types.Sum -- Copyright : (c) 2013-2015 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- module Network.AWS.IAM.Types.Sum where import Network.AWS.Prelude data AssignmentStatusType = Any | Assigned | Unassigned deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic) instance FromText AssignmentStatusType where parser = takeLowerText >>= \case "any" -> pure Any "assigned" -> pure Assigned "unassigned" -> pure Unassigned e -> fromTextError $ "Failure parsing AssignmentStatusType from value: '" <> e <> "'. Accepted values: any, assigned, unassigned" instance ToText AssignmentStatusType where toText = \case Any -> "any" Assigned -> "assigned" Unassigned -> "unassigned" instance Hashable AssignmentStatusType instance ToByteString AssignmentStatusType instance ToQuery AssignmentStatusType instance ToHeader AssignmentStatusType data EncodingType = Pem | SSH deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic) instance FromText EncodingType where parser = takeLowerText >>= \case "pem" -> pure Pem "ssh" -> pure SSH e -> fromTextError $ "Failure parsing EncodingType from value: '" <> e <> "'. Accepted values: pem, ssh" instance ToText EncodingType where toText = \case Pem -> "pem" SSH -> "ssh" instance Hashable EncodingType instance ToByteString EncodingType instance ToQuery EncodingType instance ToHeader EncodingType data EntityType = AWSManagedPolicy | Group | LocalManagedPolicy | Role | User deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic) instance FromText EntityType where parser = takeLowerText >>= \case "awsmanagedpolicy" -> pure AWSManagedPolicy "group" -> pure Group "localmanagedpolicy" -> pure LocalManagedPolicy "role" -> pure Role "user" -> pure User e -> fromTextError $ "Failure parsing EntityType from value: '" <> e <> "'. Accepted values: awsmanagedpolicy, group, localmanagedpolicy, role, user" instance ToText EntityType where toText = \case AWSManagedPolicy -> "awsmanagedpolicy" Group -> "group" LocalManagedPolicy -> "localmanagedpolicy" Role -> "role" User -> "user" instance Hashable EntityType instance ToByteString EntityType instance ToQuery EntityType instance ToHeader EntityType data PolicyScopeType = AWS | All | Local deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic) instance FromText PolicyScopeType where parser = takeLowerText >>= \case "aws" -> pure AWS "all" -> pure All "local" -> pure Local e -> fromTextError $ "Failure parsing PolicyScopeType from value: '" <> e <> "'. Accepted values: aws, all, local" instance ToText PolicyScopeType where toText = \case AWS -> "aws" All -> "all" Local -> "local" instance Hashable PolicyScopeType instance ToByteString PolicyScopeType instance ToQuery PolicyScopeType instance ToHeader PolicyScopeType data ReportFormatType = TextCSV deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic) instance FromText ReportFormatType where parser = takeLowerText >>= \case "text/csv" -> pure TextCSV e -> fromTextError $ "Failure parsing ReportFormatType from value: '" <> e <> "'. Accepted values: text/csv" instance ToText ReportFormatType where toText = \case TextCSV -> "text/csv" instance Hashable ReportFormatType instance ToByteString ReportFormatType instance ToQuery ReportFormatType instance ToHeader ReportFormatType instance FromXML ReportFormatType where parseXML = parseXMLText "ReportFormatType" data ReportStateType = Complete | Inprogress | Started deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic) instance FromText ReportStateType where parser = takeLowerText >>= \case "complete" -> pure Complete "inprogress" -> pure Inprogress "started" -> pure Started e -> fromTextError $ "Failure parsing ReportStateType from value: '" <> e <> "'. Accepted values: complete, inprogress, started" instance ToText ReportStateType where toText = \case Complete -> "complete" Inprogress -> "inprogress" Started -> "started" instance Hashable ReportStateType instance ToByteString ReportStateType instance ToQuery ReportStateType instance ToHeader ReportStateType instance FromXML ReportStateType where parseXML = parseXMLText "ReportStateType" data StatusType = Active | Inactive deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic) instance FromText StatusType where parser = takeLowerText >>= \case "active" -> pure Active "inactive" -> pure Inactive e -> fromTextError $ "Failure parsing StatusType from value: '" <> e <> "'. Accepted values: active, inactive" instance ToText StatusType where toText = \case Active -> "active" Inactive -> "inactive" instance Hashable StatusType instance ToByteString StatusType instance ToQuery StatusType instance ToHeader StatusType instance FromXML StatusType where parseXML = parseXMLText "StatusType" data SummaryKeyType = AccessKeysPerUserQuota | AccountAccessKeysPresent | AccountMFAEnabled | AccountSigningCertificatesPresent | AttachedPoliciesPerGroupQuota | AttachedPoliciesPerRoleQuota | AttachedPoliciesPerUserQuota | GroupPolicySizeQuota | Groups | GroupsPerUserQuota | GroupsQuota | MFADevices | MFADevicesInUse | Policies | PoliciesQuota | PolicySizeQuota | PolicyVersionsInUse | PolicyVersionsInUseQuota | ServerCertificates | ServerCertificatesQuota | SigningCertificatesPerUserQuota | UserPolicySizeQuota | Users | UsersQuota | VersionsPerPolicyQuota deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic) instance FromText SummaryKeyType where parser = takeLowerText >>= \case "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 -> fromTextError $ "Failure parsing SummaryKeyType from value: '" <> e <> "'. Accepted values: accesskeysperuserquota, accountaccesskeyspresent, accountmfaenabled, accountsigningcertificatespresent, attachedpoliciespergroupquota, attachedpoliciesperrolequota, attachedpoliciesperuserquota, grouppolicysizequota, groups, groupsperuserquota, groupsquota, mfadevices, mfadevicesinuse, policies, policiesquota, policysizequota, policyversionsinuse, policyversionsinusequota, servercertificates, servercertificatesquota, signingcertificatesperuserquota, userpolicysizequota, users, usersquota, versionsperpolicyquota" instance ToText SummaryKeyType where toText = \case 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 Hashable SummaryKeyType instance ToByteString SummaryKeyType instance ToQuery SummaryKeyType instance ToHeader SummaryKeyType instance FromXML SummaryKeyType where parseXML = parseXMLText "SummaryKeyType"