{-# 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.Redshift.Types.ScheduledActionTypeValues
-- 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.Redshift.Types.ScheduledActionTypeValues
  ( ScheduledActionTypeValues
      ( ..,
        ScheduledActionTypeValues_PauseCluster,
        ScheduledActionTypeValues_ResizeCluster,
        ScheduledActionTypeValues_ResumeCluster
      ),
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Prelude as Prelude
import Amazonka.Redshift.Internal

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

pattern ScheduledActionTypeValues_PauseCluster :: ScheduledActionTypeValues
pattern $bScheduledActionTypeValues_PauseCluster :: ScheduledActionTypeValues
$mScheduledActionTypeValues_PauseCluster :: forall r.
ScheduledActionTypeValues -> (Void# -> r) -> (Void# -> r) -> r
ScheduledActionTypeValues_PauseCluster = ScheduledActionTypeValues' "PauseCluster"

pattern ScheduledActionTypeValues_ResizeCluster :: ScheduledActionTypeValues
pattern $bScheduledActionTypeValues_ResizeCluster :: ScheduledActionTypeValues
$mScheduledActionTypeValues_ResizeCluster :: forall r.
ScheduledActionTypeValues -> (Void# -> r) -> (Void# -> r) -> r
ScheduledActionTypeValues_ResizeCluster = ScheduledActionTypeValues' "ResizeCluster"

pattern ScheduledActionTypeValues_ResumeCluster :: ScheduledActionTypeValues
pattern $bScheduledActionTypeValues_ResumeCluster :: ScheduledActionTypeValues
$mScheduledActionTypeValues_ResumeCluster :: forall r.
ScheduledActionTypeValues -> (Void# -> r) -> (Void# -> r) -> r
ScheduledActionTypeValues_ResumeCluster = ScheduledActionTypeValues' "ResumeCluster"

{-# COMPLETE
  ScheduledActionTypeValues_PauseCluster,
  ScheduledActionTypeValues_ResizeCluster,
  ScheduledActionTypeValues_ResumeCluster,
  ScheduledActionTypeValues'
  #-}