{-# 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.ElasticSearch.Types.ESPartitionInstanceType
-- 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.ElasticSearch.Types.ESPartitionInstanceType
  ( ESPartitionInstanceType
      ( ..,
        ESPartitionInstanceType_C4_2xlarge_elasticsearch,
        ESPartitionInstanceType_C4_4xlarge_elasticsearch,
        ESPartitionInstanceType_C4_8xlarge_elasticsearch,
        ESPartitionInstanceType_C4_large_elasticsearch,
        ESPartitionInstanceType_C4_xlarge_elasticsearch,
        ESPartitionInstanceType_C5_18xlarge_elasticsearch,
        ESPartitionInstanceType_C5_2xlarge_elasticsearch,
        ESPartitionInstanceType_C5_4xlarge_elasticsearch,
        ESPartitionInstanceType_C5_9xlarge_elasticsearch,
        ESPartitionInstanceType_C5_large_elasticsearch,
        ESPartitionInstanceType_C5_xlarge_elasticsearch,
        ESPartitionInstanceType_D2_2xlarge_elasticsearch,
        ESPartitionInstanceType_D2_4xlarge_elasticsearch,
        ESPartitionInstanceType_D2_8xlarge_elasticsearch,
        ESPartitionInstanceType_D2_xlarge_elasticsearch,
        ESPartitionInstanceType_I2_2xlarge_elasticsearch,
        ESPartitionInstanceType_I2_xlarge_elasticsearch,
        ESPartitionInstanceType_I3_16xlarge_elasticsearch,
        ESPartitionInstanceType_I3_2xlarge_elasticsearch,
        ESPartitionInstanceType_I3_4xlarge_elasticsearch,
        ESPartitionInstanceType_I3_8xlarge_elasticsearch,
        ESPartitionInstanceType_I3_large_elasticsearch,
        ESPartitionInstanceType_I3_xlarge_elasticsearch,
        ESPartitionInstanceType_M3_2xlarge_elasticsearch,
        ESPartitionInstanceType_M3_large_elasticsearch,
        ESPartitionInstanceType_M3_medium_elasticsearch,
        ESPartitionInstanceType_M3_xlarge_elasticsearch,
        ESPartitionInstanceType_M4_10xlarge_elasticsearch,
        ESPartitionInstanceType_M4_2xlarge_elasticsearch,
        ESPartitionInstanceType_M4_4xlarge_elasticsearch,
        ESPartitionInstanceType_M4_large_elasticsearch,
        ESPartitionInstanceType_M4_xlarge_elasticsearch,
        ESPartitionInstanceType_M5_12xlarge_elasticsearch,
        ESPartitionInstanceType_M5_2xlarge_elasticsearch,
        ESPartitionInstanceType_M5_4xlarge_elasticsearch,
        ESPartitionInstanceType_M5_large_elasticsearch,
        ESPartitionInstanceType_M5_xlarge_elasticsearch,
        ESPartitionInstanceType_R3_2xlarge_elasticsearch,
        ESPartitionInstanceType_R3_4xlarge_elasticsearch,
        ESPartitionInstanceType_R3_8xlarge_elasticsearch,
        ESPartitionInstanceType_R3_large_elasticsearch,
        ESPartitionInstanceType_R3_xlarge_elasticsearch,
        ESPartitionInstanceType_R4_16xlarge_elasticsearch,
        ESPartitionInstanceType_R4_2xlarge_elasticsearch,
        ESPartitionInstanceType_R4_4xlarge_elasticsearch,
        ESPartitionInstanceType_R4_8xlarge_elasticsearch,
        ESPartitionInstanceType_R4_large_elasticsearch,
        ESPartitionInstanceType_R4_xlarge_elasticsearch,
        ESPartitionInstanceType_R5_12xlarge_elasticsearch,
        ESPartitionInstanceType_R5_2xlarge_elasticsearch,
        ESPartitionInstanceType_R5_4xlarge_elasticsearch,
        ESPartitionInstanceType_R5_large_elasticsearch,
        ESPartitionInstanceType_R5_xlarge_elasticsearch,
        ESPartitionInstanceType_T2_medium_elasticsearch,
        ESPartitionInstanceType_T2_micro_elasticsearch,
        ESPartitionInstanceType_T2_small_elasticsearch,
        ESPartitionInstanceType_Ultrawarm1_large_elasticsearch,
        ESPartitionInstanceType_Ultrawarm1_medium_elasticsearch
      ),
  )
where

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

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

pattern ESPartitionInstanceType_C4_2xlarge_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_C4_2xlarge_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_C4_2xlarge_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_C4_2xlarge_elasticsearch = ESPartitionInstanceType' "c4.2xlarge.elasticsearch"

pattern ESPartitionInstanceType_C4_4xlarge_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_C4_4xlarge_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_C4_4xlarge_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_C4_4xlarge_elasticsearch = ESPartitionInstanceType' "c4.4xlarge.elasticsearch"

pattern ESPartitionInstanceType_C4_8xlarge_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_C4_8xlarge_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_C4_8xlarge_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_C4_8xlarge_elasticsearch = ESPartitionInstanceType' "c4.8xlarge.elasticsearch"

pattern ESPartitionInstanceType_C4_large_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_C4_large_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_C4_large_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_C4_large_elasticsearch = ESPartitionInstanceType' "c4.large.elasticsearch"

pattern ESPartitionInstanceType_C4_xlarge_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_C4_xlarge_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_C4_xlarge_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_C4_xlarge_elasticsearch = ESPartitionInstanceType' "c4.xlarge.elasticsearch"

pattern ESPartitionInstanceType_C5_18xlarge_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_C5_18xlarge_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_C5_18xlarge_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_C5_18xlarge_elasticsearch = ESPartitionInstanceType' "c5.18xlarge.elasticsearch"

pattern ESPartitionInstanceType_C5_2xlarge_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_C5_2xlarge_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_C5_2xlarge_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_C5_2xlarge_elasticsearch = ESPartitionInstanceType' "c5.2xlarge.elasticsearch"

pattern ESPartitionInstanceType_C5_4xlarge_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_C5_4xlarge_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_C5_4xlarge_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_C5_4xlarge_elasticsearch = ESPartitionInstanceType' "c5.4xlarge.elasticsearch"

pattern ESPartitionInstanceType_C5_9xlarge_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_C5_9xlarge_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_C5_9xlarge_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_C5_9xlarge_elasticsearch = ESPartitionInstanceType' "c5.9xlarge.elasticsearch"

pattern ESPartitionInstanceType_C5_large_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_C5_large_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_C5_large_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_C5_large_elasticsearch = ESPartitionInstanceType' "c5.large.elasticsearch"

pattern ESPartitionInstanceType_C5_xlarge_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_C5_xlarge_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_C5_xlarge_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_C5_xlarge_elasticsearch = ESPartitionInstanceType' "c5.xlarge.elasticsearch"

pattern ESPartitionInstanceType_D2_2xlarge_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_D2_2xlarge_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_D2_2xlarge_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_D2_2xlarge_elasticsearch = ESPartitionInstanceType' "d2.2xlarge.elasticsearch"

pattern ESPartitionInstanceType_D2_4xlarge_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_D2_4xlarge_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_D2_4xlarge_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_D2_4xlarge_elasticsearch = ESPartitionInstanceType' "d2.4xlarge.elasticsearch"

pattern ESPartitionInstanceType_D2_8xlarge_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_D2_8xlarge_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_D2_8xlarge_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_D2_8xlarge_elasticsearch = ESPartitionInstanceType' "d2.8xlarge.elasticsearch"

pattern ESPartitionInstanceType_D2_xlarge_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_D2_xlarge_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_D2_xlarge_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_D2_xlarge_elasticsearch = ESPartitionInstanceType' "d2.xlarge.elasticsearch"

pattern ESPartitionInstanceType_I2_2xlarge_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_I2_2xlarge_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_I2_2xlarge_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_I2_2xlarge_elasticsearch = ESPartitionInstanceType' "i2.2xlarge.elasticsearch"

pattern ESPartitionInstanceType_I2_xlarge_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_I2_xlarge_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_I2_xlarge_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_I2_xlarge_elasticsearch = ESPartitionInstanceType' "i2.xlarge.elasticsearch"

pattern ESPartitionInstanceType_I3_16xlarge_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_I3_16xlarge_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_I3_16xlarge_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_I3_16xlarge_elasticsearch = ESPartitionInstanceType' "i3.16xlarge.elasticsearch"

pattern ESPartitionInstanceType_I3_2xlarge_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_I3_2xlarge_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_I3_2xlarge_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_I3_2xlarge_elasticsearch = ESPartitionInstanceType' "i3.2xlarge.elasticsearch"

pattern ESPartitionInstanceType_I3_4xlarge_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_I3_4xlarge_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_I3_4xlarge_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_I3_4xlarge_elasticsearch = ESPartitionInstanceType' "i3.4xlarge.elasticsearch"

pattern ESPartitionInstanceType_I3_8xlarge_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_I3_8xlarge_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_I3_8xlarge_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_I3_8xlarge_elasticsearch = ESPartitionInstanceType' "i3.8xlarge.elasticsearch"

pattern ESPartitionInstanceType_I3_large_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_I3_large_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_I3_large_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_I3_large_elasticsearch = ESPartitionInstanceType' "i3.large.elasticsearch"

pattern ESPartitionInstanceType_I3_xlarge_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_I3_xlarge_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_I3_xlarge_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_I3_xlarge_elasticsearch = ESPartitionInstanceType' "i3.xlarge.elasticsearch"

pattern ESPartitionInstanceType_M3_2xlarge_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_M3_2xlarge_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_M3_2xlarge_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_M3_2xlarge_elasticsearch = ESPartitionInstanceType' "m3.2xlarge.elasticsearch"

pattern ESPartitionInstanceType_M3_large_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_M3_large_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_M3_large_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_M3_large_elasticsearch = ESPartitionInstanceType' "m3.large.elasticsearch"

pattern ESPartitionInstanceType_M3_medium_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_M3_medium_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_M3_medium_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_M3_medium_elasticsearch = ESPartitionInstanceType' "m3.medium.elasticsearch"

pattern ESPartitionInstanceType_M3_xlarge_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_M3_xlarge_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_M3_xlarge_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_M3_xlarge_elasticsearch = ESPartitionInstanceType' "m3.xlarge.elasticsearch"

pattern ESPartitionInstanceType_M4_10xlarge_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_M4_10xlarge_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_M4_10xlarge_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_M4_10xlarge_elasticsearch = ESPartitionInstanceType' "m4.10xlarge.elasticsearch"

pattern ESPartitionInstanceType_M4_2xlarge_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_M4_2xlarge_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_M4_2xlarge_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_M4_2xlarge_elasticsearch = ESPartitionInstanceType' "m4.2xlarge.elasticsearch"

pattern ESPartitionInstanceType_M4_4xlarge_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_M4_4xlarge_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_M4_4xlarge_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_M4_4xlarge_elasticsearch = ESPartitionInstanceType' "m4.4xlarge.elasticsearch"

pattern ESPartitionInstanceType_M4_large_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_M4_large_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_M4_large_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_M4_large_elasticsearch = ESPartitionInstanceType' "m4.large.elasticsearch"

pattern ESPartitionInstanceType_M4_xlarge_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_M4_xlarge_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_M4_xlarge_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_M4_xlarge_elasticsearch = ESPartitionInstanceType' "m4.xlarge.elasticsearch"

pattern ESPartitionInstanceType_M5_12xlarge_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_M5_12xlarge_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_M5_12xlarge_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_M5_12xlarge_elasticsearch = ESPartitionInstanceType' "m5.12xlarge.elasticsearch"

pattern ESPartitionInstanceType_M5_2xlarge_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_M5_2xlarge_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_M5_2xlarge_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_M5_2xlarge_elasticsearch = ESPartitionInstanceType' "m5.2xlarge.elasticsearch"

pattern ESPartitionInstanceType_M5_4xlarge_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_M5_4xlarge_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_M5_4xlarge_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_M5_4xlarge_elasticsearch = ESPartitionInstanceType' "m5.4xlarge.elasticsearch"

pattern ESPartitionInstanceType_M5_large_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_M5_large_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_M5_large_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_M5_large_elasticsearch = ESPartitionInstanceType' "m5.large.elasticsearch"

pattern ESPartitionInstanceType_M5_xlarge_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_M5_xlarge_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_M5_xlarge_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_M5_xlarge_elasticsearch = ESPartitionInstanceType' "m5.xlarge.elasticsearch"

pattern ESPartitionInstanceType_R3_2xlarge_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_R3_2xlarge_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_R3_2xlarge_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_R3_2xlarge_elasticsearch = ESPartitionInstanceType' "r3.2xlarge.elasticsearch"

pattern ESPartitionInstanceType_R3_4xlarge_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_R3_4xlarge_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_R3_4xlarge_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_R3_4xlarge_elasticsearch = ESPartitionInstanceType' "r3.4xlarge.elasticsearch"

pattern ESPartitionInstanceType_R3_8xlarge_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_R3_8xlarge_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_R3_8xlarge_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_R3_8xlarge_elasticsearch = ESPartitionInstanceType' "r3.8xlarge.elasticsearch"

pattern ESPartitionInstanceType_R3_large_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_R3_large_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_R3_large_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_R3_large_elasticsearch = ESPartitionInstanceType' "r3.large.elasticsearch"

pattern ESPartitionInstanceType_R3_xlarge_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_R3_xlarge_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_R3_xlarge_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_R3_xlarge_elasticsearch = ESPartitionInstanceType' "r3.xlarge.elasticsearch"

pattern ESPartitionInstanceType_R4_16xlarge_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_R4_16xlarge_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_R4_16xlarge_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_R4_16xlarge_elasticsearch = ESPartitionInstanceType' "r4.16xlarge.elasticsearch"

pattern ESPartitionInstanceType_R4_2xlarge_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_R4_2xlarge_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_R4_2xlarge_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_R4_2xlarge_elasticsearch = ESPartitionInstanceType' "r4.2xlarge.elasticsearch"

pattern ESPartitionInstanceType_R4_4xlarge_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_R4_4xlarge_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_R4_4xlarge_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_R4_4xlarge_elasticsearch = ESPartitionInstanceType' "r4.4xlarge.elasticsearch"

pattern ESPartitionInstanceType_R4_8xlarge_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_R4_8xlarge_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_R4_8xlarge_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_R4_8xlarge_elasticsearch = ESPartitionInstanceType' "r4.8xlarge.elasticsearch"

pattern ESPartitionInstanceType_R4_large_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_R4_large_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_R4_large_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_R4_large_elasticsearch = ESPartitionInstanceType' "r4.large.elasticsearch"

pattern ESPartitionInstanceType_R4_xlarge_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_R4_xlarge_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_R4_xlarge_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_R4_xlarge_elasticsearch = ESPartitionInstanceType' "r4.xlarge.elasticsearch"

pattern ESPartitionInstanceType_R5_12xlarge_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_R5_12xlarge_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_R5_12xlarge_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_R5_12xlarge_elasticsearch = ESPartitionInstanceType' "r5.12xlarge.elasticsearch"

pattern ESPartitionInstanceType_R5_2xlarge_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_R5_2xlarge_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_R5_2xlarge_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_R5_2xlarge_elasticsearch = ESPartitionInstanceType' "r5.2xlarge.elasticsearch"

pattern ESPartitionInstanceType_R5_4xlarge_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_R5_4xlarge_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_R5_4xlarge_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_R5_4xlarge_elasticsearch = ESPartitionInstanceType' "r5.4xlarge.elasticsearch"

pattern ESPartitionInstanceType_R5_large_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_R5_large_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_R5_large_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_R5_large_elasticsearch = ESPartitionInstanceType' "r5.large.elasticsearch"

pattern ESPartitionInstanceType_R5_xlarge_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_R5_xlarge_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_R5_xlarge_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_R5_xlarge_elasticsearch = ESPartitionInstanceType' "r5.xlarge.elasticsearch"

pattern ESPartitionInstanceType_T2_medium_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_T2_medium_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_T2_medium_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_T2_medium_elasticsearch = ESPartitionInstanceType' "t2.medium.elasticsearch"

pattern ESPartitionInstanceType_T2_micro_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_T2_micro_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_T2_micro_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_T2_micro_elasticsearch = ESPartitionInstanceType' "t2.micro.elasticsearch"

pattern ESPartitionInstanceType_T2_small_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_T2_small_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_T2_small_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_T2_small_elasticsearch = ESPartitionInstanceType' "t2.small.elasticsearch"

pattern ESPartitionInstanceType_Ultrawarm1_large_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_Ultrawarm1_large_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_Ultrawarm1_large_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_Ultrawarm1_large_elasticsearch = ESPartitionInstanceType' "ultrawarm1.large.elasticsearch"

pattern ESPartitionInstanceType_Ultrawarm1_medium_elasticsearch :: ESPartitionInstanceType
pattern $bESPartitionInstanceType_Ultrawarm1_medium_elasticsearch :: ESPartitionInstanceType
$mESPartitionInstanceType_Ultrawarm1_medium_elasticsearch :: forall {r}.
ESPartitionInstanceType -> ((# #) -> r) -> ((# #) -> r) -> r
ESPartitionInstanceType_Ultrawarm1_medium_elasticsearch = ESPartitionInstanceType' "ultrawarm1.medium.elasticsearch"

{-# COMPLETE
  ESPartitionInstanceType_C4_2xlarge_elasticsearch,
  ESPartitionInstanceType_C4_4xlarge_elasticsearch,
  ESPartitionInstanceType_C4_8xlarge_elasticsearch,
  ESPartitionInstanceType_C4_large_elasticsearch,
  ESPartitionInstanceType_C4_xlarge_elasticsearch,
  ESPartitionInstanceType_C5_18xlarge_elasticsearch,
  ESPartitionInstanceType_C5_2xlarge_elasticsearch,
  ESPartitionInstanceType_C5_4xlarge_elasticsearch,
  ESPartitionInstanceType_C5_9xlarge_elasticsearch,
  ESPartitionInstanceType_C5_large_elasticsearch,
  ESPartitionInstanceType_C5_xlarge_elasticsearch,
  ESPartitionInstanceType_D2_2xlarge_elasticsearch,
  ESPartitionInstanceType_D2_4xlarge_elasticsearch,
  ESPartitionInstanceType_D2_8xlarge_elasticsearch,
  ESPartitionInstanceType_D2_xlarge_elasticsearch,
  ESPartitionInstanceType_I2_2xlarge_elasticsearch,
  ESPartitionInstanceType_I2_xlarge_elasticsearch,
  ESPartitionInstanceType_I3_16xlarge_elasticsearch,
  ESPartitionInstanceType_I3_2xlarge_elasticsearch,
  ESPartitionInstanceType_I3_4xlarge_elasticsearch,
  ESPartitionInstanceType_I3_8xlarge_elasticsearch,
  ESPartitionInstanceType_I3_large_elasticsearch,
  ESPartitionInstanceType_I3_xlarge_elasticsearch,
  ESPartitionInstanceType_M3_2xlarge_elasticsearch,
  ESPartitionInstanceType_M3_large_elasticsearch,
  ESPartitionInstanceType_M3_medium_elasticsearch,
  ESPartitionInstanceType_M3_xlarge_elasticsearch,
  ESPartitionInstanceType_M4_10xlarge_elasticsearch,
  ESPartitionInstanceType_M4_2xlarge_elasticsearch,
  ESPartitionInstanceType_M4_4xlarge_elasticsearch,
  ESPartitionInstanceType_M4_large_elasticsearch,
  ESPartitionInstanceType_M4_xlarge_elasticsearch,
  ESPartitionInstanceType_M5_12xlarge_elasticsearch,
  ESPartitionInstanceType_M5_2xlarge_elasticsearch,
  ESPartitionInstanceType_M5_4xlarge_elasticsearch,
  ESPartitionInstanceType_M5_large_elasticsearch,
  ESPartitionInstanceType_M5_xlarge_elasticsearch,
  ESPartitionInstanceType_R3_2xlarge_elasticsearch,
  ESPartitionInstanceType_R3_4xlarge_elasticsearch,
  ESPartitionInstanceType_R3_8xlarge_elasticsearch,
  ESPartitionInstanceType_R3_large_elasticsearch,
  ESPartitionInstanceType_R3_xlarge_elasticsearch,
  ESPartitionInstanceType_R4_16xlarge_elasticsearch,
  ESPartitionInstanceType_R4_2xlarge_elasticsearch,
  ESPartitionInstanceType_R4_4xlarge_elasticsearch,
  ESPartitionInstanceType_R4_8xlarge_elasticsearch,
  ESPartitionInstanceType_R4_large_elasticsearch,
  ESPartitionInstanceType_R4_xlarge_elasticsearch,
  ESPartitionInstanceType_R5_12xlarge_elasticsearch,
  ESPartitionInstanceType_R5_2xlarge_elasticsearch,
  ESPartitionInstanceType_R5_4xlarge_elasticsearch,
  ESPartitionInstanceType_R5_large_elasticsearch,
  ESPartitionInstanceType_R5_xlarge_elasticsearch,
  ESPartitionInstanceType_T2_medium_elasticsearch,
  ESPartitionInstanceType_T2_micro_elasticsearch,
  ESPartitionInstanceType_T2_small_elasticsearch,
  ESPartitionInstanceType_Ultrawarm1_large_elasticsearch,
  ESPartitionInstanceType_Ultrawarm1_medium_elasticsearch,
  ESPartitionInstanceType'
  #-}