{-# 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 ContextKeyTypeEnum = Binary | BinaryList | Boolean | BooleanList | Date | DateList | IP | IPList | Numeric | NumericList | String | StringList deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic) instance FromText ContextKeyTypeEnum where parser = takeLowerText >>= \case "binary" -> pure Binary "binarylist" -> pure BinaryList "boolean" -> pure Boolean "booleanlist" -> pure BooleanList "date" -> pure Date "datelist" -> pure DateList "ip" -> pure IP "iplist" -> pure IPList "numeric" -> pure Numeric "numericlist" -> pure NumericList "string" -> pure String "stringlist" -> pure StringList e -> fromTextError $ "Failure parsing ContextKeyTypeEnum from value: '" <> e <> "'. Accepted values: binary, binaryList, boolean, booleanList, date, dateList, ip, ipList, numeric, numericList, string, stringList" instance ToText ContextKeyTypeEnum where toText = \case Binary -> "binary" BinaryList -> "binaryList" Boolean -> "boolean" BooleanList -> "booleanList" Date -> "date" DateList -> "dateList" IP -> "ip" IPList -> "ipList" Numeric -> "numeric" NumericList -> "numericList" String -> "string" StringList -> "stringList" instance Hashable ContextKeyTypeEnum instance ToByteString ContextKeyTypeEnum instance ToQuery ContextKeyTypeEnum instance ToHeader ContextKeyTypeEnum 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 = ETAWSManagedPolicy | ETGroup | ETLocalManagedPolicy | ETRole | ETUser deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic) instance FromText EntityType where parser = takeLowerText >>= \case "awsmanagedpolicy" -> pure ETAWSManagedPolicy "group" -> pure ETGroup "localmanagedpolicy" -> pure ETLocalManagedPolicy "role" -> pure ETRole "user" -> pure ETUser e -> fromTextError $ "Failure parsing EntityType from value: '" <> e <> "'. Accepted values: AWSManagedPolicy, Group, LocalManagedPolicy, Role, User" instance ToText EntityType where toText = \case ETAWSManagedPolicy -> "AWSManagedPolicy" ETGroup -> "Group" ETLocalManagedPolicy -> "LocalManagedPolicy" ETRole -> "Role" ETUser -> "User" instance Hashable EntityType instance ToByteString EntityType instance ToQuery EntityType instance ToHeader EntityType data PolicyEvaluationDecisionType = Allowed | ExplicitDeny | ImplicitDeny deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic) instance FromText PolicyEvaluationDecisionType where parser = takeLowerText >>= \case "allowed" -> pure Allowed "explicitdeny" -> pure ExplicitDeny "implicitdeny" -> pure ImplicitDeny e -> fromTextError $ "Failure parsing PolicyEvaluationDecisionType from value: '" <> e <> "'. Accepted values: allowed, explicitDeny, implicitDeny" instance ToText PolicyEvaluationDecisionType where toText = \case Allowed -> "allowed" ExplicitDeny -> "explicitDeny" ImplicitDeny -> "implicitDeny" instance Hashable PolicyEvaluationDecisionType instance ToByteString PolicyEvaluationDecisionType instance ToQuery PolicyEvaluationDecisionType instance ToHeader PolicyEvaluationDecisionType instance FromXML PolicyEvaluationDecisionType where parseXML = parseXMLText "PolicyEvaluationDecisionType" 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 PolicySourceType = AWSManaged | Group | None | Resource | Role | User | UserManaged deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic) instance FromText PolicySourceType where parser = takeLowerText >>= \case "aws-managed" -> pure AWSManaged "group" -> pure Group "none" -> pure None "resource" -> pure Resource "role" -> pure Role "user" -> pure User "user-managed" -> pure UserManaged e -> fromTextError $ "Failure parsing PolicySourceType from value: '" <> e <> "'. Accepted values: aws-managed, group, none, resource, role, user, user-managed" instance ToText PolicySourceType where toText = \case AWSManaged -> "aws-managed" Group -> "group" None -> "none" Resource -> "resource" Role -> "role" User -> "user" UserManaged -> "user-managed" instance Hashable PolicySourceType instance ToByteString PolicySourceType instance ToQuery PolicySourceType instance ToHeader PolicySourceType instance FromXML PolicySourceType where parseXML = parseXMLText "PolicySourceType" 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"