{-# 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.SageMaker.Types.VendorGuidance
-- 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.SageMaker.Types.VendorGuidance
  ( VendorGuidance
      ( ..,
        VendorGuidance_ARCHIVED,
        VendorGuidance_NOT_PROVIDED,
        VendorGuidance_STABLE,
        VendorGuidance_TO_BE_ARCHIVED
      ),
  )
where

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

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

pattern VendorGuidance_ARCHIVED :: VendorGuidance
pattern $bVendorGuidance_ARCHIVED :: VendorGuidance
$mVendorGuidance_ARCHIVED :: forall {r}. VendorGuidance -> ((# #) -> r) -> ((# #) -> r) -> r
VendorGuidance_ARCHIVED = VendorGuidance' "ARCHIVED"

pattern VendorGuidance_NOT_PROVIDED :: VendorGuidance
pattern $bVendorGuidance_NOT_PROVIDED :: VendorGuidance
$mVendorGuidance_NOT_PROVIDED :: forall {r}. VendorGuidance -> ((# #) -> r) -> ((# #) -> r) -> r
VendorGuidance_NOT_PROVIDED = VendorGuidance' "NOT_PROVIDED"

pattern VendorGuidance_STABLE :: VendorGuidance
pattern $bVendorGuidance_STABLE :: VendorGuidance
$mVendorGuidance_STABLE :: forall {r}. VendorGuidance -> ((# #) -> r) -> ((# #) -> r) -> r
VendorGuidance_STABLE = VendorGuidance' "STABLE"

pattern VendorGuidance_TO_BE_ARCHIVED :: VendorGuidance
pattern $bVendorGuidance_TO_BE_ARCHIVED :: VendorGuidance
$mVendorGuidance_TO_BE_ARCHIVED :: forall {r}. VendorGuidance -> ((# #) -> r) -> ((# #) -> r) -> r
VendorGuidance_TO_BE_ARCHIVED = VendorGuidance' "TO_BE_ARCHIVED"

{-# COMPLETE
  VendorGuidance_ARCHIVED,
  VendorGuidance_NOT_PROVIDED,
  VendorGuidance_STABLE,
  VendorGuidance_TO_BE_ARCHIVED,
  VendorGuidance'
  #-}