{-# 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.Outposts.Types.UplinkCount
-- 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.Outposts.Types.UplinkCount
  ( UplinkCount
      ( ..,
        UplinkCount_UPLINK_COUNT_1,
        UplinkCount_UPLINK_COUNT_12,
        UplinkCount_UPLINK_COUNT_16,
        UplinkCount_UPLINK_COUNT_2,
        UplinkCount_UPLINK_COUNT_3,
        UplinkCount_UPLINK_COUNT_4,
        UplinkCount_UPLINK_COUNT_5,
        UplinkCount_UPLINK_COUNT_6,
        UplinkCount_UPLINK_COUNT_7,
        UplinkCount_UPLINK_COUNT_8
      ),
  )
where

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

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

pattern UplinkCount_UPLINK_COUNT_1 :: UplinkCount
pattern $bUplinkCount_UPLINK_COUNT_1 :: UplinkCount
$mUplinkCount_UPLINK_COUNT_1 :: forall {r}. UplinkCount -> ((# #) -> r) -> ((# #) -> r) -> r
UplinkCount_UPLINK_COUNT_1 = UplinkCount' "UPLINK_COUNT_1"

pattern UplinkCount_UPLINK_COUNT_12 :: UplinkCount
pattern $bUplinkCount_UPLINK_COUNT_12 :: UplinkCount
$mUplinkCount_UPLINK_COUNT_12 :: forall {r}. UplinkCount -> ((# #) -> r) -> ((# #) -> r) -> r
UplinkCount_UPLINK_COUNT_12 = UplinkCount' "UPLINK_COUNT_12"

pattern UplinkCount_UPLINK_COUNT_16 :: UplinkCount
pattern $bUplinkCount_UPLINK_COUNT_16 :: UplinkCount
$mUplinkCount_UPLINK_COUNT_16 :: forall {r}. UplinkCount -> ((# #) -> r) -> ((# #) -> r) -> r
UplinkCount_UPLINK_COUNT_16 = UplinkCount' "UPLINK_COUNT_16"

pattern UplinkCount_UPLINK_COUNT_2 :: UplinkCount
pattern $bUplinkCount_UPLINK_COUNT_2 :: UplinkCount
$mUplinkCount_UPLINK_COUNT_2 :: forall {r}. UplinkCount -> ((# #) -> r) -> ((# #) -> r) -> r
UplinkCount_UPLINK_COUNT_2 = UplinkCount' "UPLINK_COUNT_2"

pattern UplinkCount_UPLINK_COUNT_3 :: UplinkCount
pattern $bUplinkCount_UPLINK_COUNT_3 :: UplinkCount
$mUplinkCount_UPLINK_COUNT_3 :: forall {r}. UplinkCount -> ((# #) -> r) -> ((# #) -> r) -> r
UplinkCount_UPLINK_COUNT_3 = UplinkCount' "UPLINK_COUNT_3"

pattern UplinkCount_UPLINK_COUNT_4 :: UplinkCount
pattern $bUplinkCount_UPLINK_COUNT_4 :: UplinkCount
$mUplinkCount_UPLINK_COUNT_4 :: forall {r}. UplinkCount -> ((# #) -> r) -> ((# #) -> r) -> r
UplinkCount_UPLINK_COUNT_4 = UplinkCount' "UPLINK_COUNT_4"

pattern UplinkCount_UPLINK_COUNT_5 :: UplinkCount
pattern $bUplinkCount_UPLINK_COUNT_5 :: UplinkCount
$mUplinkCount_UPLINK_COUNT_5 :: forall {r}. UplinkCount -> ((# #) -> r) -> ((# #) -> r) -> r
UplinkCount_UPLINK_COUNT_5 = UplinkCount' "UPLINK_COUNT_5"

pattern UplinkCount_UPLINK_COUNT_6 :: UplinkCount
pattern $bUplinkCount_UPLINK_COUNT_6 :: UplinkCount
$mUplinkCount_UPLINK_COUNT_6 :: forall {r}. UplinkCount -> ((# #) -> r) -> ((# #) -> r) -> r
UplinkCount_UPLINK_COUNT_6 = UplinkCount' "UPLINK_COUNT_6"

pattern UplinkCount_UPLINK_COUNT_7 :: UplinkCount
pattern $bUplinkCount_UPLINK_COUNT_7 :: UplinkCount
$mUplinkCount_UPLINK_COUNT_7 :: forall {r}. UplinkCount -> ((# #) -> r) -> ((# #) -> r) -> r
UplinkCount_UPLINK_COUNT_7 = UplinkCount' "UPLINK_COUNT_7"

pattern UplinkCount_UPLINK_COUNT_8 :: UplinkCount
pattern $bUplinkCount_UPLINK_COUNT_8 :: UplinkCount
$mUplinkCount_UPLINK_COUNT_8 :: forall {r}. UplinkCount -> ((# #) -> r) -> ((# #) -> r) -> r
UplinkCount_UPLINK_COUNT_8 = UplinkCount' "UPLINK_COUNT_8"

{-# COMPLETE
  UplinkCount_UPLINK_COUNT_1,
  UplinkCount_UPLINK_COUNT_12,
  UplinkCount_UPLINK_COUNT_16,
  UplinkCount_UPLINK_COUNT_2,
  UplinkCount_UPLINK_COUNT_3,
  UplinkCount_UPLINK_COUNT_4,
  UplinkCount_UPLINK_COUNT_5,
  UplinkCount_UPLINK_COUNT_6,
  UplinkCount_UPLINK_COUNT_7,
  UplinkCount_UPLINK_COUNT_8,
  UplinkCount'
  #-}