{-# 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-2018 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, Bounded, 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 NFData 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, Bounded, 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 NFData ContextKeyTypeEnum instance ToByteString ContextKeyTypeEnum instance ToQuery ContextKeyTypeEnum instance ToHeader ContextKeyTypeEnum data DeletionTaskStatusType = Failed | InProgress | NotStarted | Succeeded deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText DeletionTaskStatusType where parser = takeLowerText >>= \case "failed" -> pure Failed "in_progress" -> pure InProgress "not_started" -> pure NotStarted "succeeded" -> pure Succeeded e -> fromTextError $ "Failure parsing DeletionTaskStatusType from value: '" <> e <> "'. Accepted values: failed, in_progress, not_started, succeeded" instance ToText DeletionTaskStatusType where toText = \case Failed -> "FAILED" InProgress -> "IN_PROGRESS" NotStarted -> "NOT_STARTED" Succeeded -> "SUCCEEDED" instance Hashable DeletionTaskStatusType instance NFData DeletionTaskStatusType instance ToByteString DeletionTaskStatusType instance ToQuery DeletionTaskStatusType instance ToHeader DeletionTaskStatusType instance FromXML DeletionTaskStatusType where parseXML = parseXMLText "DeletionTaskStatusType" data EncodingType = Pem | SSH deriving (Eq, Ord, Read, Show, Enum, Bounded, 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 NFData EncodingType instance ToByteString EncodingType instance ToQuery EncodingType instance ToHeader EncodingType data EntityType = ETAWSManagedPolicy | ETGroup | ETLocalManagedPolicy | ETRole | ETUser deriving (Eq, Ord, Read, Show, Enum, Bounded, 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 NFData EntityType instance ToByteString EntityType instance ToQuery EntityType instance ToHeader EntityType data PolicyEvaluationDecisionType = Allowed | ExplicitDeny | ImplicitDeny deriving (Eq, Ord, Read, Show, Enum, Bounded, 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 NFData 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, Bounded, 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 NFData 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, Bounded, 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 NFData 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, Bounded, 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 NFData ReportFormatType instance ToByteString ReportFormatType instance ToQuery ReportFormatType instance ToHeader ReportFormatType instance FromXML ReportFormatType where parseXML = parseXMLText "ReportFormatType" data ReportStateType = RSTComplete | RSTInprogress | RSTStarted deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText ReportStateType where parser = takeLowerText >>= \case "complete" -> pure RSTComplete "inprogress" -> pure RSTInprogress "started" -> pure RSTStarted e -> fromTextError $ "Failure parsing ReportStateType from value: '" <> e <> "'. Accepted values: complete, inprogress, started" instance ToText ReportStateType where toText = \case RSTComplete -> "COMPLETE" RSTInprogress -> "INPROGRESS" RSTStarted -> "STARTED" instance Hashable ReportStateType instance NFData 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, Bounded, 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 NFData 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, Bounded, 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 NFData SummaryKeyType instance ToByteString SummaryKeyType instance ToQuery SummaryKeyType instance ToHeader SummaryKeyType instance FromXML SummaryKeyType where parseXML = parseXMLText "SummaryKeyType"