{-# 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.LookoutEquipment.Types.DataUploadFrequency
-- 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.LookoutEquipment.Types.DataUploadFrequency
  ( DataUploadFrequency
      ( ..,
        DataUploadFrequency_PT10M,
        DataUploadFrequency_PT15M,
        DataUploadFrequency_PT1H,
        DataUploadFrequency_PT30M,
        DataUploadFrequency_PT5M
      ),
  )
where

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

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

pattern DataUploadFrequency_PT10M :: DataUploadFrequency
pattern $bDataUploadFrequency_PT10M :: DataUploadFrequency
$mDataUploadFrequency_PT10M :: forall r. DataUploadFrequency -> (Void# -> r) -> (Void# -> r) -> r
DataUploadFrequency_PT10M = DataUploadFrequency' "PT10M"

pattern DataUploadFrequency_PT15M :: DataUploadFrequency
pattern $bDataUploadFrequency_PT15M :: DataUploadFrequency
$mDataUploadFrequency_PT15M :: forall r. DataUploadFrequency -> (Void# -> r) -> (Void# -> r) -> r
DataUploadFrequency_PT15M = DataUploadFrequency' "PT15M"

pattern DataUploadFrequency_PT1H :: DataUploadFrequency
pattern $bDataUploadFrequency_PT1H :: DataUploadFrequency
$mDataUploadFrequency_PT1H :: forall r. DataUploadFrequency -> (Void# -> r) -> (Void# -> r) -> r
DataUploadFrequency_PT1H = DataUploadFrequency' "PT1H"

pattern DataUploadFrequency_PT30M :: DataUploadFrequency
pattern $bDataUploadFrequency_PT30M :: DataUploadFrequency
$mDataUploadFrequency_PT30M :: forall r. DataUploadFrequency -> (Void# -> r) -> (Void# -> r) -> r
DataUploadFrequency_PT30M = DataUploadFrequency' "PT30M"

pattern DataUploadFrequency_PT5M :: DataUploadFrequency
pattern $bDataUploadFrequency_PT5M :: DataUploadFrequency
$mDataUploadFrequency_PT5M :: forall r. DataUploadFrequency -> (Void# -> r) -> (Void# -> r) -> r
DataUploadFrequency_PT5M = DataUploadFrequency' "PT5M"

{-# COMPLETE
  DataUploadFrequency_PT10M,
  DataUploadFrequency_PT15M,
  DataUploadFrequency_PT1H,
  DataUploadFrequency_PT30M,
  DataUploadFrequency_PT5M,
  DataUploadFrequency'
  #-}