{-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE LambdaCase #-} {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-} -- | -- Module : Network.Google.FirebaseDynamicLinks.Types.Sum -- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- module Network.Google.FirebaseDynamicLinks.Types.Sum where import Network.Google.Prelude hiding (Bytes) -- | Requested platform. data DynamicLinkEventStatPlatform = DynamicLinkPlatformUnspecified -- ^ @DYNAMIC_LINK_PLATFORM_UNSPECIFIED@ -- Unspecified platform. | Android -- ^ @ANDROID@ -- Represents Android platform. All apps and browsers on Android are -- classfied in this category. | Ios -- ^ @IOS@ -- Represents iOS platform. All apps and browsers on iOS are classfied in -- this category. | Desktop -- ^ @DESKTOP@ -- Represents desktop. | Other -- ^ @OTHER@ -- Platforms are not categorized as Android\/iOS\/Destop fall into here. deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic) instance Hashable DynamicLinkEventStatPlatform instance FromHttpApiData DynamicLinkEventStatPlatform where parseQueryParam = \case "DYNAMIC_LINK_PLATFORM_UNSPECIFIED" -> Right DynamicLinkPlatformUnspecified "ANDROID" -> Right Android "IOS" -> Right Ios "DESKTOP" -> Right Desktop "OTHER" -> Right Other x -> Left ("Unable to parse DynamicLinkEventStatPlatform from: " <> x) instance ToHttpApiData DynamicLinkEventStatPlatform where toQueryParam = \case DynamicLinkPlatformUnspecified -> "DYNAMIC_LINK_PLATFORM_UNSPECIFIED" Android -> "ANDROID" Ios -> "IOS" Desktop -> "DESKTOP" Other -> "OTHER" instance FromJSON DynamicLinkEventStatPlatform where parseJSON = parseJSONText "DynamicLinkEventStatPlatform" instance ToJSON DynamicLinkEventStatPlatform where toJSON = toJSONText -- | Strong match page information. Disambiguates between default UI and -- custom page to present when strong match succeeds\/fails to find cookie. data GetIosPostInstallAttributionRequestVisualStyle = UnknownVisualStyle -- ^ @UNKNOWN_VISUAL_STYLE@ -- Unknown style. | DefaultStyle -- ^ @DEFAULT_STYLE@ -- Default style. | CustomStyle -- ^ @CUSTOM_STYLE@ -- Custom style. deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic) instance Hashable GetIosPostInstallAttributionRequestVisualStyle instance FromHttpApiData GetIosPostInstallAttributionRequestVisualStyle where parseQueryParam = \case "UNKNOWN_VISUAL_STYLE" -> Right UnknownVisualStyle "DEFAULT_STYLE" -> Right DefaultStyle "CUSTOM_STYLE" -> Right CustomStyle x -> Left ("Unable to parse GetIosPostInstallAttributionRequestVisualStyle from: " <> x) instance ToHttpApiData GetIosPostInstallAttributionRequestVisualStyle where toQueryParam = \case UnknownVisualStyle -> "UNKNOWN_VISUAL_STYLE" DefaultStyle -> "DEFAULT_STYLE" CustomStyle -> "CUSTOM_STYLE" instance FromJSON GetIosPostInstallAttributionRequestVisualStyle where parseJSON = parseJSONText "GetIosPostInstallAttributionRequestVisualStyle" instance ToJSON GetIosPostInstallAttributionRequestVisualStyle where toJSON = toJSONText -- | Suffix option. data SuffixOption = OptionUnspecified -- ^ @OPTION_UNSPECIFIED@ -- The suffix option is not specified, performs as UNGUESSABLE . | Unguessable -- ^ @UNGUESSABLE@ -- Short Dynamic Link suffix is a base62 [0-9A-Za-z] encoded string of a -- random generated 96 bit random number, which has a length of 17 chars. -- For example, \"nlAR8U4SlKRZw1cb2\". It prevents other people from -- guessing and crawling short Dynamic Links that contain personal -- identifiable information. | Short -- ^ @SHORT@ -- Short Dynamic Link suffix is a base62 [0-9A-Za-z] string starting with a -- length of 4 chars. the length will increase when all the space is -- occupied. | Custom -- ^ @CUSTOM@ -- Custom DDL suffix is a client specified string, for example, -- \"buy2get1free\". NOTE: custom suffix should only be available to -- managed short link creation deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic) instance Hashable SuffixOption instance FromHttpApiData SuffixOption where parseQueryParam = \case "OPTION_UNSPECIFIED" -> Right OptionUnspecified "UNGUESSABLE" -> Right Unguessable "SHORT" -> Right Short "CUSTOM" -> Right Custom x -> Left ("Unable to parse SuffixOption from: " <> x) instance ToHttpApiData SuffixOption where toQueryParam = \case OptionUnspecified -> "OPTION_UNSPECIFIED" Unguessable -> "UNGUESSABLE" Short -> "SHORT" Custom -> "CUSTOM" instance FromJSON SuffixOption where parseJSON = parseJSONText "SuffixOption" instance ToJSON SuffixOption where toJSON = toJSONText -- | Link event. data DynamicLinkEventStatEvent = DynamicLinkEventUnspecified -- ^ @DYNAMIC_LINK_EVENT_UNSPECIFIED@ -- Unspecified type. | Click -- ^ @CLICK@ -- Indicates that an FDL is clicked by users. | Redirect -- ^ @REDIRECT@ -- Indicates that an FDL redirects users to fallback link. | AppInstall -- ^ @APP_INSTALL@ -- Indicates that an FDL triggers an app install from Play store, currently -- it\'s impossible to get stats from App store. | AppFirstOpen -- ^ @APP_FIRST_OPEN@ -- Indicates that the app is opened for the first time after an install -- triggered by FDLs | AppReOpen -- ^ @APP_RE_OPEN@ -- Indicates that the app is opened via an FDL for non-first time. deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic) instance Hashable DynamicLinkEventStatEvent instance FromHttpApiData DynamicLinkEventStatEvent where parseQueryParam = \case "DYNAMIC_LINK_EVENT_UNSPECIFIED" -> Right DynamicLinkEventUnspecified "CLICK" -> Right Click "REDIRECT" -> Right Redirect "APP_INSTALL" -> Right AppInstall "APP_FIRST_OPEN" -> Right AppFirstOpen "APP_RE_OPEN" -> Right AppReOpen x -> Left ("Unable to parse DynamicLinkEventStatEvent from: " <> x) instance ToHttpApiData DynamicLinkEventStatEvent where toQueryParam = \case DynamicLinkEventUnspecified -> "DYNAMIC_LINK_EVENT_UNSPECIFIED" Click -> "CLICK" Redirect -> "REDIRECT" AppInstall -> "APP_INSTALL" AppFirstOpen -> "APP_FIRST_OPEN" AppReOpen -> "APP_RE_OPEN" instance FromJSON DynamicLinkEventStatEvent where parseJSON = parseJSONText "DynamicLinkEventStatEvent" instance ToJSON DynamicLinkEventStatEvent where toJSON = toJSONText -- | Which IP version the request was made from. data GetIosPostInstallAttributionResponseRequestIPVersion = UnknownIPVersion -- ^ @UNKNOWN_IP_VERSION@ -- Unset. | IPV4 -- ^ @IP_V4@ -- Request made from an IPv4 IP address. | IPV6 -- ^ @IP_V6@ -- Request made from an IPv6 IP address. deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic) instance Hashable GetIosPostInstallAttributionResponseRequestIPVersion instance FromHttpApiData GetIosPostInstallAttributionResponseRequestIPVersion where parseQueryParam = \case "UNKNOWN_IP_VERSION" -> Right UnknownIPVersion "IP_V4" -> Right IPV4 "IP_V6" -> Right IPV6 x -> Left ("Unable to parse GetIosPostInstallAttributionResponseRequestIPVersion from: " <> x) instance ToHttpApiData GetIosPostInstallAttributionResponseRequestIPVersion where toQueryParam = \case UnknownIPVersion -> "UNKNOWN_IP_VERSION" IPV4 -> "IP_V4" IPV6 -> "IP_V6" instance FromJSON GetIosPostInstallAttributionResponseRequestIPVersion where parseJSON = parseJSONText "GetIosPostInstallAttributionResponseRequestIPVersion" instance ToJSON GetIosPostInstallAttributionResponseRequestIPVersion where toJSON = toJSONText -- | V1 error format. data Xgafv = X1 -- ^ @1@ -- v1 error format | X2 -- ^ @2@ -- v2 error format deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic) instance Hashable Xgafv instance FromHttpApiData Xgafv where parseQueryParam = \case "1" -> Right X1 "2" -> Right X2 x -> Left ("Unable to parse Xgafv from: " <> x) instance ToHttpApiData Xgafv where toQueryParam = \case X1 -> "1" X2 -> "2" instance FromJSON Xgafv where parseJSON = parseJSONText "Xgafv" instance ToJSON Xgafv where toJSON = toJSONText -- | The confidence of the returned attribution. data GetIosPostInstallAttributionResponseAttributionConfidence = UnknownAttributionConfidence -- ^ @UNKNOWN_ATTRIBUTION_CONFIDENCE@ -- Unset. | Weak -- ^ @WEAK@ -- Weak confidence, more than one matching link found or link suspected to -- be false positive | Default -- ^ @DEFAULT@ -- Default confidence, match based on fingerprint | Unique -- ^ @UNIQUE@ -- Unique confidence, match based on \"unique match link to check\" or -- other means deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic) instance Hashable GetIosPostInstallAttributionResponseAttributionConfidence instance FromHttpApiData GetIosPostInstallAttributionResponseAttributionConfidence where parseQueryParam = \case "UNKNOWN_ATTRIBUTION_CONFIDENCE" -> Right UnknownAttributionConfidence "WEAK" -> Right Weak "DEFAULT" -> Right Default "UNIQUE" -> Right Unique x -> Left ("Unable to parse GetIosPostInstallAttributionResponseAttributionConfidence from: " <> x) instance ToHttpApiData GetIosPostInstallAttributionResponseAttributionConfidence where toQueryParam = \case UnknownAttributionConfidence -> "UNKNOWN_ATTRIBUTION_CONFIDENCE" Weak -> "WEAK" Default -> "DEFAULT" Unique -> "UNIQUE" instance FromJSON GetIosPostInstallAttributionResponseAttributionConfidence where parseJSON = parseJSONText "GetIosPostInstallAttributionResponseAttributionConfidence" instance ToJSON GetIosPostInstallAttributionResponseAttributionConfidence where toJSON = toJSONText -- | The warning code. data DynamicLinkWarningWarningCode = CodeUnspecified -- ^ @CODE_UNSPECIFIED@ -- Unknown code. | NotInProjectAndroidPackageName -- ^ @NOT_IN_PROJECT_ANDROID_PACKAGE_NAME@ -- The Android package does not match any in developer\'s DevConsole -- project. | NotIntegerAndroidPackageMinVersion -- ^ @NOT_INTEGER_ANDROID_PACKAGE_MIN_VERSION@ -- The Android minimum version code has to be a valid integer. | UnnecessaryAndroidPackageMinVersion -- ^ @UNNECESSARY_ANDROID_PACKAGE_MIN_VERSION@ -- Android package min version param is not needed, e.g. when \'apn\' is -- missing. | NotURIAndroidLink -- ^ @NOT_URI_ANDROID_LINK@ -- Android link is not a valid URI. | UnnecessaryAndroidLink -- ^ @UNNECESSARY_ANDROID_LINK@ -- Android link param is not needed, e.g. when param \'al\' and \'link\' -- have the same value.. | NotURIAndroidFallbackLink -- ^ @NOT_URI_ANDROID_FALLBACK_LINK@ -- Android fallback link is not a valid URI. | BadURISchemeAndroidFallbackLink -- ^ @BAD_URI_SCHEME_ANDROID_FALLBACK_LINK@ -- Android fallback link has an invalid (non http\/https) URI scheme. | NotInProjectIosBundleId -- ^ @NOT_IN_PROJECT_IOS_BUNDLE_ID@ -- The iOS bundle ID does not match any in developer\'s DevConsole project. | NotInProjectIPadBundleId -- ^ @NOT_IN_PROJECT_IPAD_BUNDLE_ID@ -- The iPad bundle ID does not match any in developer\'s DevConsole -- project. | UnnecessaryIosURLScheme -- ^ @UNNECESSARY_IOS_URL_SCHEME@ -- iOS URL scheme is not needed, e.g. when \'ibi\' are \'ipbi\' are all -- missing. | NotNumericIosAppStoreId -- ^ @NOT_NUMERIC_IOS_APP_STORE_ID@ -- iOS app store ID format is incorrect, e.g. not numeric. | UnnecessaryIosAppStoreId -- ^ @UNNECESSARY_IOS_APP_STORE_ID@ -- iOS app store ID is not needed. | NotURIIosFallbackLink -- ^ @NOT_URI_IOS_FALLBACK_LINK@ -- iOS fallback link is not a valid URI. | BadURISchemeIosFallbackLink -- ^ @BAD_URI_SCHEME_IOS_FALLBACK_LINK@ -- iOS fallback link has an invalid (non http\/https) URI scheme. | NotURIIPadFallbackLink -- ^ @NOT_URI_IPAD_FALLBACK_LINK@ -- iPad fallback link is not a valid URI. | BadURISchemeIPadFallbackLink -- ^ @BAD_URI_SCHEME_IPAD_FALLBACK_LINK@ -- iPad fallback link has an invalid (non http\/https) URI scheme. | BadDebugParam -- ^ @BAD_DEBUG_PARAM@ -- Debug param format is incorrect. | BadAdParam -- ^ @BAD_AD_PARAM@ -- isAd param format is incorrect. | DeprecatedParam -- ^ @DEPRECATED_PARAM@ -- Indicates a certain param is deprecated. | UnrecognizedParam -- ^ @UNRECOGNIZED_PARAM@ -- Indicates certain paramater is not recognized. | TooLongParam -- ^ @TOO_LONG_PARAM@ -- Indicates certain paramater is too long. | NotURISocialImageLink -- ^ @NOT_URI_SOCIAL_IMAGE_LINK@ -- Social meta tag image link is not a valid URI. | BadURISchemeSocialImageLink -- ^ @BAD_URI_SCHEME_SOCIAL_IMAGE_LINK@ -- Social meta tag image link has an invalid (non http\/https) URI scheme. | NotURISocialURL -- ^ @NOT_URI_SOCIAL_URL@ | BadURISchemeSocialURL -- ^ @BAD_URI_SCHEME_SOCIAL_URL@ | LinkLengthTooLong -- ^ @LINK_LENGTH_TOO_LONG@ -- Dynamic Link URL length is too long. | LinkWithFragments -- ^ @LINK_WITH_FRAGMENTS@ -- Dynamic Link URL contains fragments. | NotMatchingIosBundleIdAndStoreId -- ^ @NOT_MATCHING_IOS_BUNDLE_ID_AND_STORE_ID@ -- The iOS bundle ID does not match with the given iOS store ID. deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic) instance Hashable DynamicLinkWarningWarningCode instance FromHttpApiData DynamicLinkWarningWarningCode where parseQueryParam = \case "CODE_UNSPECIFIED" -> Right CodeUnspecified "NOT_IN_PROJECT_ANDROID_PACKAGE_NAME" -> Right NotInProjectAndroidPackageName "NOT_INTEGER_ANDROID_PACKAGE_MIN_VERSION" -> Right NotIntegerAndroidPackageMinVersion "UNNECESSARY_ANDROID_PACKAGE_MIN_VERSION" -> Right UnnecessaryAndroidPackageMinVersion "NOT_URI_ANDROID_LINK" -> Right NotURIAndroidLink "UNNECESSARY_ANDROID_LINK" -> Right UnnecessaryAndroidLink "NOT_URI_ANDROID_FALLBACK_LINK" -> Right NotURIAndroidFallbackLink "BAD_URI_SCHEME_ANDROID_FALLBACK_LINK" -> Right BadURISchemeAndroidFallbackLink "NOT_IN_PROJECT_IOS_BUNDLE_ID" -> Right NotInProjectIosBundleId "NOT_IN_PROJECT_IPAD_BUNDLE_ID" -> Right NotInProjectIPadBundleId "UNNECESSARY_IOS_URL_SCHEME" -> Right UnnecessaryIosURLScheme "NOT_NUMERIC_IOS_APP_STORE_ID" -> Right NotNumericIosAppStoreId "UNNECESSARY_IOS_APP_STORE_ID" -> Right UnnecessaryIosAppStoreId "NOT_URI_IOS_FALLBACK_LINK" -> Right NotURIIosFallbackLink "BAD_URI_SCHEME_IOS_FALLBACK_LINK" -> Right BadURISchemeIosFallbackLink "NOT_URI_IPAD_FALLBACK_LINK" -> Right NotURIIPadFallbackLink "BAD_URI_SCHEME_IPAD_FALLBACK_LINK" -> Right BadURISchemeIPadFallbackLink "BAD_DEBUG_PARAM" -> Right BadDebugParam "BAD_AD_PARAM" -> Right BadAdParam "DEPRECATED_PARAM" -> Right DeprecatedParam "UNRECOGNIZED_PARAM" -> Right UnrecognizedParam "TOO_LONG_PARAM" -> Right TooLongParam "NOT_URI_SOCIAL_IMAGE_LINK" -> Right NotURISocialImageLink "BAD_URI_SCHEME_SOCIAL_IMAGE_LINK" -> Right BadURISchemeSocialImageLink "NOT_URI_SOCIAL_URL" -> Right NotURISocialURL "BAD_URI_SCHEME_SOCIAL_URL" -> Right BadURISchemeSocialURL "LINK_LENGTH_TOO_LONG" -> Right LinkLengthTooLong "LINK_WITH_FRAGMENTS" -> Right LinkWithFragments "NOT_MATCHING_IOS_BUNDLE_ID_AND_STORE_ID" -> Right NotMatchingIosBundleIdAndStoreId x -> Left ("Unable to parse DynamicLinkWarningWarningCode from: " <> x) instance ToHttpApiData DynamicLinkWarningWarningCode where toQueryParam = \case CodeUnspecified -> "CODE_UNSPECIFIED" NotInProjectAndroidPackageName -> "NOT_IN_PROJECT_ANDROID_PACKAGE_NAME" NotIntegerAndroidPackageMinVersion -> "NOT_INTEGER_ANDROID_PACKAGE_MIN_VERSION" UnnecessaryAndroidPackageMinVersion -> "UNNECESSARY_ANDROID_PACKAGE_MIN_VERSION" NotURIAndroidLink -> "NOT_URI_ANDROID_LINK" UnnecessaryAndroidLink -> "UNNECESSARY_ANDROID_LINK" NotURIAndroidFallbackLink -> "NOT_URI_ANDROID_FALLBACK_LINK" BadURISchemeAndroidFallbackLink -> "BAD_URI_SCHEME_ANDROID_FALLBACK_LINK" NotInProjectIosBundleId -> "NOT_IN_PROJECT_IOS_BUNDLE_ID" NotInProjectIPadBundleId -> "NOT_IN_PROJECT_IPAD_BUNDLE_ID" UnnecessaryIosURLScheme -> "UNNECESSARY_IOS_URL_SCHEME" NotNumericIosAppStoreId -> "NOT_NUMERIC_IOS_APP_STORE_ID" UnnecessaryIosAppStoreId -> "UNNECESSARY_IOS_APP_STORE_ID" NotURIIosFallbackLink -> "NOT_URI_IOS_FALLBACK_LINK" BadURISchemeIosFallbackLink -> "BAD_URI_SCHEME_IOS_FALLBACK_LINK" NotURIIPadFallbackLink -> "NOT_URI_IPAD_FALLBACK_LINK" BadURISchemeIPadFallbackLink -> "BAD_URI_SCHEME_IPAD_FALLBACK_LINK" BadDebugParam -> "BAD_DEBUG_PARAM" BadAdParam -> "BAD_AD_PARAM" DeprecatedParam -> "DEPRECATED_PARAM" UnrecognizedParam -> "UNRECOGNIZED_PARAM" TooLongParam -> "TOO_LONG_PARAM" NotURISocialImageLink -> "NOT_URI_SOCIAL_IMAGE_LINK" BadURISchemeSocialImageLink -> "BAD_URI_SCHEME_SOCIAL_IMAGE_LINK" NotURISocialURL -> "NOT_URI_SOCIAL_URL" BadURISchemeSocialURL -> "BAD_URI_SCHEME_SOCIAL_URL" LinkLengthTooLong -> "LINK_LENGTH_TOO_LONG" LinkWithFragments -> "LINK_WITH_FRAGMENTS" NotMatchingIosBundleIdAndStoreId -> "NOT_MATCHING_IOS_BUNDLE_ID_AND_STORE_ID" instance FromJSON DynamicLinkWarningWarningCode where parseJSON = parseJSONText "DynamicLinkWarningWarningCode" instance ToJSON DynamicLinkWarningWarningCode where toJSON = toJSONText -- | App post install attribution retrieval information. Disambiguates -- mechanism (iSDK or developer invoked) to retrieve payload from clicked -- link. data GetIosPostInstallAttributionRequestRetrievalMethod = UnknownPayloadRetrievalMethod -- ^ @UNKNOWN_PAYLOAD_RETRIEVAL_METHOD@ -- Unknown method. | ImplicitWeakMatch -- ^ @IMPLICIT_WEAK_MATCH@ -- iSDK performs a server lookup by device fingerprint in the background -- when app is first-opened; no API called by developer. | ExplicitWeakMatch -- ^ @EXPLICIT_WEAK_MATCH@ -- iSDK performs a server lookup by device fingerprint upon a dev API call. | ExplicitStrongAfterWeakMatch -- ^ @EXPLICIT_STRONG_AFTER_WEAK_MATCH@ -- iSDK performs a strong match only if weak match is found upon a dev API -- call. deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic) instance Hashable GetIosPostInstallAttributionRequestRetrievalMethod instance FromHttpApiData GetIosPostInstallAttributionRequestRetrievalMethod where parseQueryParam = \case "UNKNOWN_PAYLOAD_RETRIEVAL_METHOD" -> Right UnknownPayloadRetrievalMethod "IMPLICIT_WEAK_MATCH" -> Right ImplicitWeakMatch "EXPLICIT_WEAK_MATCH" -> Right ExplicitWeakMatch "EXPLICIT_STRONG_AFTER_WEAK_MATCH" -> Right ExplicitStrongAfterWeakMatch x -> Left ("Unable to parse GetIosPostInstallAttributionRequestRetrievalMethod from: " <> x) instance ToHttpApiData GetIosPostInstallAttributionRequestRetrievalMethod where toQueryParam = \case UnknownPayloadRetrievalMethod -> "UNKNOWN_PAYLOAD_RETRIEVAL_METHOD" ImplicitWeakMatch -> "IMPLICIT_WEAK_MATCH" ExplicitWeakMatch -> "EXPLICIT_WEAK_MATCH" ExplicitStrongAfterWeakMatch -> "EXPLICIT_STRONG_AFTER_WEAK_MATCH" instance FromJSON GetIosPostInstallAttributionRequestRetrievalMethod where parseJSON = parseJSONText "GetIosPostInstallAttributionRequestRetrievalMethod" instance ToJSON GetIosPostInstallAttributionRequestRetrievalMethod where toJSON = toJSONText -- | Visibility status of link. data ManagedShortLinkVisibility = UnspecifiedVisibility -- ^ @UNSPECIFIED_VISIBILITY@ -- Visibility of the link is not specified. | Unarchived -- ^ @UNARCHIVED@ -- Link created in console and should be shown in console. | Archived -- ^ @ARCHIVED@ -- Link created in console and should not be shown in console (but can be -- shown in the console again if it is unarchived). | NeverShown -- ^ @NEVER_SHOWN@ -- Link created outside of console and should never be shown in console. deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic) instance Hashable ManagedShortLinkVisibility instance FromHttpApiData ManagedShortLinkVisibility where parseQueryParam = \case "UNSPECIFIED_VISIBILITY" -> Right UnspecifiedVisibility "UNARCHIVED" -> Right Unarchived "ARCHIVED" -> Right Archived "NEVER_SHOWN" -> Right NeverShown x -> Left ("Unable to parse ManagedShortLinkVisibility from: " <> x) instance ToHttpApiData ManagedShortLinkVisibility where toQueryParam = \case UnspecifiedVisibility -> "UNSPECIFIED_VISIBILITY" Unarchived -> "UNARCHIVED" Archived -> "ARCHIVED" NeverShown -> "NEVER_SHOWN" instance FromJSON ManagedShortLinkVisibility where parseJSON = parseJSONText "ManagedShortLinkVisibility" instance ToJSON ManagedShortLinkVisibility where toJSON = toJSONText