{-# 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.Inspector.Types.AssessmentRunState
-- 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.Inspector.Types.AssessmentRunState
  ( AssessmentRunState
      ( ..,
        AssessmentRunState_CANCELED,
        AssessmentRunState_COLLECTING_DATA,
        AssessmentRunState_COMPLETED,
        AssessmentRunState_COMPLETED_WITH_ERRORS,
        AssessmentRunState_CREATED,
        AssessmentRunState_DATA_COLLECTED,
        AssessmentRunState_ERROR,
        AssessmentRunState_EVALUATING_RULES,
        AssessmentRunState_FAILED,
        AssessmentRunState_START_DATA_COLLECTION_IN_PROGRESS,
        AssessmentRunState_START_DATA_COLLECTION_PENDING,
        AssessmentRunState_START_EVALUATING_RULES_PENDING,
        AssessmentRunState_STOP_DATA_COLLECTION_PENDING
      ),
  )
where

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

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

pattern AssessmentRunState_CANCELED :: AssessmentRunState
pattern $bAssessmentRunState_CANCELED :: AssessmentRunState
$mAssessmentRunState_CANCELED :: forall r. AssessmentRunState -> (Void# -> r) -> (Void# -> r) -> r
AssessmentRunState_CANCELED = AssessmentRunState' "CANCELED"

pattern AssessmentRunState_COLLECTING_DATA :: AssessmentRunState
pattern $bAssessmentRunState_COLLECTING_DATA :: AssessmentRunState
$mAssessmentRunState_COLLECTING_DATA :: forall r. AssessmentRunState -> (Void# -> r) -> (Void# -> r) -> r
AssessmentRunState_COLLECTING_DATA = AssessmentRunState' "COLLECTING_DATA"

pattern AssessmentRunState_COMPLETED :: AssessmentRunState
pattern $bAssessmentRunState_COMPLETED :: AssessmentRunState
$mAssessmentRunState_COMPLETED :: forall r. AssessmentRunState -> (Void# -> r) -> (Void# -> r) -> r
AssessmentRunState_COMPLETED = AssessmentRunState' "COMPLETED"

pattern AssessmentRunState_COMPLETED_WITH_ERRORS :: AssessmentRunState
pattern $bAssessmentRunState_COMPLETED_WITH_ERRORS :: AssessmentRunState
$mAssessmentRunState_COMPLETED_WITH_ERRORS :: forall r. AssessmentRunState -> (Void# -> r) -> (Void# -> r) -> r
AssessmentRunState_COMPLETED_WITH_ERRORS = AssessmentRunState' "COMPLETED_WITH_ERRORS"

pattern AssessmentRunState_CREATED :: AssessmentRunState
pattern $bAssessmentRunState_CREATED :: AssessmentRunState
$mAssessmentRunState_CREATED :: forall r. AssessmentRunState -> (Void# -> r) -> (Void# -> r) -> r
AssessmentRunState_CREATED = AssessmentRunState' "CREATED"

pattern AssessmentRunState_DATA_COLLECTED :: AssessmentRunState
pattern $bAssessmentRunState_DATA_COLLECTED :: AssessmentRunState
$mAssessmentRunState_DATA_COLLECTED :: forall r. AssessmentRunState -> (Void# -> r) -> (Void# -> r) -> r
AssessmentRunState_DATA_COLLECTED = AssessmentRunState' "DATA_COLLECTED"

pattern AssessmentRunState_ERROR :: AssessmentRunState
pattern $bAssessmentRunState_ERROR :: AssessmentRunState
$mAssessmentRunState_ERROR :: forall r. AssessmentRunState -> (Void# -> r) -> (Void# -> r) -> r
AssessmentRunState_ERROR = AssessmentRunState' "ERROR"

pattern AssessmentRunState_EVALUATING_RULES :: AssessmentRunState
pattern $bAssessmentRunState_EVALUATING_RULES :: AssessmentRunState
$mAssessmentRunState_EVALUATING_RULES :: forall r. AssessmentRunState -> (Void# -> r) -> (Void# -> r) -> r
AssessmentRunState_EVALUATING_RULES = AssessmentRunState' "EVALUATING_RULES"

pattern AssessmentRunState_FAILED :: AssessmentRunState
pattern $bAssessmentRunState_FAILED :: AssessmentRunState
$mAssessmentRunState_FAILED :: forall r. AssessmentRunState -> (Void# -> r) -> (Void# -> r) -> r
AssessmentRunState_FAILED = AssessmentRunState' "FAILED"

pattern AssessmentRunState_START_DATA_COLLECTION_IN_PROGRESS :: AssessmentRunState
pattern $bAssessmentRunState_START_DATA_COLLECTION_IN_PROGRESS :: AssessmentRunState
$mAssessmentRunState_START_DATA_COLLECTION_IN_PROGRESS :: forall r. AssessmentRunState -> (Void# -> r) -> (Void# -> r) -> r
AssessmentRunState_START_DATA_COLLECTION_IN_PROGRESS = AssessmentRunState' "START_DATA_COLLECTION_IN_PROGRESS"

pattern AssessmentRunState_START_DATA_COLLECTION_PENDING :: AssessmentRunState
pattern $bAssessmentRunState_START_DATA_COLLECTION_PENDING :: AssessmentRunState
$mAssessmentRunState_START_DATA_COLLECTION_PENDING :: forall r. AssessmentRunState -> (Void# -> r) -> (Void# -> r) -> r
AssessmentRunState_START_DATA_COLLECTION_PENDING = AssessmentRunState' "START_DATA_COLLECTION_PENDING"

pattern AssessmentRunState_START_EVALUATING_RULES_PENDING :: AssessmentRunState
pattern $bAssessmentRunState_START_EVALUATING_RULES_PENDING :: AssessmentRunState
$mAssessmentRunState_START_EVALUATING_RULES_PENDING :: forall r. AssessmentRunState -> (Void# -> r) -> (Void# -> r) -> r
AssessmentRunState_START_EVALUATING_RULES_PENDING = AssessmentRunState' "START_EVALUATING_RULES_PENDING"

pattern AssessmentRunState_STOP_DATA_COLLECTION_PENDING :: AssessmentRunState
pattern $bAssessmentRunState_STOP_DATA_COLLECTION_PENDING :: AssessmentRunState
$mAssessmentRunState_STOP_DATA_COLLECTION_PENDING :: forall r. AssessmentRunState -> (Void# -> r) -> (Void# -> r) -> r
AssessmentRunState_STOP_DATA_COLLECTION_PENDING = AssessmentRunState' "STOP_DATA_COLLECTION_PENDING"

{-# COMPLETE
  AssessmentRunState_CANCELED,
  AssessmentRunState_COLLECTING_DATA,
  AssessmentRunState_COMPLETED,
  AssessmentRunState_COMPLETED_WITH_ERRORS,
  AssessmentRunState_CREATED,
  AssessmentRunState_DATA_COLLECTED,
  AssessmentRunState_ERROR,
  AssessmentRunState_EVALUATING_RULES,
  AssessmentRunState_FAILED,
  AssessmentRunState_START_DATA_COLLECTION_IN_PROGRESS,
  AssessmentRunState_START_DATA_COLLECTION_PENDING,
  AssessmentRunState_START_EVALUATING_RULES_PENDING,
  AssessmentRunState_STOP_DATA_COLLECTION_PENDING,
  AssessmentRunState'
  #-}