{-# 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.FSx.Types.ReportFormat
-- 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.FSx.Types.ReportFormat
  ( ReportFormat
      ( ..,
        ReportFormat_REPORT_CSV_20191124
      ),
  )
where

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

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

pattern ReportFormat_REPORT_CSV_20191124 :: ReportFormat
pattern $bReportFormat_REPORT_CSV_20191124 :: ReportFormat
$mReportFormat_REPORT_CSV_20191124 :: forall {r}. ReportFormat -> ((# #) -> r) -> ((# #) -> r) -> r
ReportFormat_REPORT_CSV_20191124 = ReportFormat' "REPORT_CSV_20191124"

{-# COMPLETE
  ReportFormat_REPORT_CSV_20191124,
  ReportFormat'
  #-}