{-# 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.Inspector2.Types.PackageManager
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.Inspector2.Types.PackageManager
  ( PackageManager
      ( ..,
        PackageManager_BUNDLER,
        PackageManager_CARGO,
        PackageManager_COMPOSER,
        PackageManager_GOBINARY,
        PackageManager_GOMOD,
        PackageManager_JAR,
        PackageManager_NODEPKG,
        PackageManager_NPM,
        PackageManager_NUGET,
        PackageManager_OS,
        PackageManager_PIP,
        PackageManager_PIPENV,
        PackageManager_POETRY,
        PackageManager_POM,
        PackageManager_PYTHONPKG,
        PackageManager_YARN
      ),
  )
where

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

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

pattern PackageManager_BUNDLER :: PackageManager
pattern $bPackageManager_BUNDLER :: PackageManager
$mPackageManager_BUNDLER :: forall {r}. PackageManager -> ((# #) -> r) -> ((# #) -> r) -> r
PackageManager_BUNDLER = PackageManager' "BUNDLER"

pattern PackageManager_CARGO :: PackageManager
pattern $bPackageManager_CARGO :: PackageManager
$mPackageManager_CARGO :: forall {r}. PackageManager -> ((# #) -> r) -> ((# #) -> r) -> r
PackageManager_CARGO = PackageManager' "CARGO"

pattern PackageManager_COMPOSER :: PackageManager
pattern $bPackageManager_COMPOSER :: PackageManager
$mPackageManager_COMPOSER :: forall {r}. PackageManager -> ((# #) -> r) -> ((# #) -> r) -> r
PackageManager_COMPOSER = PackageManager' "COMPOSER"

pattern PackageManager_GOBINARY :: PackageManager
pattern $bPackageManager_GOBINARY :: PackageManager
$mPackageManager_GOBINARY :: forall {r}. PackageManager -> ((# #) -> r) -> ((# #) -> r) -> r
PackageManager_GOBINARY = PackageManager' "GOBINARY"

pattern PackageManager_GOMOD :: PackageManager
pattern $bPackageManager_GOMOD :: PackageManager
$mPackageManager_GOMOD :: forall {r}. PackageManager -> ((# #) -> r) -> ((# #) -> r) -> r
PackageManager_GOMOD = PackageManager' "GOMOD"

pattern PackageManager_JAR :: PackageManager
pattern $bPackageManager_JAR :: PackageManager
$mPackageManager_JAR :: forall {r}. PackageManager -> ((# #) -> r) -> ((# #) -> r) -> r
PackageManager_JAR = PackageManager' "JAR"

pattern PackageManager_NODEPKG :: PackageManager
pattern $bPackageManager_NODEPKG :: PackageManager
$mPackageManager_NODEPKG :: forall {r}. PackageManager -> ((# #) -> r) -> ((# #) -> r) -> r
PackageManager_NODEPKG = PackageManager' "NODEPKG"

pattern PackageManager_NPM :: PackageManager
pattern $bPackageManager_NPM :: PackageManager
$mPackageManager_NPM :: forall {r}. PackageManager -> ((# #) -> r) -> ((# #) -> r) -> r
PackageManager_NPM = PackageManager' "NPM"

pattern PackageManager_NUGET :: PackageManager
pattern $bPackageManager_NUGET :: PackageManager
$mPackageManager_NUGET :: forall {r}. PackageManager -> ((# #) -> r) -> ((# #) -> r) -> r
PackageManager_NUGET = PackageManager' "NUGET"

pattern PackageManager_OS :: PackageManager
pattern $bPackageManager_OS :: PackageManager
$mPackageManager_OS :: forall {r}. PackageManager -> ((# #) -> r) -> ((# #) -> r) -> r
PackageManager_OS = PackageManager' "OS"

pattern PackageManager_PIP :: PackageManager
pattern $bPackageManager_PIP :: PackageManager
$mPackageManager_PIP :: forall {r}. PackageManager -> ((# #) -> r) -> ((# #) -> r) -> r
PackageManager_PIP = PackageManager' "PIP"

pattern PackageManager_PIPENV :: PackageManager
pattern $bPackageManager_PIPENV :: PackageManager
$mPackageManager_PIPENV :: forall {r}. PackageManager -> ((# #) -> r) -> ((# #) -> r) -> r
PackageManager_PIPENV = PackageManager' "PIPENV"

pattern PackageManager_POETRY :: PackageManager
pattern $bPackageManager_POETRY :: PackageManager
$mPackageManager_POETRY :: forall {r}. PackageManager -> ((# #) -> r) -> ((# #) -> r) -> r
PackageManager_POETRY = PackageManager' "POETRY"

pattern PackageManager_POM :: PackageManager
pattern $bPackageManager_POM :: PackageManager
$mPackageManager_POM :: forall {r}. PackageManager -> ((# #) -> r) -> ((# #) -> r) -> r
PackageManager_POM = PackageManager' "POM"

pattern PackageManager_PYTHONPKG :: PackageManager
pattern $bPackageManager_PYTHONPKG :: PackageManager
$mPackageManager_PYTHONPKG :: forall {r}. PackageManager -> ((# #) -> r) -> ((# #) -> r) -> r
PackageManager_PYTHONPKG = PackageManager' "PYTHONPKG"

pattern PackageManager_YARN :: PackageManager
pattern $bPackageManager_YARN :: PackageManager
$mPackageManager_YARN :: forall {r}. PackageManager -> ((# #) -> r) -> ((# #) -> r) -> r
PackageManager_YARN = PackageManager' "YARN"

{-# COMPLETE
  PackageManager_BUNDLER,
  PackageManager_CARGO,
  PackageManager_COMPOSER,
  PackageManager_GOBINARY,
  PackageManager_GOMOD,
  PackageManager_JAR,
  PackageManager_NODEPKG,
  PackageManager_NPM,
  PackageManager_NUGET,
  PackageManager_OS,
  PackageManager_PIP,
  PackageManager_PIPENV,
  PackageManager_POETRY,
  PackageManager_POM,
  PackageManager_PYTHONPKG,
  PackageManager_YARN,
  PackageManager'
  #-}