{-# 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.SSM.Types.DocumentReviewCommentType
-- 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.SSM.Types.DocumentReviewCommentType
  ( DocumentReviewCommentType
      ( ..,
        DocumentReviewCommentType_Comment
      ),
  )
where

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

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

pattern DocumentReviewCommentType_Comment :: DocumentReviewCommentType
pattern $bDocumentReviewCommentType_Comment :: DocumentReviewCommentType
$mDocumentReviewCommentType_Comment :: forall r.
DocumentReviewCommentType -> (Void# -> r) -> (Void# -> r) -> r
DocumentReviewCommentType_Comment = DocumentReviewCommentType' "Comment"

{-# COMPLETE
  DocumentReviewCommentType_Comment,
  DocumentReviewCommentType'
  #-}