{-# 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.Nimble.Types.StudioComponentInitializationScriptRunContext
-- 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.Nimble.Types.StudioComponentInitializationScriptRunContext
  ( StudioComponentInitializationScriptRunContext
      ( ..,
        StudioComponentInitializationScriptRunContext_SYSTEM_INITIALIZATION,
        StudioComponentInitializationScriptRunContext_USER_INITIALIZATION
      ),
  )
where

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

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

pattern StudioComponentInitializationScriptRunContext_SYSTEM_INITIALIZATION :: StudioComponentInitializationScriptRunContext
pattern $bStudioComponentInitializationScriptRunContext_SYSTEM_INITIALIZATION :: StudioComponentInitializationScriptRunContext
$mStudioComponentInitializationScriptRunContext_SYSTEM_INITIALIZATION :: forall r.
StudioComponentInitializationScriptRunContext
-> (Void# -> r) -> (Void# -> r) -> r
StudioComponentInitializationScriptRunContext_SYSTEM_INITIALIZATION = StudioComponentInitializationScriptRunContext' "SYSTEM_INITIALIZATION"

pattern StudioComponentInitializationScriptRunContext_USER_INITIALIZATION :: StudioComponentInitializationScriptRunContext
pattern $bStudioComponentInitializationScriptRunContext_USER_INITIALIZATION :: StudioComponentInitializationScriptRunContext
$mStudioComponentInitializationScriptRunContext_USER_INITIALIZATION :: forall r.
StudioComponentInitializationScriptRunContext
-> (Void# -> r) -> (Void# -> r) -> r
StudioComponentInitializationScriptRunContext_USER_INITIALIZATION = StudioComponentInitializationScriptRunContext' "USER_INITIALIZATION"

{-# COMPLETE
  StudioComponentInitializationScriptRunContext_SYSTEM_INITIALIZATION,
  StudioComponentInitializationScriptRunContext_USER_INITIALIZATION,
  StudioComponentInitializationScriptRunContext'
  #-}