{-# 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.AppInstanceType
-- 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.SageMaker.Types.AppInstanceType
  ( AppInstanceType
      ( ..,
        AppInstanceType_Ml_c5_12xlarge,
        AppInstanceType_Ml_c5_18xlarge,
        AppInstanceType_Ml_c5_24xlarge,
        AppInstanceType_Ml_c5_2xlarge,
        AppInstanceType_Ml_c5_4xlarge,
        AppInstanceType_Ml_c5_9xlarge,
        AppInstanceType_Ml_c5_large,
        AppInstanceType_Ml_c5_xlarge,
        AppInstanceType_Ml_g4dn_12xlarge,
        AppInstanceType_Ml_g4dn_16xlarge,
        AppInstanceType_Ml_g4dn_2xlarge,
        AppInstanceType_Ml_g4dn_4xlarge,
        AppInstanceType_Ml_g4dn_8xlarge,
        AppInstanceType_Ml_g4dn_xlarge,
        AppInstanceType_Ml_m5_12xlarge,
        AppInstanceType_Ml_m5_16xlarge,
        AppInstanceType_Ml_m5_24xlarge,
        AppInstanceType_Ml_m5_2xlarge,
        AppInstanceType_Ml_m5_4xlarge,
        AppInstanceType_Ml_m5_8xlarge,
        AppInstanceType_Ml_m5_large,
        AppInstanceType_Ml_m5_xlarge,
        AppInstanceType_Ml_m5d_12xlarge,
        AppInstanceType_Ml_m5d_16xlarge,
        AppInstanceType_Ml_m5d_24xlarge,
        AppInstanceType_Ml_m5d_2xlarge,
        AppInstanceType_Ml_m5d_4xlarge,
        AppInstanceType_Ml_m5d_8xlarge,
        AppInstanceType_Ml_m5d_large,
        AppInstanceType_Ml_m5d_xlarge,
        AppInstanceType_Ml_p3_16xlarge,
        AppInstanceType_Ml_p3_2xlarge,
        AppInstanceType_Ml_p3_8xlarge,
        AppInstanceType_Ml_p3dn_24xlarge,
        AppInstanceType_Ml_r5_12xlarge,
        AppInstanceType_Ml_r5_16xlarge,
        AppInstanceType_Ml_r5_24xlarge,
        AppInstanceType_Ml_r5_2xlarge,
        AppInstanceType_Ml_r5_4xlarge,
        AppInstanceType_Ml_r5_8xlarge,
        AppInstanceType_Ml_r5_large,
        AppInstanceType_Ml_r5_xlarge,
        AppInstanceType_Ml_t3_2xlarge,
        AppInstanceType_Ml_t3_large,
        AppInstanceType_Ml_t3_medium,
        AppInstanceType_Ml_t3_micro,
        AppInstanceType_Ml_t3_small,
        AppInstanceType_Ml_t3_xlarge,
        AppInstanceType_System
      ),
  )
where

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

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

pattern AppInstanceType_Ml_c5_12xlarge :: AppInstanceType
pattern $bAppInstanceType_Ml_c5_12xlarge :: AppInstanceType
$mAppInstanceType_Ml_c5_12xlarge :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_Ml_c5_12xlarge = AppInstanceType' "ml.c5.12xlarge"

pattern AppInstanceType_Ml_c5_18xlarge :: AppInstanceType
pattern $bAppInstanceType_Ml_c5_18xlarge :: AppInstanceType
$mAppInstanceType_Ml_c5_18xlarge :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_Ml_c5_18xlarge = AppInstanceType' "ml.c5.18xlarge"

pattern AppInstanceType_Ml_c5_24xlarge :: AppInstanceType
pattern $bAppInstanceType_Ml_c5_24xlarge :: AppInstanceType
$mAppInstanceType_Ml_c5_24xlarge :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_Ml_c5_24xlarge = AppInstanceType' "ml.c5.24xlarge"

pattern AppInstanceType_Ml_c5_2xlarge :: AppInstanceType
pattern $bAppInstanceType_Ml_c5_2xlarge :: AppInstanceType
$mAppInstanceType_Ml_c5_2xlarge :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_Ml_c5_2xlarge = AppInstanceType' "ml.c5.2xlarge"

pattern AppInstanceType_Ml_c5_4xlarge :: AppInstanceType
pattern $bAppInstanceType_Ml_c5_4xlarge :: AppInstanceType
$mAppInstanceType_Ml_c5_4xlarge :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_Ml_c5_4xlarge = AppInstanceType' "ml.c5.4xlarge"

pattern AppInstanceType_Ml_c5_9xlarge :: AppInstanceType
pattern $bAppInstanceType_Ml_c5_9xlarge :: AppInstanceType
$mAppInstanceType_Ml_c5_9xlarge :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_Ml_c5_9xlarge = AppInstanceType' "ml.c5.9xlarge"

pattern AppInstanceType_Ml_c5_large :: AppInstanceType
pattern $bAppInstanceType_Ml_c5_large :: AppInstanceType
$mAppInstanceType_Ml_c5_large :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_Ml_c5_large = AppInstanceType' "ml.c5.large"

pattern AppInstanceType_Ml_c5_xlarge :: AppInstanceType
pattern $bAppInstanceType_Ml_c5_xlarge :: AppInstanceType
$mAppInstanceType_Ml_c5_xlarge :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_Ml_c5_xlarge = AppInstanceType' "ml.c5.xlarge"

pattern AppInstanceType_Ml_g4dn_12xlarge :: AppInstanceType
pattern $bAppInstanceType_Ml_g4dn_12xlarge :: AppInstanceType
$mAppInstanceType_Ml_g4dn_12xlarge :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_Ml_g4dn_12xlarge = AppInstanceType' "ml.g4dn.12xlarge"

pattern AppInstanceType_Ml_g4dn_16xlarge :: AppInstanceType
pattern $bAppInstanceType_Ml_g4dn_16xlarge :: AppInstanceType
$mAppInstanceType_Ml_g4dn_16xlarge :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_Ml_g4dn_16xlarge = AppInstanceType' "ml.g4dn.16xlarge"

pattern AppInstanceType_Ml_g4dn_2xlarge :: AppInstanceType
pattern $bAppInstanceType_Ml_g4dn_2xlarge :: AppInstanceType
$mAppInstanceType_Ml_g4dn_2xlarge :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_Ml_g4dn_2xlarge = AppInstanceType' "ml.g4dn.2xlarge"

pattern AppInstanceType_Ml_g4dn_4xlarge :: AppInstanceType
pattern $bAppInstanceType_Ml_g4dn_4xlarge :: AppInstanceType
$mAppInstanceType_Ml_g4dn_4xlarge :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_Ml_g4dn_4xlarge = AppInstanceType' "ml.g4dn.4xlarge"

pattern AppInstanceType_Ml_g4dn_8xlarge :: AppInstanceType
pattern $bAppInstanceType_Ml_g4dn_8xlarge :: AppInstanceType
$mAppInstanceType_Ml_g4dn_8xlarge :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_Ml_g4dn_8xlarge = AppInstanceType' "ml.g4dn.8xlarge"

pattern AppInstanceType_Ml_g4dn_xlarge :: AppInstanceType
pattern $bAppInstanceType_Ml_g4dn_xlarge :: AppInstanceType
$mAppInstanceType_Ml_g4dn_xlarge :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_Ml_g4dn_xlarge = AppInstanceType' "ml.g4dn.xlarge"

pattern AppInstanceType_Ml_m5_12xlarge :: AppInstanceType
pattern $bAppInstanceType_Ml_m5_12xlarge :: AppInstanceType
$mAppInstanceType_Ml_m5_12xlarge :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_Ml_m5_12xlarge = AppInstanceType' "ml.m5.12xlarge"

pattern AppInstanceType_Ml_m5_16xlarge :: AppInstanceType
pattern $bAppInstanceType_Ml_m5_16xlarge :: AppInstanceType
$mAppInstanceType_Ml_m5_16xlarge :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_Ml_m5_16xlarge = AppInstanceType' "ml.m5.16xlarge"

pattern AppInstanceType_Ml_m5_24xlarge :: AppInstanceType
pattern $bAppInstanceType_Ml_m5_24xlarge :: AppInstanceType
$mAppInstanceType_Ml_m5_24xlarge :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_Ml_m5_24xlarge = AppInstanceType' "ml.m5.24xlarge"

pattern AppInstanceType_Ml_m5_2xlarge :: AppInstanceType
pattern $bAppInstanceType_Ml_m5_2xlarge :: AppInstanceType
$mAppInstanceType_Ml_m5_2xlarge :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_Ml_m5_2xlarge = AppInstanceType' "ml.m5.2xlarge"

pattern AppInstanceType_Ml_m5_4xlarge :: AppInstanceType
pattern $bAppInstanceType_Ml_m5_4xlarge :: AppInstanceType
$mAppInstanceType_Ml_m5_4xlarge :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_Ml_m5_4xlarge = AppInstanceType' "ml.m5.4xlarge"

pattern AppInstanceType_Ml_m5_8xlarge :: AppInstanceType
pattern $bAppInstanceType_Ml_m5_8xlarge :: AppInstanceType
$mAppInstanceType_Ml_m5_8xlarge :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_Ml_m5_8xlarge = AppInstanceType' "ml.m5.8xlarge"

pattern AppInstanceType_Ml_m5_large :: AppInstanceType
pattern $bAppInstanceType_Ml_m5_large :: AppInstanceType
$mAppInstanceType_Ml_m5_large :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_Ml_m5_large = AppInstanceType' "ml.m5.large"

pattern AppInstanceType_Ml_m5_xlarge :: AppInstanceType
pattern $bAppInstanceType_Ml_m5_xlarge :: AppInstanceType
$mAppInstanceType_Ml_m5_xlarge :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_Ml_m5_xlarge = AppInstanceType' "ml.m5.xlarge"

pattern AppInstanceType_Ml_m5d_12xlarge :: AppInstanceType
pattern $bAppInstanceType_Ml_m5d_12xlarge :: AppInstanceType
$mAppInstanceType_Ml_m5d_12xlarge :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_Ml_m5d_12xlarge = AppInstanceType' "ml.m5d.12xlarge"

pattern AppInstanceType_Ml_m5d_16xlarge :: AppInstanceType
pattern $bAppInstanceType_Ml_m5d_16xlarge :: AppInstanceType
$mAppInstanceType_Ml_m5d_16xlarge :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_Ml_m5d_16xlarge = AppInstanceType' "ml.m5d.16xlarge"

pattern AppInstanceType_Ml_m5d_24xlarge :: AppInstanceType
pattern $bAppInstanceType_Ml_m5d_24xlarge :: AppInstanceType
$mAppInstanceType_Ml_m5d_24xlarge :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_Ml_m5d_24xlarge = AppInstanceType' "ml.m5d.24xlarge"

pattern AppInstanceType_Ml_m5d_2xlarge :: AppInstanceType
pattern $bAppInstanceType_Ml_m5d_2xlarge :: AppInstanceType
$mAppInstanceType_Ml_m5d_2xlarge :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_Ml_m5d_2xlarge = AppInstanceType' "ml.m5d.2xlarge"

pattern AppInstanceType_Ml_m5d_4xlarge :: AppInstanceType
pattern $bAppInstanceType_Ml_m5d_4xlarge :: AppInstanceType
$mAppInstanceType_Ml_m5d_4xlarge :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_Ml_m5d_4xlarge = AppInstanceType' "ml.m5d.4xlarge"

pattern AppInstanceType_Ml_m5d_8xlarge :: AppInstanceType
pattern $bAppInstanceType_Ml_m5d_8xlarge :: AppInstanceType
$mAppInstanceType_Ml_m5d_8xlarge :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_Ml_m5d_8xlarge = AppInstanceType' "ml.m5d.8xlarge"

pattern AppInstanceType_Ml_m5d_large :: AppInstanceType
pattern $bAppInstanceType_Ml_m5d_large :: AppInstanceType
$mAppInstanceType_Ml_m5d_large :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_Ml_m5d_large = AppInstanceType' "ml.m5d.large"

pattern AppInstanceType_Ml_m5d_xlarge :: AppInstanceType
pattern $bAppInstanceType_Ml_m5d_xlarge :: AppInstanceType
$mAppInstanceType_Ml_m5d_xlarge :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_Ml_m5d_xlarge = AppInstanceType' "ml.m5d.xlarge"

pattern AppInstanceType_Ml_p3_16xlarge :: AppInstanceType
pattern $bAppInstanceType_Ml_p3_16xlarge :: AppInstanceType
$mAppInstanceType_Ml_p3_16xlarge :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_Ml_p3_16xlarge = AppInstanceType' "ml.p3.16xlarge"

pattern AppInstanceType_Ml_p3_2xlarge :: AppInstanceType
pattern $bAppInstanceType_Ml_p3_2xlarge :: AppInstanceType
$mAppInstanceType_Ml_p3_2xlarge :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_Ml_p3_2xlarge = AppInstanceType' "ml.p3.2xlarge"

pattern AppInstanceType_Ml_p3_8xlarge :: AppInstanceType
pattern $bAppInstanceType_Ml_p3_8xlarge :: AppInstanceType
$mAppInstanceType_Ml_p3_8xlarge :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_Ml_p3_8xlarge = AppInstanceType' "ml.p3.8xlarge"

pattern AppInstanceType_Ml_p3dn_24xlarge :: AppInstanceType
pattern $bAppInstanceType_Ml_p3dn_24xlarge :: AppInstanceType
$mAppInstanceType_Ml_p3dn_24xlarge :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_Ml_p3dn_24xlarge = AppInstanceType' "ml.p3dn.24xlarge"

pattern AppInstanceType_Ml_r5_12xlarge :: AppInstanceType
pattern $bAppInstanceType_Ml_r5_12xlarge :: AppInstanceType
$mAppInstanceType_Ml_r5_12xlarge :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_Ml_r5_12xlarge = AppInstanceType' "ml.r5.12xlarge"

pattern AppInstanceType_Ml_r5_16xlarge :: AppInstanceType
pattern $bAppInstanceType_Ml_r5_16xlarge :: AppInstanceType
$mAppInstanceType_Ml_r5_16xlarge :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_Ml_r5_16xlarge = AppInstanceType' "ml.r5.16xlarge"

pattern AppInstanceType_Ml_r5_24xlarge :: AppInstanceType
pattern $bAppInstanceType_Ml_r5_24xlarge :: AppInstanceType
$mAppInstanceType_Ml_r5_24xlarge :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_Ml_r5_24xlarge = AppInstanceType' "ml.r5.24xlarge"

pattern AppInstanceType_Ml_r5_2xlarge :: AppInstanceType
pattern $bAppInstanceType_Ml_r5_2xlarge :: AppInstanceType
$mAppInstanceType_Ml_r5_2xlarge :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_Ml_r5_2xlarge = AppInstanceType' "ml.r5.2xlarge"

pattern AppInstanceType_Ml_r5_4xlarge :: AppInstanceType
pattern $bAppInstanceType_Ml_r5_4xlarge :: AppInstanceType
$mAppInstanceType_Ml_r5_4xlarge :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_Ml_r5_4xlarge = AppInstanceType' "ml.r5.4xlarge"

pattern AppInstanceType_Ml_r5_8xlarge :: AppInstanceType
pattern $bAppInstanceType_Ml_r5_8xlarge :: AppInstanceType
$mAppInstanceType_Ml_r5_8xlarge :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_Ml_r5_8xlarge = AppInstanceType' "ml.r5.8xlarge"

pattern AppInstanceType_Ml_r5_large :: AppInstanceType
pattern $bAppInstanceType_Ml_r5_large :: AppInstanceType
$mAppInstanceType_Ml_r5_large :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_Ml_r5_large = AppInstanceType' "ml.r5.large"

pattern AppInstanceType_Ml_r5_xlarge :: AppInstanceType
pattern $bAppInstanceType_Ml_r5_xlarge :: AppInstanceType
$mAppInstanceType_Ml_r5_xlarge :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_Ml_r5_xlarge = AppInstanceType' "ml.r5.xlarge"

pattern AppInstanceType_Ml_t3_2xlarge :: AppInstanceType
pattern $bAppInstanceType_Ml_t3_2xlarge :: AppInstanceType
$mAppInstanceType_Ml_t3_2xlarge :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_Ml_t3_2xlarge = AppInstanceType' "ml.t3.2xlarge"

pattern AppInstanceType_Ml_t3_large :: AppInstanceType
pattern $bAppInstanceType_Ml_t3_large :: AppInstanceType
$mAppInstanceType_Ml_t3_large :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_Ml_t3_large = AppInstanceType' "ml.t3.large"

pattern AppInstanceType_Ml_t3_medium :: AppInstanceType
pattern $bAppInstanceType_Ml_t3_medium :: AppInstanceType
$mAppInstanceType_Ml_t3_medium :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_Ml_t3_medium = AppInstanceType' "ml.t3.medium"

pattern AppInstanceType_Ml_t3_micro :: AppInstanceType
pattern $bAppInstanceType_Ml_t3_micro :: AppInstanceType
$mAppInstanceType_Ml_t3_micro :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_Ml_t3_micro = AppInstanceType' "ml.t3.micro"

pattern AppInstanceType_Ml_t3_small :: AppInstanceType
pattern $bAppInstanceType_Ml_t3_small :: AppInstanceType
$mAppInstanceType_Ml_t3_small :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_Ml_t3_small = AppInstanceType' "ml.t3.small"

pattern AppInstanceType_Ml_t3_xlarge :: AppInstanceType
pattern $bAppInstanceType_Ml_t3_xlarge :: AppInstanceType
$mAppInstanceType_Ml_t3_xlarge :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_Ml_t3_xlarge = AppInstanceType' "ml.t3.xlarge"

pattern AppInstanceType_System :: AppInstanceType
pattern $bAppInstanceType_System :: AppInstanceType
$mAppInstanceType_System :: forall r. AppInstanceType -> (Void# -> r) -> (Void# -> r) -> r
AppInstanceType_System = AppInstanceType' "system"

{-# COMPLETE
  AppInstanceType_Ml_c5_12xlarge,
  AppInstanceType_Ml_c5_18xlarge,
  AppInstanceType_Ml_c5_24xlarge,
  AppInstanceType_Ml_c5_2xlarge,
  AppInstanceType_Ml_c5_4xlarge,
  AppInstanceType_Ml_c5_9xlarge,
  AppInstanceType_Ml_c5_large,
  AppInstanceType_Ml_c5_xlarge,
  AppInstanceType_Ml_g4dn_12xlarge,
  AppInstanceType_Ml_g4dn_16xlarge,
  AppInstanceType_Ml_g4dn_2xlarge,
  AppInstanceType_Ml_g4dn_4xlarge,
  AppInstanceType_Ml_g4dn_8xlarge,
  AppInstanceType_Ml_g4dn_xlarge,
  AppInstanceType_Ml_m5_12xlarge,
  AppInstanceType_Ml_m5_16xlarge,
  AppInstanceType_Ml_m5_24xlarge,
  AppInstanceType_Ml_m5_2xlarge,
  AppInstanceType_Ml_m5_4xlarge,
  AppInstanceType_Ml_m5_8xlarge,
  AppInstanceType_Ml_m5_large,
  AppInstanceType_Ml_m5_xlarge,
  AppInstanceType_Ml_m5d_12xlarge,
  AppInstanceType_Ml_m5d_16xlarge,
  AppInstanceType_Ml_m5d_24xlarge,
  AppInstanceType_Ml_m5d_2xlarge,
  AppInstanceType_Ml_m5d_4xlarge,
  AppInstanceType_Ml_m5d_8xlarge,
  AppInstanceType_Ml_m5d_large,
  AppInstanceType_Ml_m5d_xlarge,
  AppInstanceType_Ml_p3_16xlarge,
  AppInstanceType_Ml_p3_2xlarge,
  AppInstanceType_Ml_p3_8xlarge,
  AppInstanceType_Ml_p3dn_24xlarge,
  AppInstanceType_Ml_r5_12xlarge,
  AppInstanceType_Ml_r5_16xlarge,
  AppInstanceType_Ml_r5_24xlarge,
  AppInstanceType_Ml_r5_2xlarge,
  AppInstanceType_Ml_r5_4xlarge,
  AppInstanceType_Ml_r5_8xlarge,
  AppInstanceType_Ml_r5_large,
  AppInstanceType_Ml_r5_xlarge,
  AppInstanceType_Ml_t3_2xlarge,
  AppInstanceType_Ml_t3_large,
  AppInstanceType_Ml_t3_medium,
  AppInstanceType_Ml_t3_micro,
  AppInstanceType_Ml_t3_small,
  AppInstanceType_Ml_t3_xlarge,
  AppInstanceType_System,
  AppInstanceType'
  #-}