{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.QuickSight.Types.DashboardBehavior
-- Copyright   : (c) 2013-2021 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.QuickSight.Types.DashboardBehavior
  ( DashboardBehavior
      ( ..,
        DashboardBehavior_DISABLED,
        DashboardBehavior_ENABLED
      ),
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Prelude as Prelude

newtype DashboardBehavior = DashboardBehavior'
  { DashboardBehavior -> Text
fromDashboardBehavior ::
      Core.Text
  }
  deriving stock
    ( Int -> DashboardBehavior -> ShowS
[DashboardBehavior] -> ShowS
DashboardBehavior -> String
(Int -> DashboardBehavior -> ShowS)
-> (DashboardBehavior -> String)
-> ([DashboardBehavior] -> ShowS)
-> Show DashboardBehavior
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DashboardBehavior] -> ShowS
$cshowList :: [DashboardBehavior] -> ShowS
show :: DashboardBehavior -> String
$cshow :: DashboardBehavior -> String
showsPrec :: Int -> DashboardBehavior -> ShowS
$cshowsPrec :: Int -> DashboardBehavior -> ShowS
Prelude.Show,
      ReadPrec [DashboardBehavior]
ReadPrec DashboardBehavior
Int -> ReadS DashboardBehavior
ReadS [DashboardBehavior]
(Int -> ReadS DashboardBehavior)
-> ReadS [DashboardBehavior]
-> ReadPrec DashboardBehavior
-> ReadPrec [DashboardBehavior]
-> Read DashboardBehavior
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DashboardBehavior]
$creadListPrec :: ReadPrec [DashboardBehavior]
readPrec :: ReadPrec DashboardBehavior
$creadPrec :: ReadPrec DashboardBehavior
readList :: ReadS [DashboardBehavior]
$creadList :: ReadS [DashboardBehavior]
readsPrec :: Int -> ReadS DashboardBehavior
$creadsPrec :: Int -> ReadS DashboardBehavior
Prelude.Read,
      DashboardBehavior -> DashboardBehavior -> Bool
(DashboardBehavior -> DashboardBehavior -> Bool)
-> (DashboardBehavior -> DashboardBehavior -> Bool)
-> Eq DashboardBehavior
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DashboardBehavior -> DashboardBehavior -> Bool
$c/= :: DashboardBehavior -> DashboardBehavior -> Bool
== :: DashboardBehavior -> DashboardBehavior -> Bool
$c== :: DashboardBehavior -> DashboardBehavior -> Bool
Prelude.Eq,
      Eq DashboardBehavior
Eq DashboardBehavior
-> (DashboardBehavior -> DashboardBehavior -> Ordering)
-> (DashboardBehavior -> DashboardBehavior -> Bool)
-> (DashboardBehavior -> DashboardBehavior -> Bool)
-> (DashboardBehavior -> DashboardBehavior -> Bool)
-> (DashboardBehavior -> DashboardBehavior -> Bool)
-> (DashboardBehavior -> DashboardBehavior -> DashboardBehavior)
-> (DashboardBehavior -> DashboardBehavior -> DashboardBehavior)
-> Ord DashboardBehavior
DashboardBehavior -> DashboardBehavior -> Bool
DashboardBehavior -> DashboardBehavior -> Ordering
DashboardBehavior -> DashboardBehavior -> DashboardBehavior
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: DashboardBehavior -> DashboardBehavior -> DashboardBehavior
$cmin :: DashboardBehavior -> DashboardBehavior -> DashboardBehavior
max :: DashboardBehavior -> DashboardBehavior -> DashboardBehavior
$cmax :: DashboardBehavior -> DashboardBehavior -> DashboardBehavior
>= :: DashboardBehavior -> DashboardBehavior -> Bool
$c>= :: DashboardBehavior -> DashboardBehavior -> Bool
> :: DashboardBehavior -> DashboardBehavior -> Bool
$c> :: DashboardBehavior -> DashboardBehavior -> Bool
<= :: DashboardBehavior -> DashboardBehavior -> Bool
$c<= :: DashboardBehavior -> DashboardBehavior -> Bool
< :: DashboardBehavior -> DashboardBehavior -> Bool
$c< :: DashboardBehavior -> DashboardBehavior -> Bool
compare :: DashboardBehavior -> DashboardBehavior -> Ordering
$ccompare :: DashboardBehavior -> DashboardBehavior -> Ordering
$cp1Ord :: Eq DashboardBehavior
Prelude.Ord,
      (forall x. DashboardBehavior -> Rep DashboardBehavior x)
-> (forall x. Rep DashboardBehavior x -> DashboardBehavior)
-> Generic DashboardBehavior
forall x. Rep DashboardBehavior x -> DashboardBehavior
forall x. DashboardBehavior -> Rep DashboardBehavior x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DashboardBehavior x -> DashboardBehavior
$cfrom :: forall x. DashboardBehavior -> Rep DashboardBehavior x
Prelude.Generic
    )
  deriving newtype
    ( Int -> DashboardBehavior -> Int
DashboardBehavior -> Int
(Int -> DashboardBehavior -> Int)
-> (DashboardBehavior -> Int) -> Hashable DashboardBehavior
forall a. (Int -> a -> Int) -> (a -> Int) -> Hashable a
hash :: DashboardBehavior -> Int
$chash :: DashboardBehavior -> Int
hashWithSalt :: Int -> DashboardBehavior -> Int
$chashWithSalt :: Int -> DashboardBehavior -> Int
Prelude.Hashable,
      DashboardBehavior -> ()
(DashboardBehavior -> ()) -> NFData DashboardBehavior
forall a. (a -> ()) -> NFData a
rnf :: DashboardBehavior -> ()
$crnf :: DashboardBehavior -> ()
Prelude.NFData,
      Text -> Either String DashboardBehavior
(Text -> Either String DashboardBehavior)
-> FromText DashboardBehavior
forall a. (Text -> Either String a) -> FromText a
fromText :: Text -> Either String DashboardBehavior
$cfromText :: Text -> Either String DashboardBehavior
Core.FromText,
      DashboardBehavior -> Text
(DashboardBehavior -> Text) -> ToText DashboardBehavior
forall a. (a -> Text) -> ToText a
toText :: DashboardBehavior -> Text
$ctoText :: DashboardBehavior -> Text
Core.ToText,
      DashboardBehavior -> ByteString
(DashboardBehavior -> ByteString) -> ToByteString DashboardBehavior
forall a. (a -> ByteString) -> ToByteString a
toBS :: DashboardBehavior -> ByteString
$ctoBS :: DashboardBehavior -> ByteString
Core.ToByteString,
      DashboardBehavior -> ByteStringBuilder
(DashboardBehavior -> ByteStringBuilder) -> ToLog DashboardBehavior
forall a. (a -> ByteStringBuilder) -> ToLog a
build :: DashboardBehavior -> ByteStringBuilder
$cbuild :: DashboardBehavior -> ByteStringBuilder
Core.ToLog,
      HeaderName -> DashboardBehavior -> [Header]
(HeaderName -> DashboardBehavior -> [Header])
-> ToHeader DashboardBehavior
forall a. (HeaderName -> a -> [Header]) -> ToHeader a
toHeader :: HeaderName -> DashboardBehavior -> [Header]
$ctoHeader :: HeaderName -> DashboardBehavior -> [Header]
Core.ToHeader,
      DashboardBehavior -> QueryString
(DashboardBehavior -> QueryString) -> ToQuery DashboardBehavior
forall a. (a -> QueryString) -> ToQuery a
toQuery :: DashboardBehavior -> QueryString
$ctoQuery :: DashboardBehavior -> QueryString
Core.ToQuery,
      Value -> Parser [DashboardBehavior]
Value -> Parser DashboardBehavior
(Value -> Parser DashboardBehavior)
-> (Value -> Parser [DashboardBehavior])
-> FromJSON DashboardBehavior
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
parseJSONList :: Value -> Parser [DashboardBehavior]
$cparseJSONList :: Value -> Parser [DashboardBehavior]
parseJSON :: Value -> Parser DashboardBehavior
$cparseJSON :: Value -> Parser DashboardBehavior
Core.FromJSON,
      FromJSONKeyFunction [DashboardBehavior]
FromJSONKeyFunction DashboardBehavior
FromJSONKeyFunction DashboardBehavior
-> FromJSONKeyFunction [DashboardBehavior]
-> FromJSONKey DashboardBehavior
forall a.
FromJSONKeyFunction a -> FromJSONKeyFunction [a] -> FromJSONKey a
fromJSONKeyList :: FromJSONKeyFunction [DashboardBehavior]
$cfromJSONKeyList :: FromJSONKeyFunction [DashboardBehavior]
fromJSONKey :: FromJSONKeyFunction DashboardBehavior
$cfromJSONKey :: FromJSONKeyFunction DashboardBehavior
Core.FromJSONKey,
      [DashboardBehavior] -> Encoding
[DashboardBehavior] -> Value
DashboardBehavior -> Encoding
DashboardBehavior -> Value
(DashboardBehavior -> Value)
-> (DashboardBehavior -> Encoding)
-> ([DashboardBehavior] -> Value)
-> ([DashboardBehavior] -> Encoding)
-> ToJSON DashboardBehavior
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
toEncodingList :: [DashboardBehavior] -> Encoding
$ctoEncodingList :: [DashboardBehavior] -> Encoding
toJSONList :: [DashboardBehavior] -> Value
$ctoJSONList :: [DashboardBehavior] -> Value
toEncoding :: DashboardBehavior -> Encoding
$ctoEncoding :: DashboardBehavior -> Encoding
toJSON :: DashboardBehavior -> Value
$ctoJSON :: DashboardBehavior -> Value
Core.ToJSON,
      ToJSONKeyFunction [DashboardBehavior]
ToJSONKeyFunction DashboardBehavior
ToJSONKeyFunction DashboardBehavior
-> ToJSONKeyFunction [DashboardBehavior]
-> ToJSONKey DashboardBehavior
forall a.
ToJSONKeyFunction a -> ToJSONKeyFunction [a] -> ToJSONKey a
toJSONKeyList :: ToJSONKeyFunction [DashboardBehavior]
$ctoJSONKeyList :: ToJSONKeyFunction [DashboardBehavior]
toJSONKey :: ToJSONKeyFunction DashboardBehavior
$ctoJSONKey :: ToJSONKeyFunction DashboardBehavior
Core.ToJSONKey,
      [Node] -> Either String DashboardBehavior
([Node] -> Either String DashboardBehavior)
-> FromXML DashboardBehavior
forall a. ([Node] -> Either String a) -> FromXML a
parseXML :: [Node] -> Either String DashboardBehavior
$cparseXML :: [Node] -> Either String DashboardBehavior
Core.FromXML,
      DashboardBehavior -> XML
(DashboardBehavior -> XML) -> ToXML DashboardBehavior
forall a. (a -> XML) -> ToXML a
toXML :: DashboardBehavior -> XML
$ctoXML :: DashboardBehavior -> XML
Core.ToXML
    )

pattern DashboardBehavior_DISABLED :: DashboardBehavior
pattern $bDashboardBehavior_DISABLED :: DashboardBehavior
$mDashboardBehavior_DISABLED :: forall r. DashboardBehavior -> (Void# -> r) -> (Void# -> r) -> r
DashboardBehavior_DISABLED = DashboardBehavior' "DISABLED"

pattern DashboardBehavior_ENABLED :: DashboardBehavior
pattern $bDashboardBehavior_ENABLED :: DashboardBehavior
$mDashboardBehavior_ENABLED :: forall r. DashboardBehavior -> (Void# -> r) -> (Void# -> r) -> r
DashboardBehavior_ENABLED = DashboardBehavior' "ENABLED"

{-# COMPLETE
  DashboardBehavior_DISABLED,
  DashboardBehavior_ENABLED,
  DashboardBehavior'
  #-}