{-# 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.ComputeOptimizer.Types.ExportableInstanceField
-- 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.ComputeOptimizer.Types.ExportableInstanceField
  ( ExportableInstanceField
      ( ..,
        ExportableInstanceField_AccountId,
        ExportableInstanceField_CurrentInstanceType,
        ExportableInstanceField_CurrentMemory,
        ExportableInstanceField_CurrentNetwork,
        ExportableInstanceField_CurrentOnDemandPrice,
        ExportableInstanceField_CurrentStandardOneYearNoUpfrontReservedPrice,
        ExportableInstanceField_CurrentStandardThreeYearNoUpfrontReservedPrice,
        ExportableInstanceField_CurrentStorage,
        ExportableInstanceField_CurrentVCpus,
        ExportableInstanceField_Finding,
        ExportableInstanceField_FindingReasonCodes,
        ExportableInstanceField_InstanceArn,
        ExportableInstanceField_InstanceName,
        ExportableInstanceField_LastRefreshTimestamp,
        ExportableInstanceField_LookbackPeriodInDays,
        ExportableInstanceField_RecommendationOptionsInstanceType,
        ExportableInstanceField_RecommendationOptionsMemory,
        ExportableInstanceField_RecommendationOptionsNetwork,
        ExportableInstanceField_RecommendationOptionsOnDemandPrice,
        ExportableInstanceField_RecommendationOptionsPerformanceRisk,
        ExportableInstanceField_RecommendationOptionsPlatformDifferences,
        ExportableInstanceField_RecommendationOptionsProjectedUtilizationMetricsCpuMaximum,
        ExportableInstanceField_RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum,
        ExportableInstanceField_RecommendationOptionsStandardOneYearNoUpfrontReservedPrice,
        ExportableInstanceField_RecommendationOptionsStandardThreeYearNoUpfrontReservedPrice,
        ExportableInstanceField_RecommendationOptionsStorage,
        ExportableInstanceField_RecommendationOptionsVcpus,
        ExportableInstanceField_RecommendationsSourcesRecommendationSourceArn,
        ExportableInstanceField_RecommendationsSourcesRecommendationSourceType,
        ExportableInstanceField_UtilizationMetricsCpuMaximum,
        ExportableInstanceField_UtilizationMetricsDiskReadBytesPerSecondMaximum,
        ExportableInstanceField_UtilizationMetricsDiskReadOpsPerSecondMaximum,
        ExportableInstanceField_UtilizationMetricsDiskWriteBytesPerSecondMaximum,
        ExportableInstanceField_UtilizationMetricsDiskWriteOpsPerSecondMaximum,
        ExportableInstanceField_UtilizationMetricsEbsReadBytesPerSecondMaximum,
        ExportableInstanceField_UtilizationMetricsEbsReadOpsPerSecondMaximum,
        ExportableInstanceField_UtilizationMetricsEbsWriteBytesPerSecondMaximum,
        ExportableInstanceField_UtilizationMetricsEbsWriteOpsPerSecondMaximum,
        ExportableInstanceField_UtilizationMetricsMemoryMaximum,
        ExportableInstanceField_UtilizationMetricsNetworkInBytesPerSecondMaximum,
        ExportableInstanceField_UtilizationMetricsNetworkOutBytesPerSecondMaximum,
        ExportableInstanceField_UtilizationMetricsNetworkPacketsInPerSecondMaximum,
        ExportableInstanceField_UtilizationMetricsNetworkPacketsOutPerSecondMaximum
      ),
  )
where

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

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

pattern ExportableInstanceField_AccountId :: ExportableInstanceField
pattern $bExportableInstanceField_AccountId :: ExportableInstanceField
$mExportableInstanceField_AccountId :: forall r.
ExportableInstanceField -> (Void# -> r) -> (Void# -> r) -> r
ExportableInstanceField_AccountId = ExportableInstanceField' "AccountId"

pattern ExportableInstanceField_CurrentInstanceType :: ExportableInstanceField
pattern $bExportableInstanceField_CurrentInstanceType :: ExportableInstanceField
$mExportableInstanceField_CurrentInstanceType :: forall r.
ExportableInstanceField -> (Void# -> r) -> (Void# -> r) -> r
ExportableInstanceField_CurrentInstanceType = ExportableInstanceField' "CurrentInstanceType"

pattern ExportableInstanceField_CurrentMemory :: ExportableInstanceField
pattern $bExportableInstanceField_CurrentMemory :: ExportableInstanceField
$mExportableInstanceField_CurrentMemory :: forall r.
ExportableInstanceField -> (Void# -> r) -> (Void# -> r) -> r
ExportableInstanceField_CurrentMemory = ExportableInstanceField' "CurrentMemory"

pattern ExportableInstanceField_CurrentNetwork :: ExportableInstanceField
pattern $bExportableInstanceField_CurrentNetwork :: ExportableInstanceField
$mExportableInstanceField_CurrentNetwork :: forall r.
ExportableInstanceField -> (Void# -> r) -> (Void# -> r) -> r
ExportableInstanceField_CurrentNetwork = ExportableInstanceField' "CurrentNetwork"

pattern ExportableInstanceField_CurrentOnDemandPrice :: ExportableInstanceField
pattern $bExportableInstanceField_CurrentOnDemandPrice :: ExportableInstanceField
$mExportableInstanceField_CurrentOnDemandPrice :: forall r.
ExportableInstanceField -> (Void# -> r) -> (Void# -> r) -> r
ExportableInstanceField_CurrentOnDemandPrice = ExportableInstanceField' "CurrentOnDemandPrice"

pattern ExportableInstanceField_CurrentStandardOneYearNoUpfrontReservedPrice :: ExportableInstanceField
pattern $bExportableInstanceField_CurrentStandardOneYearNoUpfrontReservedPrice :: ExportableInstanceField
$mExportableInstanceField_CurrentStandardOneYearNoUpfrontReservedPrice :: forall r.
ExportableInstanceField -> (Void# -> r) -> (Void# -> r) -> r
ExportableInstanceField_CurrentStandardOneYearNoUpfrontReservedPrice = ExportableInstanceField' "CurrentStandardOneYearNoUpfrontReservedPrice"

pattern ExportableInstanceField_CurrentStandardThreeYearNoUpfrontReservedPrice :: ExportableInstanceField
pattern $bExportableInstanceField_CurrentStandardThreeYearNoUpfrontReservedPrice :: ExportableInstanceField
$mExportableInstanceField_CurrentStandardThreeYearNoUpfrontReservedPrice :: forall r.
ExportableInstanceField -> (Void# -> r) -> (Void# -> r) -> r
ExportableInstanceField_CurrentStandardThreeYearNoUpfrontReservedPrice = ExportableInstanceField' "CurrentStandardThreeYearNoUpfrontReservedPrice"

pattern ExportableInstanceField_CurrentStorage :: ExportableInstanceField
pattern $bExportableInstanceField_CurrentStorage :: ExportableInstanceField
$mExportableInstanceField_CurrentStorage :: forall r.
ExportableInstanceField -> (Void# -> r) -> (Void# -> r) -> r
ExportableInstanceField_CurrentStorage = ExportableInstanceField' "CurrentStorage"

pattern ExportableInstanceField_CurrentVCpus :: ExportableInstanceField
pattern $bExportableInstanceField_CurrentVCpus :: ExportableInstanceField
$mExportableInstanceField_CurrentVCpus :: forall r.
ExportableInstanceField -> (Void# -> r) -> (Void# -> r) -> r
ExportableInstanceField_CurrentVCpus = ExportableInstanceField' "CurrentVCpus"

pattern ExportableInstanceField_Finding :: ExportableInstanceField
pattern $bExportableInstanceField_Finding :: ExportableInstanceField
$mExportableInstanceField_Finding :: forall r.
ExportableInstanceField -> (Void# -> r) -> (Void# -> r) -> r
ExportableInstanceField_Finding = ExportableInstanceField' "Finding"

pattern ExportableInstanceField_FindingReasonCodes :: ExportableInstanceField
pattern $bExportableInstanceField_FindingReasonCodes :: ExportableInstanceField
$mExportableInstanceField_FindingReasonCodes :: forall r.
ExportableInstanceField -> (Void# -> r) -> (Void# -> r) -> r
ExportableInstanceField_FindingReasonCodes = ExportableInstanceField' "FindingReasonCodes"

pattern ExportableInstanceField_InstanceArn :: ExportableInstanceField
pattern $bExportableInstanceField_InstanceArn :: ExportableInstanceField
$mExportableInstanceField_InstanceArn :: forall r.
ExportableInstanceField -> (Void# -> r) -> (Void# -> r) -> r
ExportableInstanceField_InstanceArn = ExportableInstanceField' "InstanceArn"

pattern ExportableInstanceField_InstanceName :: ExportableInstanceField
pattern $bExportableInstanceField_InstanceName :: ExportableInstanceField
$mExportableInstanceField_InstanceName :: forall r.
ExportableInstanceField -> (Void# -> r) -> (Void# -> r) -> r
ExportableInstanceField_InstanceName = ExportableInstanceField' "InstanceName"

pattern ExportableInstanceField_LastRefreshTimestamp :: ExportableInstanceField
pattern $bExportableInstanceField_LastRefreshTimestamp :: ExportableInstanceField
$mExportableInstanceField_LastRefreshTimestamp :: forall r.
ExportableInstanceField -> (Void# -> r) -> (Void# -> r) -> r
ExportableInstanceField_LastRefreshTimestamp = ExportableInstanceField' "LastRefreshTimestamp"

pattern ExportableInstanceField_LookbackPeriodInDays :: ExportableInstanceField
pattern $bExportableInstanceField_LookbackPeriodInDays :: ExportableInstanceField
$mExportableInstanceField_LookbackPeriodInDays :: forall r.
ExportableInstanceField -> (Void# -> r) -> (Void# -> r) -> r
ExportableInstanceField_LookbackPeriodInDays = ExportableInstanceField' "LookbackPeriodInDays"

pattern ExportableInstanceField_RecommendationOptionsInstanceType :: ExportableInstanceField
pattern $bExportableInstanceField_RecommendationOptionsInstanceType :: ExportableInstanceField
$mExportableInstanceField_RecommendationOptionsInstanceType :: forall r.
ExportableInstanceField -> (Void# -> r) -> (Void# -> r) -> r
ExportableInstanceField_RecommendationOptionsInstanceType = ExportableInstanceField' "RecommendationOptionsInstanceType"

pattern ExportableInstanceField_RecommendationOptionsMemory :: ExportableInstanceField
pattern $bExportableInstanceField_RecommendationOptionsMemory :: ExportableInstanceField
$mExportableInstanceField_RecommendationOptionsMemory :: forall r.
ExportableInstanceField -> (Void# -> r) -> (Void# -> r) -> r
ExportableInstanceField_RecommendationOptionsMemory = ExportableInstanceField' "RecommendationOptionsMemory"

pattern ExportableInstanceField_RecommendationOptionsNetwork :: ExportableInstanceField
pattern $bExportableInstanceField_RecommendationOptionsNetwork :: ExportableInstanceField
$mExportableInstanceField_RecommendationOptionsNetwork :: forall r.
ExportableInstanceField -> (Void# -> r) -> (Void# -> r) -> r
ExportableInstanceField_RecommendationOptionsNetwork = ExportableInstanceField' "RecommendationOptionsNetwork"

pattern ExportableInstanceField_RecommendationOptionsOnDemandPrice :: ExportableInstanceField
pattern $bExportableInstanceField_RecommendationOptionsOnDemandPrice :: ExportableInstanceField
$mExportableInstanceField_RecommendationOptionsOnDemandPrice :: forall r.
ExportableInstanceField -> (Void# -> r) -> (Void# -> r) -> r
ExportableInstanceField_RecommendationOptionsOnDemandPrice = ExportableInstanceField' "RecommendationOptionsOnDemandPrice"

pattern ExportableInstanceField_RecommendationOptionsPerformanceRisk :: ExportableInstanceField
pattern $bExportableInstanceField_RecommendationOptionsPerformanceRisk :: ExportableInstanceField
$mExportableInstanceField_RecommendationOptionsPerformanceRisk :: forall r.
ExportableInstanceField -> (Void# -> r) -> (Void# -> r) -> r
ExportableInstanceField_RecommendationOptionsPerformanceRisk = ExportableInstanceField' "RecommendationOptionsPerformanceRisk"

pattern ExportableInstanceField_RecommendationOptionsPlatformDifferences :: ExportableInstanceField
pattern $bExportableInstanceField_RecommendationOptionsPlatformDifferences :: ExportableInstanceField
$mExportableInstanceField_RecommendationOptionsPlatformDifferences :: forall r.
ExportableInstanceField -> (Void# -> r) -> (Void# -> r) -> r
ExportableInstanceField_RecommendationOptionsPlatformDifferences = ExportableInstanceField' "RecommendationOptionsPlatformDifferences"

pattern ExportableInstanceField_RecommendationOptionsProjectedUtilizationMetricsCpuMaximum :: ExportableInstanceField
pattern $bExportableInstanceField_RecommendationOptionsProjectedUtilizationMetricsCpuMaximum :: ExportableInstanceField
$mExportableInstanceField_RecommendationOptionsProjectedUtilizationMetricsCpuMaximum :: forall r.
ExportableInstanceField -> (Void# -> r) -> (Void# -> r) -> r
ExportableInstanceField_RecommendationOptionsProjectedUtilizationMetricsCpuMaximum = ExportableInstanceField' "RecommendationOptionsProjectedUtilizationMetricsCpuMaximum"

pattern ExportableInstanceField_RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum :: ExportableInstanceField
pattern $bExportableInstanceField_RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum :: ExportableInstanceField
$mExportableInstanceField_RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum :: forall r.
ExportableInstanceField -> (Void# -> r) -> (Void# -> r) -> r
ExportableInstanceField_RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum = ExportableInstanceField' "RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum"

pattern ExportableInstanceField_RecommendationOptionsStandardOneYearNoUpfrontReservedPrice :: ExportableInstanceField
pattern $bExportableInstanceField_RecommendationOptionsStandardOneYearNoUpfrontReservedPrice :: ExportableInstanceField
$mExportableInstanceField_RecommendationOptionsStandardOneYearNoUpfrontReservedPrice :: forall r.
ExportableInstanceField -> (Void# -> r) -> (Void# -> r) -> r
ExportableInstanceField_RecommendationOptionsStandardOneYearNoUpfrontReservedPrice = ExportableInstanceField' "RecommendationOptionsStandardOneYearNoUpfrontReservedPrice"

pattern ExportableInstanceField_RecommendationOptionsStandardThreeYearNoUpfrontReservedPrice :: ExportableInstanceField
pattern $bExportableInstanceField_RecommendationOptionsStandardThreeYearNoUpfrontReservedPrice :: ExportableInstanceField
$mExportableInstanceField_RecommendationOptionsStandardThreeYearNoUpfrontReservedPrice :: forall r.
ExportableInstanceField -> (Void# -> r) -> (Void# -> r) -> r
ExportableInstanceField_RecommendationOptionsStandardThreeYearNoUpfrontReservedPrice = ExportableInstanceField' "RecommendationOptionsStandardThreeYearNoUpfrontReservedPrice"

pattern ExportableInstanceField_RecommendationOptionsStorage :: ExportableInstanceField
pattern $bExportableInstanceField_RecommendationOptionsStorage :: ExportableInstanceField
$mExportableInstanceField_RecommendationOptionsStorage :: forall r.
ExportableInstanceField -> (Void# -> r) -> (Void# -> r) -> r
ExportableInstanceField_RecommendationOptionsStorage = ExportableInstanceField' "RecommendationOptionsStorage"

pattern ExportableInstanceField_RecommendationOptionsVcpus :: ExportableInstanceField
pattern $bExportableInstanceField_RecommendationOptionsVcpus :: ExportableInstanceField
$mExportableInstanceField_RecommendationOptionsVcpus :: forall r.
ExportableInstanceField -> (Void# -> r) -> (Void# -> r) -> r
ExportableInstanceField_RecommendationOptionsVcpus = ExportableInstanceField' "RecommendationOptionsVcpus"

pattern ExportableInstanceField_RecommendationsSourcesRecommendationSourceArn :: ExportableInstanceField
pattern $bExportableInstanceField_RecommendationsSourcesRecommendationSourceArn :: ExportableInstanceField
$mExportableInstanceField_RecommendationsSourcesRecommendationSourceArn :: forall r.
ExportableInstanceField -> (Void# -> r) -> (Void# -> r) -> r
ExportableInstanceField_RecommendationsSourcesRecommendationSourceArn = ExportableInstanceField' "RecommendationsSourcesRecommendationSourceArn"

pattern ExportableInstanceField_RecommendationsSourcesRecommendationSourceType :: ExportableInstanceField
pattern $bExportableInstanceField_RecommendationsSourcesRecommendationSourceType :: ExportableInstanceField
$mExportableInstanceField_RecommendationsSourcesRecommendationSourceType :: forall r.
ExportableInstanceField -> (Void# -> r) -> (Void# -> r) -> r
ExportableInstanceField_RecommendationsSourcesRecommendationSourceType = ExportableInstanceField' "RecommendationsSourcesRecommendationSourceType"

pattern ExportableInstanceField_UtilizationMetricsCpuMaximum :: ExportableInstanceField
pattern $bExportableInstanceField_UtilizationMetricsCpuMaximum :: ExportableInstanceField
$mExportableInstanceField_UtilizationMetricsCpuMaximum :: forall r.
ExportableInstanceField -> (Void# -> r) -> (Void# -> r) -> r
ExportableInstanceField_UtilizationMetricsCpuMaximum = ExportableInstanceField' "UtilizationMetricsCpuMaximum"

pattern ExportableInstanceField_UtilizationMetricsDiskReadBytesPerSecondMaximum :: ExportableInstanceField
pattern $bExportableInstanceField_UtilizationMetricsDiskReadBytesPerSecondMaximum :: ExportableInstanceField
$mExportableInstanceField_UtilizationMetricsDiskReadBytesPerSecondMaximum :: forall r.
ExportableInstanceField -> (Void# -> r) -> (Void# -> r) -> r
ExportableInstanceField_UtilizationMetricsDiskReadBytesPerSecondMaximum = ExportableInstanceField' "UtilizationMetricsDiskReadBytesPerSecondMaximum"

pattern ExportableInstanceField_UtilizationMetricsDiskReadOpsPerSecondMaximum :: ExportableInstanceField
pattern $bExportableInstanceField_UtilizationMetricsDiskReadOpsPerSecondMaximum :: ExportableInstanceField
$mExportableInstanceField_UtilizationMetricsDiskReadOpsPerSecondMaximum :: forall r.
ExportableInstanceField -> (Void# -> r) -> (Void# -> r) -> r
ExportableInstanceField_UtilizationMetricsDiskReadOpsPerSecondMaximum = ExportableInstanceField' "UtilizationMetricsDiskReadOpsPerSecondMaximum"

pattern ExportableInstanceField_UtilizationMetricsDiskWriteBytesPerSecondMaximum :: ExportableInstanceField
pattern $bExportableInstanceField_UtilizationMetricsDiskWriteBytesPerSecondMaximum :: ExportableInstanceField
$mExportableInstanceField_UtilizationMetricsDiskWriteBytesPerSecondMaximum :: forall r.
ExportableInstanceField -> (Void# -> r) -> (Void# -> r) -> r
ExportableInstanceField_UtilizationMetricsDiskWriteBytesPerSecondMaximum = ExportableInstanceField' "UtilizationMetricsDiskWriteBytesPerSecondMaximum"

pattern ExportableInstanceField_UtilizationMetricsDiskWriteOpsPerSecondMaximum :: ExportableInstanceField
pattern $bExportableInstanceField_UtilizationMetricsDiskWriteOpsPerSecondMaximum :: ExportableInstanceField
$mExportableInstanceField_UtilizationMetricsDiskWriteOpsPerSecondMaximum :: forall r.
ExportableInstanceField -> (Void# -> r) -> (Void# -> r) -> r
ExportableInstanceField_UtilizationMetricsDiskWriteOpsPerSecondMaximum = ExportableInstanceField' "UtilizationMetricsDiskWriteOpsPerSecondMaximum"

pattern ExportableInstanceField_UtilizationMetricsEbsReadBytesPerSecondMaximum :: ExportableInstanceField
pattern $bExportableInstanceField_UtilizationMetricsEbsReadBytesPerSecondMaximum :: ExportableInstanceField
$mExportableInstanceField_UtilizationMetricsEbsReadBytesPerSecondMaximum :: forall r.
ExportableInstanceField -> (Void# -> r) -> (Void# -> r) -> r
ExportableInstanceField_UtilizationMetricsEbsReadBytesPerSecondMaximum = ExportableInstanceField' "UtilizationMetricsEbsReadBytesPerSecondMaximum"

pattern ExportableInstanceField_UtilizationMetricsEbsReadOpsPerSecondMaximum :: ExportableInstanceField
pattern $bExportableInstanceField_UtilizationMetricsEbsReadOpsPerSecondMaximum :: ExportableInstanceField
$mExportableInstanceField_UtilizationMetricsEbsReadOpsPerSecondMaximum :: forall r.
ExportableInstanceField -> (Void# -> r) -> (Void# -> r) -> r
ExportableInstanceField_UtilizationMetricsEbsReadOpsPerSecondMaximum = ExportableInstanceField' "UtilizationMetricsEbsReadOpsPerSecondMaximum"

pattern ExportableInstanceField_UtilizationMetricsEbsWriteBytesPerSecondMaximum :: ExportableInstanceField
pattern $bExportableInstanceField_UtilizationMetricsEbsWriteBytesPerSecondMaximum :: ExportableInstanceField
$mExportableInstanceField_UtilizationMetricsEbsWriteBytesPerSecondMaximum :: forall r.
ExportableInstanceField -> (Void# -> r) -> (Void# -> r) -> r
ExportableInstanceField_UtilizationMetricsEbsWriteBytesPerSecondMaximum = ExportableInstanceField' "UtilizationMetricsEbsWriteBytesPerSecondMaximum"

pattern ExportableInstanceField_UtilizationMetricsEbsWriteOpsPerSecondMaximum :: ExportableInstanceField
pattern $bExportableInstanceField_UtilizationMetricsEbsWriteOpsPerSecondMaximum :: ExportableInstanceField
$mExportableInstanceField_UtilizationMetricsEbsWriteOpsPerSecondMaximum :: forall r.
ExportableInstanceField -> (Void# -> r) -> (Void# -> r) -> r
ExportableInstanceField_UtilizationMetricsEbsWriteOpsPerSecondMaximum = ExportableInstanceField' "UtilizationMetricsEbsWriteOpsPerSecondMaximum"

pattern ExportableInstanceField_UtilizationMetricsMemoryMaximum :: ExportableInstanceField
pattern $bExportableInstanceField_UtilizationMetricsMemoryMaximum :: ExportableInstanceField
$mExportableInstanceField_UtilizationMetricsMemoryMaximum :: forall r.
ExportableInstanceField -> (Void# -> r) -> (Void# -> r) -> r
ExportableInstanceField_UtilizationMetricsMemoryMaximum = ExportableInstanceField' "UtilizationMetricsMemoryMaximum"

pattern ExportableInstanceField_UtilizationMetricsNetworkInBytesPerSecondMaximum :: ExportableInstanceField
pattern $bExportableInstanceField_UtilizationMetricsNetworkInBytesPerSecondMaximum :: ExportableInstanceField
$mExportableInstanceField_UtilizationMetricsNetworkInBytesPerSecondMaximum :: forall r.
ExportableInstanceField -> (Void# -> r) -> (Void# -> r) -> r
ExportableInstanceField_UtilizationMetricsNetworkInBytesPerSecondMaximum = ExportableInstanceField' "UtilizationMetricsNetworkInBytesPerSecondMaximum"

pattern ExportableInstanceField_UtilizationMetricsNetworkOutBytesPerSecondMaximum :: ExportableInstanceField
pattern $bExportableInstanceField_UtilizationMetricsNetworkOutBytesPerSecondMaximum :: ExportableInstanceField
$mExportableInstanceField_UtilizationMetricsNetworkOutBytesPerSecondMaximum :: forall r.
ExportableInstanceField -> (Void# -> r) -> (Void# -> r) -> r
ExportableInstanceField_UtilizationMetricsNetworkOutBytesPerSecondMaximum = ExportableInstanceField' "UtilizationMetricsNetworkOutBytesPerSecondMaximum"

pattern ExportableInstanceField_UtilizationMetricsNetworkPacketsInPerSecondMaximum :: ExportableInstanceField
pattern $bExportableInstanceField_UtilizationMetricsNetworkPacketsInPerSecondMaximum :: ExportableInstanceField
$mExportableInstanceField_UtilizationMetricsNetworkPacketsInPerSecondMaximum :: forall r.
ExportableInstanceField -> (Void# -> r) -> (Void# -> r) -> r
ExportableInstanceField_UtilizationMetricsNetworkPacketsInPerSecondMaximum = ExportableInstanceField' "UtilizationMetricsNetworkPacketsInPerSecondMaximum"

pattern ExportableInstanceField_UtilizationMetricsNetworkPacketsOutPerSecondMaximum :: ExportableInstanceField
pattern $bExportableInstanceField_UtilizationMetricsNetworkPacketsOutPerSecondMaximum :: ExportableInstanceField
$mExportableInstanceField_UtilizationMetricsNetworkPacketsOutPerSecondMaximum :: forall r.
ExportableInstanceField -> (Void# -> r) -> (Void# -> r) -> r
ExportableInstanceField_UtilizationMetricsNetworkPacketsOutPerSecondMaximum = ExportableInstanceField' "UtilizationMetricsNetworkPacketsOutPerSecondMaximum"

{-# COMPLETE
  ExportableInstanceField_AccountId,
  ExportableInstanceField_CurrentInstanceType,
  ExportableInstanceField_CurrentMemory,
  ExportableInstanceField_CurrentNetwork,
  ExportableInstanceField_CurrentOnDemandPrice,
  ExportableInstanceField_CurrentStandardOneYearNoUpfrontReservedPrice,
  ExportableInstanceField_CurrentStandardThreeYearNoUpfrontReservedPrice,
  ExportableInstanceField_CurrentStorage,
  ExportableInstanceField_CurrentVCpus,
  ExportableInstanceField_Finding,
  ExportableInstanceField_FindingReasonCodes,
  ExportableInstanceField_InstanceArn,
  ExportableInstanceField_InstanceName,
  ExportableInstanceField_LastRefreshTimestamp,
  ExportableInstanceField_LookbackPeriodInDays,
  ExportableInstanceField_RecommendationOptionsInstanceType,
  ExportableInstanceField_RecommendationOptionsMemory,
  ExportableInstanceField_RecommendationOptionsNetwork,
  ExportableInstanceField_RecommendationOptionsOnDemandPrice,
  ExportableInstanceField_RecommendationOptionsPerformanceRisk,
  ExportableInstanceField_RecommendationOptionsPlatformDifferences,
  ExportableInstanceField_RecommendationOptionsProjectedUtilizationMetricsCpuMaximum,
  ExportableInstanceField_RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum,
  ExportableInstanceField_RecommendationOptionsStandardOneYearNoUpfrontReservedPrice,
  ExportableInstanceField_RecommendationOptionsStandardThreeYearNoUpfrontReservedPrice,
  ExportableInstanceField_RecommendationOptionsStorage,
  ExportableInstanceField_RecommendationOptionsVcpus,
  ExportableInstanceField_RecommendationsSourcesRecommendationSourceArn,
  ExportableInstanceField_RecommendationsSourcesRecommendationSourceType,
  ExportableInstanceField_UtilizationMetricsCpuMaximum,
  ExportableInstanceField_UtilizationMetricsDiskReadBytesPerSecondMaximum,
  ExportableInstanceField_UtilizationMetricsDiskReadOpsPerSecondMaximum,
  ExportableInstanceField_UtilizationMetricsDiskWriteBytesPerSecondMaximum,
  ExportableInstanceField_UtilizationMetricsDiskWriteOpsPerSecondMaximum,
  ExportableInstanceField_UtilizationMetricsEbsReadBytesPerSecondMaximum,
  ExportableInstanceField_UtilizationMetricsEbsReadOpsPerSecondMaximum,
  ExportableInstanceField_UtilizationMetricsEbsWriteBytesPerSecondMaximum,
  ExportableInstanceField_UtilizationMetricsEbsWriteOpsPerSecondMaximum,
  ExportableInstanceField_UtilizationMetricsMemoryMaximum,
  ExportableInstanceField_UtilizationMetricsNetworkInBytesPerSecondMaximum,
  ExportableInstanceField_UtilizationMetricsNetworkOutBytesPerSecondMaximum,
  ExportableInstanceField_UtilizationMetricsNetworkPacketsInPerSecondMaximum,
  ExportableInstanceField_UtilizationMetricsNetworkPacketsOutPerSecondMaximum,
  ExportableInstanceField'
  #-}