{-# 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.WorkDocs.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.WorkDocs.Types.Sum where import Network.AWS.Prelude data ActivityType = DocumentAnnotationAdded | DocumentAnnotationDeleted | DocumentCheckedIn | DocumentCheckedOut | DocumentCommentAdded | DocumentCommentDeleted | DocumentMoved | DocumentRecycled | DocumentRenamed | DocumentRestored | DocumentReverted | DocumentSharePermissionChanged | DocumentShareableLinkCreated | DocumentShareableLinkPermissionChanged | DocumentShareableLinkRemoved | DocumentShared | DocumentUnshared | DocumentVersionDeleted | DocumentVersionUploaded | FolderCreated | FolderDeleted | FolderMoved | FolderRecycled | FolderRenamed | FolderRestored | FolderSharePermissionChanged | FolderShareableLinkCreated | FolderShareableLinkPermissionChanged | FolderShareableLinkRemoved | FolderShared | FolderUnshared deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText ActivityType where parser = takeLowerText >>= \case "document_annotation_added" -> pure DocumentAnnotationAdded "document_annotation_deleted" -> pure DocumentAnnotationDeleted "document_checked_in" -> pure DocumentCheckedIn "document_checked_out" -> pure DocumentCheckedOut "document_comment_added" -> pure DocumentCommentAdded "document_comment_deleted" -> pure DocumentCommentDeleted "document_moved" -> pure DocumentMoved "document_recycled" -> pure DocumentRecycled "document_renamed" -> pure DocumentRenamed "document_restored" -> pure DocumentRestored "document_reverted" -> pure DocumentReverted "document_share_permission_changed" -> pure DocumentSharePermissionChanged "document_shareable_link_created" -> pure DocumentShareableLinkCreated "document_shareable_link_permission_changed" -> pure DocumentShareableLinkPermissionChanged "document_shareable_link_removed" -> pure DocumentShareableLinkRemoved "document_shared" -> pure DocumentShared "document_unshared" -> pure DocumentUnshared "document_version_deleted" -> pure DocumentVersionDeleted "document_version_uploaded" -> pure DocumentVersionUploaded "folder_created" -> pure FolderCreated "folder_deleted" -> pure FolderDeleted "folder_moved" -> pure FolderMoved "folder_recycled" -> pure FolderRecycled "folder_renamed" -> pure FolderRenamed "folder_restored" -> pure FolderRestored "folder_share_permission_changed" -> pure FolderSharePermissionChanged "folder_shareable_link_created" -> pure FolderShareableLinkCreated "folder_shareable_link_permission_changed" -> pure FolderShareableLinkPermissionChanged "folder_shareable_link_removed" -> pure FolderShareableLinkRemoved "folder_shared" -> pure FolderShared "folder_unshared" -> pure FolderUnshared e -> fromTextError $ "Failure parsing ActivityType from value: '" <> e <> "'. Accepted values: document_annotation_added, document_annotation_deleted, document_checked_in, document_checked_out, document_comment_added, document_comment_deleted, document_moved, document_recycled, document_renamed, document_restored, document_reverted, document_share_permission_changed, document_shareable_link_created, document_shareable_link_permission_changed, document_shareable_link_removed, document_shared, document_unshared, document_version_deleted, document_version_uploaded, folder_created, folder_deleted, folder_moved, folder_recycled, folder_renamed, folder_restored, folder_share_permission_changed, folder_shareable_link_created, folder_shareable_link_permission_changed, folder_shareable_link_removed, folder_shared, folder_unshared" instance ToText ActivityType where toText = \case DocumentAnnotationAdded -> "DOCUMENT_ANNOTATION_ADDED" DocumentAnnotationDeleted -> "DOCUMENT_ANNOTATION_DELETED" DocumentCheckedIn -> "DOCUMENT_CHECKED_IN" DocumentCheckedOut -> "DOCUMENT_CHECKED_OUT" DocumentCommentAdded -> "DOCUMENT_COMMENT_ADDED" DocumentCommentDeleted -> "DOCUMENT_COMMENT_DELETED" DocumentMoved -> "DOCUMENT_MOVED" DocumentRecycled -> "DOCUMENT_RECYCLED" DocumentRenamed -> "DOCUMENT_RENAMED" DocumentRestored -> "DOCUMENT_RESTORED" DocumentReverted -> "DOCUMENT_REVERTED" DocumentSharePermissionChanged -> "DOCUMENT_SHARE_PERMISSION_CHANGED" DocumentShareableLinkCreated -> "DOCUMENT_SHAREABLE_LINK_CREATED" DocumentShareableLinkPermissionChanged -> "DOCUMENT_SHAREABLE_LINK_PERMISSION_CHANGED" DocumentShareableLinkRemoved -> "DOCUMENT_SHAREABLE_LINK_REMOVED" DocumentShared -> "DOCUMENT_SHARED" DocumentUnshared -> "DOCUMENT_UNSHARED" DocumentVersionDeleted -> "DOCUMENT_VERSION_DELETED" DocumentVersionUploaded -> "DOCUMENT_VERSION_UPLOADED" FolderCreated -> "FOLDER_CREATED" FolderDeleted -> "FOLDER_DELETED" FolderMoved -> "FOLDER_MOVED" FolderRecycled -> "FOLDER_RECYCLED" FolderRenamed -> "FOLDER_RENAMED" FolderRestored -> "FOLDER_RESTORED" FolderSharePermissionChanged -> "FOLDER_SHARE_PERMISSION_CHANGED" FolderShareableLinkCreated -> "FOLDER_SHAREABLE_LINK_CREATED" FolderShareableLinkPermissionChanged -> "FOLDER_SHAREABLE_LINK_PERMISSION_CHANGED" FolderShareableLinkRemoved -> "FOLDER_SHAREABLE_LINK_REMOVED" FolderShared -> "FOLDER_SHARED" FolderUnshared -> "FOLDER_UNSHARED" instance Hashable ActivityType instance NFData ActivityType instance ToByteString ActivityType instance ToQuery ActivityType instance ToHeader ActivityType instance FromJSON ActivityType where parseJSON = parseJSONText "ActivityType" data BooleanEnumType = False' | True' deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText BooleanEnumType where parser = takeLowerText >>= \case "false" -> pure False' "true" -> pure True' e -> fromTextError $ "Failure parsing BooleanEnumType from value: '" <> e <> "'. Accepted values: false, true" instance ToText BooleanEnumType where toText = \case False' -> "FALSE" True' -> "TRUE" instance Hashable BooleanEnumType instance NFData BooleanEnumType instance ToByteString BooleanEnumType instance ToQuery BooleanEnumType instance ToHeader BooleanEnumType instance ToJSON BooleanEnumType where toJSON = toJSONText data CommentStatusType = Deleted | Draft | Published deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText CommentStatusType where parser = takeLowerText >>= \case "deleted" -> pure Deleted "draft" -> pure Draft "published" -> pure Published e -> fromTextError $ "Failure parsing CommentStatusType from value: '" <> e <> "'. Accepted values: deleted, draft, published" instance ToText CommentStatusType where toText = \case Deleted -> "DELETED" Draft -> "DRAFT" Published -> "PUBLISHED" instance Hashable CommentStatusType instance NFData CommentStatusType instance ToByteString CommentStatusType instance ToQuery CommentStatusType instance ToHeader CommentStatusType instance FromJSON CommentStatusType where parseJSON = parseJSONText "CommentStatusType" data CommentVisibilityType = Private | Public deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText CommentVisibilityType where parser = takeLowerText >>= \case "private" -> pure Private "public" -> pure Public e -> fromTextError $ "Failure parsing CommentVisibilityType from value: '" <> e <> "'. Accepted values: private, public" instance ToText CommentVisibilityType where toText = \case Private -> "PRIVATE" Public -> "PUBLIC" instance Hashable CommentVisibilityType instance NFData CommentVisibilityType instance ToByteString CommentVisibilityType instance ToQuery CommentVisibilityType instance ToHeader CommentVisibilityType instance ToJSON CommentVisibilityType where toJSON = toJSONText instance FromJSON CommentVisibilityType where parseJSON = parseJSONText "CommentVisibilityType" data DocumentSourceType = Original | WithComments deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText DocumentSourceType where parser = takeLowerText >>= \case "original" -> pure Original "with_comments" -> pure WithComments e -> fromTextError $ "Failure parsing DocumentSourceType from value: '" <> e <> "'. Accepted values: original, with_comments" instance ToText DocumentSourceType where toText = \case Original -> "ORIGINAL" WithComments -> "WITH_COMMENTS" instance Hashable DocumentSourceType instance NFData DocumentSourceType instance ToByteString DocumentSourceType instance ToQuery DocumentSourceType instance ToHeader DocumentSourceType instance FromJSON DocumentSourceType where parseJSON = parseJSONText "DocumentSourceType" data DocumentStatusType = DSTActive | DSTInitialized deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText DocumentStatusType where parser = takeLowerText >>= \case "active" -> pure DSTActive "initialized" -> pure DSTInitialized e -> fromTextError $ "Failure parsing DocumentStatusType from value: '" <> e <> "'. Accepted values: active, initialized" instance ToText DocumentStatusType where toText = \case DSTActive -> "ACTIVE" DSTInitialized -> "INITIALIZED" instance Hashable DocumentStatusType instance NFData DocumentStatusType instance ToByteString DocumentStatusType instance ToQuery DocumentStatusType instance ToHeader DocumentStatusType instance FromJSON DocumentStatusType where parseJSON = parseJSONText "DocumentStatusType" data DocumentThumbnailType = Large | Small | SmallHq deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText DocumentThumbnailType where parser = takeLowerText >>= \case "large" -> pure Large "small" -> pure Small "small_hq" -> pure SmallHq e -> fromTextError $ "Failure parsing DocumentThumbnailType from value: '" <> e <> "'. Accepted values: large, small, small_hq" instance ToText DocumentThumbnailType where toText = \case Large -> "LARGE" Small -> "SMALL" SmallHq -> "SMALL_HQ" instance Hashable DocumentThumbnailType instance NFData DocumentThumbnailType instance ToByteString DocumentThumbnailType instance ToQuery DocumentThumbnailType instance ToHeader DocumentThumbnailType instance FromJSON DocumentThumbnailType where parseJSON = parseJSONText "DocumentThumbnailType" data DocumentVersionStatus = DVSActive deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText DocumentVersionStatus where parser = takeLowerText >>= \case "active" -> pure DVSActive e -> fromTextError $ "Failure parsing DocumentVersionStatus from value: '" <> e <> "'. Accepted values: active" instance ToText DocumentVersionStatus where toText = \case DVSActive -> "ACTIVE" instance Hashable DocumentVersionStatus instance NFData DocumentVersionStatus instance ToByteString DocumentVersionStatus instance ToQuery DocumentVersionStatus instance ToHeader DocumentVersionStatus instance ToJSON DocumentVersionStatus where toJSON = toJSONText data FolderContentType = FCTAll | FCTDocument | FCTFolder deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText FolderContentType where parser = takeLowerText >>= \case "all" -> pure FCTAll "document" -> pure FCTDocument "folder" -> pure FCTFolder e -> fromTextError $ "Failure parsing FolderContentType from value: '" <> e <> "'. Accepted values: all, document, folder" instance ToText FolderContentType where toText = \case FCTAll -> "ALL" FCTDocument -> "DOCUMENT" FCTFolder -> "FOLDER" instance Hashable FolderContentType instance NFData FolderContentType instance ToByteString FolderContentType instance ToQuery FolderContentType instance ToHeader FolderContentType instance ToJSON FolderContentType where toJSON = toJSONText data LocaleType = DE | Default | EN | ES | FR | JA | KO | PtBr | RU | ZhCn | ZhTw deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText LocaleType where parser = takeLowerText >>= \case "de" -> pure DE "default" -> pure Default "en" -> pure EN "es" -> pure ES "fr" -> pure FR "ja" -> pure JA "ko" -> pure KO "pt_br" -> pure PtBr "ru" -> pure RU "zh_cn" -> pure ZhCn "zh_tw" -> pure ZhTw e -> fromTextError $ "Failure parsing LocaleType from value: '" <> e <> "'. Accepted values: de, default, en, es, fr, ja, ko, pt_br, ru, zh_cn, zh_tw" instance ToText LocaleType where toText = \case DE -> "de" Default -> "default" EN -> "en" ES -> "es" FR -> "fr" JA -> "ja" KO -> "ko" PtBr -> "pt_BR" RU -> "ru" ZhCn -> "zh_CN" ZhTw -> "zh_TW" instance Hashable LocaleType instance NFData LocaleType instance ToByteString LocaleType instance ToQuery LocaleType instance ToHeader LocaleType instance ToJSON LocaleType where toJSON = toJSONText instance FromJSON LocaleType where parseJSON = parseJSONText "LocaleType" data OrderType = Ascending | Descending deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText OrderType where parser = takeLowerText >>= \case "ascending" -> pure Ascending "descending" -> pure Descending e -> fromTextError $ "Failure parsing OrderType from value: '" <> e <> "'. Accepted values: ascending, descending" instance ToText OrderType where toText = \case Ascending -> "ASCENDING" Descending -> "DESCENDING" instance Hashable OrderType instance NFData OrderType instance ToByteString OrderType instance ToQuery OrderType instance ToHeader OrderType instance ToJSON OrderType where toJSON = toJSONText data PrincipalType = Anonymous | Group | Invite | Organization | User deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText PrincipalType where parser = takeLowerText >>= \case "anonymous" -> pure Anonymous "group" -> pure Group "invite" -> pure Invite "organization" -> pure Organization "user" -> pure User e -> fromTextError $ "Failure parsing PrincipalType from value: '" <> e <> "'. Accepted values: anonymous, group, invite, organization, user" instance ToText PrincipalType where toText = \case Anonymous -> "ANONYMOUS" Group -> "GROUP" Invite -> "INVITE" Organization -> "ORGANIZATION" User -> "USER" instance Hashable PrincipalType instance NFData PrincipalType instance ToByteString PrincipalType instance ToQuery PrincipalType instance ToHeader PrincipalType instance ToJSON PrincipalType where toJSON = toJSONText instance FromJSON PrincipalType where parseJSON = parseJSONText "PrincipalType" data ResourceSortType = Date | Name deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText ResourceSortType where parser = takeLowerText >>= \case "date" -> pure Date "name" -> pure Name e -> fromTextError $ "Failure parsing ResourceSortType from value: '" <> e <> "'. Accepted values: date, name" instance ToText ResourceSortType where toText = \case Date -> "DATE" Name -> "NAME" instance Hashable ResourceSortType instance NFData ResourceSortType instance ToByteString ResourceSortType instance ToQuery ResourceSortType instance ToHeader ResourceSortType instance ToJSON ResourceSortType where toJSON = toJSONText data ResourceStateType = RSTActive | RSTRecycled | RSTRecycling | RSTRestoring deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText ResourceStateType where parser = takeLowerText >>= \case "active" -> pure RSTActive "recycled" -> pure RSTRecycled "recycling" -> pure RSTRecycling "restoring" -> pure RSTRestoring e -> fromTextError $ "Failure parsing ResourceStateType from value: '" <> e <> "'. Accepted values: active, recycled, recycling, restoring" instance ToText ResourceStateType where toText = \case RSTActive -> "ACTIVE" RSTRecycled -> "RECYCLED" RSTRecycling -> "RECYCLING" RSTRestoring -> "RESTORING" instance Hashable ResourceStateType instance NFData ResourceStateType instance ToByteString ResourceStateType instance ToQuery ResourceStateType instance ToHeader ResourceStateType instance ToJSON ResourceStateType where toJSON = toJSONText instance FromJSON ResourceStateType where parseJSON = parseJSONText "ResourceStateType" data ResourceType = Document | Folder deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText ResourceType where parser = takeLowerText >>= \case "document" -> pure Document "folder" -> pure Folder e -> fromTextError $ "Failure parsing ResourceType from value: '" <> e <> "'. Accepted values: document, folder" instance ToText ResourceType where toText = \case Document -> "DOCUMENT" Folder -> "FOLDER" instance Hashable ResourceType instance NFData ResourceType instance ToByteString ResourceType instance ToQuery ResourceType instance ToHeader ResourceType instance FromJSON ResourceType where parseJSON = parseJSONText "ResourceType" data RolePermissionType = Direct | Inherited deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText RolePermissionType where parser = takeLowerText >>= \case "direct" -> pure Direct "inherited" -> pure Inherited e -> fromTextError $ "Failure parsing RolePermissionType from value: '" <> e <> "'. Accepted values: direct, inherited" instance ToText RolePermissionType where toText = \case Direct -> "DIRECT" Inherited -> "INHERITED" instance Hashable RolePermissionType instance NFData RolePermissionType instance ToByteString RolePermissionType instance ToQuery RolePermissionType instance ToHeader RolePermissionType instance FromJSON RolePermissionType where parseJSON = parseJSONText "RolePermissionType" data RoleType = Contributor | Coowner | Owner | Viewer deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText RoleType where parser = takeLowerText >>= \case "contributor" -> pure Contributor "coowner" -> pure Coowner "owner" -> pure Owner "viewer" -> pure Viewer e -> fromTextError $ "Failure parsing RoleType from value: '" <> e <> "'. Accepted values: contributor, coowner, owner, viewer" instance ToText RoleType where toText = \case Contributor -> "CONTRIBUTOR" Coowner -> "COOWNER" Owner -> "OWNER" Viewer -> "VIEWER" instance Hashable RoleType instance NFData RoleType instance ToByteString RoleType instance ToQuery RoleType instance ToHeader RoleType instance ToJSON RoleType where toJSON = toJSONText instance FromJSON RoleType where parseJSON = parseJSONText "RoleType" data ShareStatusType = Failure | Success deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText ShareStatusType where parser = takeLowerText >>= \case "failure" -> pure Failure "success" -> pure Success e -> fromTextError $ "Failure parsing ShareStatusType from value: '" <> e <> "'. Accepted values: failure, success" instance ToText ShareStatusType where toText = \case Failure -> "FAILURE" Success -> "SUCCESS" instance Hashable ShareStatusType instance NFData ShareStatusType instance ToByteString ShareStatusType instance ToQuery ShareStatusType instance ToHeader ShareStatusType instance FromJSON ShareStatusType where parseJSON = parseJSONText "ShareStatusType" data StorageType = Quota | Unlimited deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText StorageType where parser = takeLowerText >>= \case "quota" -> pure Quota "unlimited" -> pure Unlimited e -> fromTextError $ "Failure parsing StorageType from value: '" <> e <> "'. Accepted values: quota, unlimited" instance ToText StorageType where toText = \case Quota -> "QUOTA" Unlimited -> "UNLIMITED" instance Hashable StorageType instance NFData StorageType instance ToByteString StorageType instance ToQuery StorageType instance ToHeader StorageType instance ToJSON StorageType where toJSON = toJSONText instance FromJSON StorageType where parseJSON = parseJSONText "StorageType" data SubscriptionProtocolType = HTTPS deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText SubscriptionProtocolType where parser = takeLowerText >>= \case "https" -> pure HTTPS e -> fromTextError $ "Failure parsing SubscriptionProtocolType from value: '" <> e <> "'. Accepted values: https" instance ToText SubscriptionProtocolType where toText = \case HTTPS -> "HTTPS" instance Hashable SubscriptionProtocolType instance NFData SubscriptionProtocolType instance ToByteString SubscriptionProtocolType instance ToQuery SubscriptionProtocolType instance ToHeader SubscriptionProtocolType instance ToJSON SubscriptionProtocolType where toJSON = toJSONText instance FromJSON SubscriptionProtocolType where parseJSON = parseJSONText "SubscriptionProtocolType" data SubscriptionType = STAll deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText SubscriptionType where parser = takeLowerText >>= \case "all" -> pure STAll e -> fromTextError $ "Failure parsing SubscriptionType from value: '" <> e <> "'. Accepted values: all" instance ToText SubscriptionType where toText = \case STAll -> "ALL" instance Hashable SubscriptionType instance NFData SubscriptionType instance ToByteString SubscriptionType instance ToQuery SubscriptionType instance ToHeader SubscriptionType instance ToJSON SubscriptionType where toJSON = toJSONText data UserFilterType = ActivePending | All deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText UserFilterType where parser = takeLowerText >>= \case "active_pending" -> pure ActivePending "all" -> pure All e -> fromTextError $ "Failure parsing UserFilterType from value: '" <> e <> "'. Accepted values: active_pending, all" instance ToText UserFilterType where toText = \case ActivePending -> "ACTIVE_PENDING" All -> "ALL" instance Hashable UserFilterType instance NFData UserFilterType instance ToByteString UserFilterType instance ToQuery UserFilterType instance ToHeader UserFilterType instance ToJSON UserFilterType where toJSON = toJSONText data UserSortType = FullName | StorageLimit | StorageUsed | UserName | UserStatus deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText UserSortType where parser = takeLowerText >>= \case "full_name" -> pure FullName "storage_limit" -> pure StorageLimit "storage_used" -> pure StorageUsed "user_name" -> pure UserName "user_status" -> pure UserStatus e -> fromTextError $ "Failure parsing UserSortType from value: '" <> e <> "'. Accepted values: full_name, storage_limit, storage_used, user_name, user_status" instance ToText UserSortType where toText = \case FullName -> "FULL_NAME" StorageLimit -> "STORAGE_LIMIT" StorageUsed -> "STORAGE_USED" UserName -> "USER_NAME" UserStatus -> "USER_STATUS" instance Hashable UserSortType instance NFData UserSortType instance ToByteString UserSortType instance ToQuery UserSortType instance ToHeader UserSortType instance ToJSON UserSortType where toJSON = toJSONText data UserStatusType = Active | Inactive | Pending deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText UserStatusType where parser = takeLowerText >>= \case "active" -> pure Active "inactive" -> pure Inactive "pending" -> pure Pending e -> fromTextError $ "Failure parsing UserStatusType from value: '" <> e <> "'. Accepted values: active, inactive, pending" instance ToText UserStatusType where toText = \case Active -> "ACTIVE" Inactive -> "INACTIVE" Pending -> "PENDING" instance Hashable UserStatusType instance NFData UserStatusType instance ToByteString UserStatusType instance ToQuery UserStatusType instance ToHeader UserStatusType instance FromJSON UserStatusType where parseJSON = parseJSONText "UserStatusType" data UserType = UTAdmin | UTMinimaluser | UTPoweruser | UTUser | UTWorkspacesuser deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText UserType where parser = takeLowerText >>= \case "admin" -> pure UTAdmin "minimaluser" -> pure UTMinimaluser "poweruser" -> pure UTPoweruser "user" -> pure UTUser "workspacesuser" -> pure UTWorkspacesuser e -> fromTextError $ "Failure parsing UserType from value: '" <> e <> "'. Accepted values: admin, minimaluser, poweruser, user, workspacesuser" instance ToText UserType where toText = \case UTAdmin -> "ADMIN" UTMinimaluser -> "MINIMALUSER" UTPoweruser -> "POWERUSER" UTUser -> "USER" UTWorkspacesuser -> "WORKSPACESUSER" instance Hashable UserType instance NFData UserType instance ToByteString UserType instance ToQuery UserType instance ToHeader UserType instance ToJSON UserType where toJSON = toJSONText instance FromJSON UserType where parseJSON = parseJSONText "UserType"