{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.CodeArtifact.DescribePackage
(
DescribePackage (..),
newDescribePackage,
describePackage_domainOwner,
describePackage_namespace,
describePackage_domain,
describePackage_repository,
describePackage_format,
describePackage_package,
DescribePackageResponse (..),
newDescribePackageResponse,
describePackageResponse_httpStatus,
describePackageResponse_package,
)
where
import Amazonka.CodeArtifact.Types
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DescribePackage = DescribePackage'
{
DescribePackage -> Maybe Text
domainOwner :: Prelude.Maybe Prelude.Text,
DescribePackage -> Maybe Text
namespace :: Prelude.Maybe Prelude.Text,
DescribePackage -> Text
domain :: Prelude.Text,
DescribePackage -> Text
repository :: Prelude.Text,
DescribePackage -> PackageFormat
format :: PackageFormat,
DescribePackage -> Text
package :: Prelude.Text
}
deriving (DescribePackage -> DescribePackage -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribePackage -> DescribePackage -> Bool
$c/= :: DescribePackage -> DescribePackage -> Bool
== :: DescribePackage -> DescribePackage -> Bool
$c== :: DescribePackage -> DescribePackage -> Bool
Prelude.Eq, ReadPrec [DescribePackage]
ReadPrec DescribePackage
Int -> ReadS DescribePackage
ReadS [DescribePackage]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribePackage]
$creadListPrec :: ReadPrec [DescribePackage]
readPrec :: ReadPrec DescribePackage
$creadPrec :: ReadPrec DescribePackage
readList :: ReadS [DescribePackage]
$creadList :: ReadS [DescribePackage]
readsPrec :: Int -> ReadS DescribePackage
$creadsPrec :: Int -> ReadS DescribePackage
Prelude.Read, Int -> DescribePackage -> ShowS
[DescribePackage] -> ShowS
DescribePackage -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribePackage] -> ShowS
$cshowList :: [DescribePackage] -> ShowS
show :: DescribePackage -> String
$cshow :: DescribePackage -> String
showsPrec :: Int -> DescribePackage -> ShowS
$cshowsPrec :: Int -> DescribePackage -> ShowS
Prelude.Show, forall x. Rep DescribePackage x -> DescribePackage
forall x. DescribePackage -> Rep DescribePackage x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribePackage x -> DescribePackage
$cfrom :: forall x. DescribePackage -> Rep DescribePackage x
Prelude.Generic)
newDescribePackage ::
Prelude.Text ->
Prelude.Text ->
PackageFormat ->
Prelude.Text ->
DescribePackage
newDescribePackage :: Text -> Text -> PackageFormat -> Text -> DescribePackage
newDescribePackage
Text
pDomain_
Text
pRepository_
PackageFormat
pFormat_
Text
pPackage_ =
DescribePackage'
{ $sel:domainOwner:DescribePackage' :: Maybe Text
domainOwner = forall a. Maybe a
Prelude.Nothing,
$sel:namespace:DescribePackage' :: Maybe Text
namespace = forall a. Maybe a
Prelude.Nothing,
$sel:domain:DescribePackage' :: Text
domain = Text
pDomain_,
$sel:repository:DescribePackage' :: Text
repository = Text
pRepository_,
$sel:format:DescribePackage' :: PackageFormat
format = PackageFormat
pFormat_,
$sel:package:DescribePackage' :: Text
package = Text
pPackage_
}
describePackage_domainOwner :: Lens.Lens' DescribePackage (Prelude.Maybe Prelude.Text)
describePackage_domainOwner :: Lens' DescribePackage (Maybe Text)
describePackage_domainOwner = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePackage' {Maybe Text
domainOwner :: Maybe Text
$sel:domainOwner:DescribePackage' :: DescribePackage -> Maybe Text
domainOwner} -> Maybe Text
domainOwner) (\s :: DescribePackage
s@DescribePackage' {} Maybe Text
a -> DescribePackage
s {$sel:domainOwner:DescribePackage' :: Maybe Text
domainOwner = Maybe Text
a} :: DescribePackage)
describePackage_namespace :: Lens.Lens' DescribePackage (Prelude.Maybe Prelude.Text)
describePackage_namespace :: Lens' DescribePackage (Maybe Text)
describePackage_namespace = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePackage' {Maybe Text
namespace :: Maybe Text
$sel:namespace:DescribePackage' :: DescribePackage -> Maybe Text
namespace} -> Maybe Text
namespace) (\s :: DescribePackage
s@DescribePackage' {} Maybe Text
a -> DescribePackage
s {$sel:namespace:DescribePackage' :: Maybe Text
namespace = Maybe Text
a} :: DescribePackage)
describePackage_domain :: Lens.Lens' DescribePackage Prelude.Text
describePackage_domain :: Lens' DescribePackage Text
describePackage_domain = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePackage' {Text
domain :: Text
$sel:domain:DescribePackage' :: DescribePackage -> Text
domain} -> Text
domain) (\s :: DescribePackage
s@DescribePackage' {} Text
a -> DescribePackage
s {$sel:domain:DescribePackage' :: Text
domain = Text
a} :: DescribePackage)
describePackage_repository :: Lens.Lens' DescribePackage Prelude.Text
describePackage_repository :: Lens' DescribePackage Text
describePackage_repository = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePackage' {Text
repository :: Text
$sel:repository:DescribePackage' :: DescribePackage -> Text
repository} -> Text
repository) (\s :: DescribePackage
s@DescribePackage' {} Text
a -> DescribePackage
s {$sel:repository:DescribePackage' :: Text
repository = Text
a} :: DescribePackage)
describePackage_format :: Lens.Lens' DescribePackage PackageFormat
describePackage_format :: Lens' DescribePackage PackageFormat
describePackage_format = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePackage' {PackageFormat
format :: PackageFormat
$sel:format:DescribePackage' :: DescribePackage -> PackageFormat
format} -> PackageFormat
format) (\s :: DescribePackage
s@DescribePackage' {} PackageFormat
a -> DescribePackage
s {$sel:format:DescribePackage' :: PackageFormat
format = PackageFormat
a} :: DescribePackage)
describePackage_package :: Lens.Lens' DescribePackage Prelude.Text
describePackage_package :: Lens' DescribePackage Text
describePackage_package = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePackage' {Text
package :: Text
$sel:package:DescribePackage' :: DescribePackage -> Text
package} -> Text
package) (\s :: DescribePackage
s@DescribePackage' {} Text
a -> DescribePackage
s {$sel:package:DescribePackage' :: Text
package = Text
a} :: DescribePackage)
instance Core.AWSRequest DescribePackage where
type
AWSResponse DescribePackage =
DescribePackageResponse
request :: (Service -> Service) -> DescribePackage -> Request DescribePackage
request Service -> Service
overrides =
forall a. ToRequest a => Service -> a -> Request a
Request.get (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DescribePackage
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DescribePackage)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
( \Int
s ResponseHeaders
h Object
x ->
Int -> PackageDescription -> DescribePackageResponse
DescribePackageResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"package")
)
instance Prelude.Hashable DescribePackage where
hashWithSalt :: Int -> DescribePackage -> Int
hashWithSalt Int
_salt DescribePackage' {Maybe Text
Text
PackageFormat
package :: Text
format :: PackageFormat
repository :: Text
domain :: Text
namespace :: Maybe Text
domainOwner :: Maybe Text
$sel:package:DescribePackage' :: DescribePackage -> Text
$sel:format:DescribePackage' :: DescribePackage -> PackageFormat
$sel:repository:DescribePackage' :: DescribePackage -> Text
$sel:domain:DescribePackage' :: DescribePackage -> Text
$sel:namespace:DescribePackage' :: DescribePackage -> Maybe Text
$sel:domainOwner:DescribePackage' :: DescribePackage -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
domainOwner
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
namespace
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
domain
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
repository
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` PackageFormat
format
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
package
instance Prelude.NFData DescribePackage where
rnf :: DescribePackage -> ()
rnf DescribePackage' {Maybe Text
Text
PackageFormat
package :: Text
format :: PackageFormat
repository :: Text
domain :: Text
namespace :: Maybe Text
domainOwner :: Maybe Text
$sel:package:DescribePackage' :: DescribePackage -> Text
$sel:format:DescribePackage' :: DescribePackage -> PackageFormat
$sel:repository:DescribePackage' :: DescribePackage -> Text
$sel:domain:DescribePackage' :: DescribePackage -> Text
$sel:namespace:DescribePackage' :: DescribePackage -> Maybe Text
$sel:domainOwner:DescribePackage' :: DescribePackage -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
domainOwner
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
namespace
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
domain
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
repository
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf PackageFormat
format
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
package
instance Data.ToHeaders DescribePackage where
toHeaders :: DescribePackage -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToPath DescribePackage where
toPath :: DescribePackage -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/v1/package"
instance Data.ToQuery DescribePackage where
toQuery :: DescribePackage -> QueryString
toQuery DescribePackage' {Maybe Text
Text
PackageFormat
package :: Text
format :: PackageFormat
repository :: Text
domain :: Text
namespace :: Maybe Text
domainOwner :: Maybe Text
$sel:package:DescribePackage' :: DescribePackage -> Text
$sel:format:DescribePackage' :: DescribePackage -> PackageFormat
$sel:repository:DescribePackage' :: DescribePackage -> Text
$sel:domain:DescribePackage' :: DescribePackage -> Text
$sel:namespace:DescribePackage' :: DescribePackage -> Maybe Text
$sel:domainOwner:DescribePackage' :: DescribePackage -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"domain-owner" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
domainOwner,
ByteString
"namespace" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
namespace,
ByteString
"domain" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
domain,
ByteString
"repository" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
repository,
ByteString
"format" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: PackageFormat
format,
ByteString
"package" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
package
]
data DescribePackageResponse = DescribePackageResponse'
{
DescribePackageResponse -> Int
httpStatus :: Prelude.Int,
DescribePackageResponse -> PackageDescription
package :: PackageDescription
}
deriving (DescribePackageResponse -> DescribePackageResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribePackageResponse -> DescribePackageResponse -> Bool
$c/= :: DescribePackageResponse -> DescribePackageResponse -> Bool
== :: DescribePackageResponse -> DescribePackageResponse -> Bool
$c== :: DescribePackageResponse -> DescribePackageResponse -> Bool
Prelude.Eq, ReadPrec [DescribePackageResponse]
ReadPrec DescribePackageResponse
Int -> ReadS DescribePackageResponse
ReadS [DescribePackageResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribePackageResponse]
$creadListPrec :: ReadPrec [DescribePackageResponse]
readPrec :: ReadPrec DescribePackageResponse
$creadPrec :: ReadPrec DescribePackageResponse
readList :: ReadS [DescribePackageResponse]
$creadList :: ReadS [DescribePackageResponse]
readsPrec :: Int -> ReadS DescribePackageResponse
$creadsPrec :: Int -> ReadS DescribePackageResponse
Prelude.Read, Int -> DescribePackageResponse -> ShowS
[DescribePackageResponse] -> ShowS
DescribePackageResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribePackageResponse] -> ShowS
$cshowList :: [DescribePackageResponse] -> ShowS
show :: DescribePackageResponse -> String
$cshow :: DescribePackageResponse -> String
showsPrec :: Int -> DescribePackageResponse -> ShowS
$cshowsPrec :: Int -> DescribePackageResponse -> ShowS
Prelude.Show, forall x. Rep DescribePackageResponse x -> DescribePackageResponse
forall x. DescribePackageResponse -> Rep DescribePackageResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribePackageResponse x -> DescribePackageResponse
$cfrom :: forall x. DescribePackageResponse -> Rep DescribePackageResponse x
Prelude.Generic)
newDescribePackageResponse ::
Prelude.Int ->
PackageDescription ->
DescribePackageResponse
newDescribePackageResponse :: Int -> PackageDescription -> DescribePackageResponse
newDescribePackageResponse Int
pHttpStatus_ PackageDescription
pPackage_ =
DescribePackageResponse'
{ $sel:httpStatus:DescribePackageResponse' :: Int
httpStatus = Int
pHttpStatus_,
$sel:package:DescribePackageResponse' :: PackageDescription
package = PackageDescription
pPackage_
}
describePackageResponse_httpStatus :: Lens.Lens' DescribePackageResponse Prelude.Int
describePackageResponse_httpStatus :: Lens' DescribePackageResponse Int
describePackageResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePackageResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribePackageResponse' :: DescribePackageResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribePackageResponse
s@DescribePackageResponse' {} Int
a -> DescribePackageResponse
s {$sel:httpStatus:DescribePackageResponse' :: Int
httpStatus = Int
a} :: DescribePackageResponse)
describePackageResponse_package :: Lens.Lens' DescribePackageResponse PackageDescription
describePackageResponse_package :: Lens' DescribePackageResponse PackageDescription
describePackageResponse_package = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePackageResponse' {PackageDescription
package :: PackageDescription
$sel:package:DescribePackageResponse' :: DescribePackageResponse -> PackageDescription
package} -> PackageDescription
package) (\s :: DescribePackageResponse
s@DescribePackageResponse' {} PackageDescription
a -> DescribePackageResponse
s {$sel:package:DescribePackageResponse' :: PackageDescription
package = PackageDescription
a} :: DescribePackageResponse)
instance Prelude.NFData DescribePackageResponse where
rnf :: DescribePackageResponse -> ()
rnf DescribePackageResponse' {Int
PackageDescription
package :: PackageDescription
httpStatus :: Int
$sel:package:DescribePackageResponse' :: DescribePackageResponse -> PackageDescription
$sel:httpStatus:DescribePackageResponse' :: DescribePackageResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf PackageDescription
package