{-# 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.CustomerProfiles.Types.JobScheduleDayOfTheWeek
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.CustomerProfiles.Types.JobScheduleDayOfTheWeek
  ( JobScheduleDayOfTheWeek
      ( ..,
        JobScheduleDayOfTheWeek_FRIDAY,
        JobScheduleDayOfTheWeek_MONDAY,
        JobScheduleDayOfTheWeek_SATURDAY,
        JobScheduleDayOfTheWeek_SUNDAY,
        JobScheduleDayOfTheWeek_THURSDAY,
        JobScheduleDayOfTheWeek_TUESDAY,
        JobScheduleDayOfTheWeek_WEDNESDAY
      ),
  )
where

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

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

pattern JobScheduleDayOfTheWeek_FRIDAY :: JobScheduleDayOfTheWeek
pattern $bJobScheduleDayOfTheWeek_FRIDAY :: JobScheduleDayOfTheWeek
$mJobScheduleDayOfTheWeek_FRIDAY :: forall {r}.
JobScheduleDayOfTheWeek -> ((# #) -> r) -> ((# #) -> r) -> r
JobScheduleDayOfTheWeek_FRIDAY = JobScheduleDayOfTheWeek' "FRIDAY"

pattern JobScheduleDayOfTheWeek_MONDAY :: JobScheduleDayOfTheWeek
pattern $bJobScheduleDayOfTheWeek_MONDAY :: JobScheduleDayOfTheWeek
$mJobScheduleDayOfTheWeek_MONDAY :: forall {r}.
JobScheduleDayOfTheWeek -> ((# #) -> r) -> ((# #) -> r) -> r
JobScheduleDayOfTheWeek_MONDAY = JobScheduleDayOfTheWeek' "MONDAY"

pattern JobScheduleDayOfTheWeek_SATURDAY :: JobScheduleDayOfTheWeek
pattern $bJobScheduleDayOfTheWeek_SATURDAY :: JobScheduleDayOfTheWeek
$mJobScheduleDayOfTheWeek_SATURDAY :: forall {r}.
JobScheduleDayOfTheWeek -> ((# #) -> r) -> ((# #) -> r) -> r
JobScheduleDayOfTheWeek_SATURDAY = JobScheduleDayOfTheWeek' "SATURDAY"

pattern JobScheduleDayOfTheWeek_SUNDAY :: JobScheduleDayOfTheWeek
pattern $bJobScheduleDayOfTheWeek_SUNDAY :: JobScheduleDayOfTheWeek
$mJobScheduleDayOfTheWeek_SUNDAY :: forall {r}.
JobScheduleDayOfTheWeek -> ((# #) -> r) -> ((# #) -> r) -> r
JobScheduleDayOfTheWeek_SUNDAY = JobScheduleDayOfTheWeek' "SUNDAY"

pattern JobScheduleDayOfTheWeek_THURSDAY :: JobScheduleDayOfTheWeek
pattern $bJobScheduleDayOfTheWeek_THURSDAY :: JobScheduleDayOfTheWeek
$mJobScheduleDayOfTheWeek_THURSDAY :: forall {r}.
JobScheduleDayOfTheWeek -> ((# #) -> r) -> ((# #) -> r) -> r
JobScheduleDayOfTheWeek_THURSDAY = JobScheduleDayOfTheWeek' "THURSDAY"

pattern JobScheduleDayOfTheWeek_TUESDAY :: JobScheduleDayOfTheWeek
pattern $bJobScheduleDayOfTheWeek_TUESDAY :: JobScheduleDayOfTheWeek
$mJobScheduleDayOfTheWeek_TUESDAY :: forall {r}.
JobScheduleDayOfTheWeek -> ((# #) -> r) -> ((# #) -> r) -> r
JobScheduleDayOfTheWeek_TUESDAY = JobScheduleDayOfTheWeek' "TUESDAY"

pattern JobScheduleDayOfTheWeek_WEDNESDAY :: JobScheduleDayOfTheWeek
pattern $bJobScheduleDayOfTheWeek_WEDNESDAY :: JobScheduleDayOfTheWeek
$mJobScheduleDayOfTheWeek_WEDNESDAY :: forall {r}.
JobScheduleDayOfTheWeek -> ((# #) -> r) -> ((# #) -> r) -> r
JobScheduleDayOfTheWeek_WEDNESDAY = JobScheduleDayOfTheWeek' "WEDNESDAY"

{-# COMPLETE
  JobScheduleDayOfTheWeek_FRIDAY,
  JobScheduleDayOfTheWeek_MONDAY,
  JobScheduleDayOfTheWeek_SATURDAY,
  JobScheduleDayOfTheWeek_SUNDAY,
  JobScheduleDayOfTheWeek_THURSDAY,
  JobScheduleDayOfTheWeek_TUESDAY,
  JobScheduleDayOfTheWeek_WEDNESDAY,
  JobScheduleDayOfTheWeek'
  #-}