{-# 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.DescribePackageVersion
(
DescribePackageVersion (..),
newDescribePackageVersion,
describePackageVersion_domainOwner,
describePackageVersion_namespace,
describePackageVersion_domain,
describePackageVersion_repository,
describePackageVersion_format,
describePackageVersion_package,
describePackageVersion_packageVersion,
DescribePackageVersionResponse (..),
newDescribePackageVersionResponse,
describePackageVersionResponse_httpStatus,
describePackageVersionResponse_packageVersion,
)
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 DescribePackageVersion = DescribePackageVersion'
{
DescribePackageVersion -> Maybe Text
domainOwner :: Prelude.Maybe Prelude.Text,
DescribePackageVersion -> Maybe Text
namespace :: Prelude.Maybe Prelude.Text,
DescribePackageVersion -> Text
domain :: Prelude.Text,
DescribePackageVersion -> Text
repository :: Prelude.Text,
DescribePackageVersion -> PackageFormat
format :: PackageFormat,
DescribePackageVersion -> Text
package :: Prelude.Text,
DescribePackageVersion -> Text
packageVersion :: Prelude.Text
}
deriving (DescribePackageVersion -> DescribePackageVersion -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribePackageVersion -> DescribePackageVersion -> Bool
$c/= :: DescribePackageVersion -> DescribePackageVersion -> Bool
== :: DescribePackageVersion -> DescribePackageVersion -> Bool
$c== :: DescribePackageVersion -> DescribePackageVersion -> Bool
Prelude.Eq, ReadPrec [DescribePackageVersion]
ReadPrec DescribePackageVersion
Int -> ReadS DescribePackageVersion
ReadS [DescribePackageVersion]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribePackageVersion]
$creadListPrec :: ReadPrec [DescribePackageVersion]
readPrec :: ReadPrec DescribePackageVersion
$creadPrec :: ReadPrec DescribePackageVersion
readList :: ReadS [DescribePackageVersion]
$creadList :: ReadS [DescribePackageVersion]
readsPrec :: Int -> ReadS DescribePackageVersion
$creadsPrec :: Int -> ReadS DescribePackageVersion
Prelude.Read, Int -> DescribePackageVersion -> ShowS
[DescribePackageVersion] -> ShowS
DescribePackageVersion -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribePackageVersion] -> ShowS
$cshowList :: [DescribePackageVersion] -> ShowS
show :: DescribePackageVersion -> String
$cshow :: DescribePackageVersion -> String
showsPrec :: Int -> DescribePackageVersion -> ShowS
$cshowsPrec :: Int -> DescribePackageVersion -> ShowS
Prelude.Show, forall x. Rep DescribePackageVersion x -> DescribePackageVersion
forall x. DescribePackageVersion -> Rep DescribePackageVersion x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribePackageVersion x -> DescribePackageVersion
$cfrom :: forall x. DescribePackageVersion -> Rep DescribePackageVersion x
Prelude.Generic)
newDescribePackageVersion ::
Prelude.Text ->
Prelude.Text ->
PackageFormat ->
Prelude.Text ->
Prelude.Text ->
DescribePackageVersion
newDescribePackageVersion :: Text
-> Text -> PackageFormat -> Text -> Text -> DescribePackageVersion
newDescribePackageVersion
Text
pDomain_
Text
pRepository_
PackageFormat
pFormat_
Text
pPackage_
Text
pPackageVersion_ =
DescribePackageVersion'
{ $sel:domainOwner:DescribePackageVersion' :: Maybe Text
domainOwner =
forall a. Maybe a
Prelude.Nothing,
$sel:namespace:DescribePackageVersion' :: Maybe Text
namespace = forall a. Maybe a
Prelude.Nothing,
$sel:domain:DescribePackageVersion' :: Text
domain = Text
pDomain_,
$sel:repository:DescribePackageVersion' :: Text
repository = Text
pRepository_,
$sel:format:DescribePackageVersion' :: PackageFormat
format = PackageFormat
pFormat_,
$sel:package:DescribePackageVersion' :: Text
package = Text
pPackage_,
$sel:packageVersion:DescribePackageVersion' :: Text
packageVersion = Text
pPackageVersion_
}
describePackageVersion_domainOwner :: Lens.Lens' DescribePackageVersion (Prelude.Maybe Prelude.Text)
describePackageVersion_domainOwner :: Lens' DescribePackageVersion (Maybe Text)
describePackageVersion_domainOwner = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePackageVersion' {Maybe Text
domainOwner :: Maybe Text
$sel:domainOwner:DescribePackageVersion' :: DescribePackageVersion -> Maybe Text
domainOwner} -> Maybe Text
domainOwner) (\s :: DescribePackageVersion
s@DescribePackageVersion' {} Maybe Text
a -> DescribePackageVersion
s {$sel:domainOwner:DescribePackageVersion' :: Maybe Text
domainOwner = Maybe Text
a} :: DescribePackageVersion)
describePackageVersion_namespace :: Lens.Lens' DescribePackageVersion (Prelude.Maybe Prelude.Text)
describePackageVersion_namespace :: Lens' DescribePackageVersion (Maybe Text)
describePackageVersion_namespace = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePackageVersion' {Maybe Text
namespace :: Maybe Text
$sel:namespace:DescribePackageVersion' :: DescribePackageVersion -> Maybe Text
namespace} -> Maybe Text
namespace) (\s :: DescribePackageVersion
s@DescribePackageVersion' {} Maybe Text
a -> DescribePackageVersion
s {$sel:namespace:DescribePackageVersion' :: Maybe Text
namespace = Maybe Text
a} :: DescribePackageVersion)
describePackageVersion_domain :: Lens.Lens' DescribePackageVersion Prelude.Text
describePackageVersion_domain :: Lens' DescribePackageVersion Text
describePackageVersion_domain = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePackageVersion' {Text
domain :: Text
$sel:domain:DescribePackageVersion' :: DescribePackageVersion -> Text
domain} -> Text
domain) (\s :: DescribePackageVersion
s@DescribePackageVersion' {} Text
a -> DescribePackageVersion
s {$sel:domain:DescribePackageVersion' :: Text
domain = Text
a} :: DescribePackageVersion)
describePackageVersion_repository :: Lens.Lens' DescribePackageVersion Prelude.Text
describePackageVersion_repository :: Lens' DescribePackageVersion Text
describePackageVersion_repository = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePackageVersion' {Text
repository :: Text
$sel:repository:DescribePackageVersion' :: DescribePackageVersion -> Text
repository} -> Text
repository) (\s :: DescribePackageVersion
s@DescribePackageVersion' {} Text
a -> DescribePackageVersion
s {$sel:repository:DescribePackageVersion' :: Text
repository = Text
a} :: DescribePackageVersion)
describePackageVersion_format :: Lens.Lens' DescribePackageVersion PackageFormat
describePackageVersion_format :: Lens' DescribePackageVersion PackageFormat
describePackageVersion_format = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePackageVersion' {PackageFormat
format :: PackageFormat
$sel:format:DescribePackageVersion' :: DescribePackageVersion -> PackageFormat
format} -> PackageFormat
format) (\s :: DescribePackageVersion
s@DescribePackageVersion' {} PackageFormat
a -> DescribePackageVersion
s {$sel:format:DescribePackageVersion' :: PackageFormat
format = PackageFormat
a} :: DescribePackageVersion)
describePackageVersion_package :: Lens.Lens' DescribePackageVersion Prelude.Text
describePackageVersion_package :: Lens' DescribePackageVersion Text
describePackageVersion_package = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePackageVersion' {Text
package :: Text
$sel:package:DescribePackageVersion' :: DescribePackageVersion -> Text
package} -> Text
package) (\s :: DescribePackageVersion
s@DescribePackageVersion' {} Text
a -> DescribePackageVersion
s {$sel:package:DescribePackageVersion' :: Text
package = Text
a} :: DescribePackageVersion)
describePackageVersion_packageVersion :: Lens.Lens' DescribePackageVersion Prelude.Text
describePackageVersion_packageVersion :: Lens' DescribePackageVersion Text
describePackageVersion_packageVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePackageVersion' {Text
packageVersion :: Text
$sel:packageVersion:DescribePackageVersion' :: DescribePackageVersion -> Text
packageVersion} -> Text
packageVersion) (\s :: DescribePackageVersion
s@DescribePackageVersion' {} Text
a -> DescribePackageVersion
s {$sel:packageVersion:DescribePackageVersion' :: Text
packageVersion = Text
a} :: DescribePackageVersion)
instance Core.AWSRequest DescribePackageVersion where
type
AWSResponse DescribePackageVersion =
DescribePackageVersionResponse
request :: (Service -> Service)
-> DescribePackageVersion -> Request DescribePackageVersion
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 DescribePackageVersion
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DescribePackageVersion)))
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 -> PackageVersionDescription -> DescribePackageVersionResponse
DescribePackageVersionResponse'
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
"packageVersion")
)
instance Prelude.Hashable DescribePackageVersion where
hashWithSalt :: Int -> DescribePackageVersion -> Int
hashWithSalt Int
_salt DescribePackageVersion' {Maybe Text
Text
PackageFormat
packageVersion :: Text
package :: Text
format :: PackageFormat
repository :: Text
domain :: Text
namespace :: Maybe Text
domainOwner :: Maybe Text
$sel:packageVersion:DescribePackageVersion' :: DescribePackageVersion -> Text
$sel:package:DescribePackageVersion' :: DescribePackageVersion -> Text
$sel:format:DescribePackageVersion' :: DescribePackageVersion -> PackageFormat
$sel:repository:DescribePackageVersion' :: DescribePackageVersion -> Text
$sel:domain:DescribePackageVersion' :: DescribePackageVersion -> Text
$sel:namespace:DescribePackageVersion' :: DescribePackageVersion -> Maybe Text
$sel:domainOwner:DescribePackageVersion' :: DescribePackageVersion -> 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
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
packageVersion
instance Prelude.NFData DescribePackageVersion where
rnf :: DescribePackageVersion -> ()
rnf DescribePackageVersion' {Maybe Text
Text
PackageFormat
packageVersion :: Text
package :: Text
format :: PackageFormat
repository :: Text
domain :: Text
namespace :: Maybe Text
domainOwner :: Maybe Text
$sel:packageVersion:DescribePackageVersion' :: DescribePackageVersion -> Text
$sel:package:DescribePackageVersion' :: DescribePackageVersion -> Text
$sel:format:DescribePackageVersion' :: DescribePackageVersion -> PackageFormat
$sel:repository:DescribePackageVersion' :: DescribePackageVersion -> Text
$sel:domain:DescribePackageVersion' :: DescribePackageVersion -> Text
$sel:namespace:DescribePackageVersion' :: DescribePackageVersion -> Maybe Text
$sel:domainOwner:DescribePackageVersion' :: DescribePackageVersion -> 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
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
packageVersion
instance Data.ToHeaders DescribePackageVersion where
toHeaders :: DescribePackageVersion -> 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 DescribePackageVersion where
toPath :: DescribePackageVersion -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/v1/package/version"
instance Data.ToQuery DescribePackageVersion where
toQuery :: DescribePackageVersion -> QueryString
toQuery DescribePackageVersion' {Maybe Text
Text
PackageFormat
packageVersion :: Text
package :: Text
format :: PackageFormat
repository :: Text
domain :: Text
namespace :: Maybe Text
domainOwner :: Maybe Text
$sel:packageVersion:DescribePackageVersion' :: DescribePackageVersion -> Text
$sel:package:DescribePackageVersion' :: DescribePackageVersion -> Text
$sel:format:DescribePackageVersion' :: DescribePackageVersion -> PackageFormat
$sel:repository:DescribePackageVersion' :: DescribePackageVersion -> Text
$sel:domain:DescribePackageVersion' :: DescribePackageVersion -> Text
$sel:namespace:DescribePackageVersion' :: DescribePackageVersion -> Maybe Text
$sel:domainOwner:DescribePackageVersion' :: DescribePackageVersion -> 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,
ByteString
"version" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
packageVersion
]
data DescribePackageVersionResponse = DescribePackageVersionResponse'
{
DescribePackageVersionResponse -> Int
httpStatus :: Prelude.Int,
DescribePackageVersionResponse -> PackageVersionDescription
packageVersion :: PackageVersionDescription
}
deriving (DescribePackageVersionResponse
-> DescribePackageVersionResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribePackageVersionResponse
-> DescribePackageVersionResponse -> Bool
$c/= :: DescribePackageVersionResponse
-> DescribePackageVersionResponse -> Bool
== :: DescribePackageVersionResponse
-> DescribePackageVersionResponse -> Bool
$c== :: DescribePackageVersionResponse
-> DescribePackageVersionResponse -> Bool
Prelude.Eq, ReadPrec [DescribePackageVersionResponse]
ReadPrec DescribePackageVersionResponse
Int -> ReadS DescribePackageVersionResponse
ReadS [DescribePackageVersionResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribePackageVersionResponse]
$creadListPrec :: ReadPrec [DescribePackageVersionResponse]
readPrec :: ReadPrec DescribePackageVersionResponse
$creadPrec :: ReadPrec DescribePackageVersionResponse
readList :: ReadS [DescribePackageVersionResponse]
$creadList :: ReadS [DescribePackageVersionResponse]
readsPrec :: Int -> ReadS DescribePackageVersionResponse
$creadsPrec :: Int -> ReadS DescribePackageVersionResponse
Prelude.Read, Int -> DescribePackageVersionResponse -> ShowS
[DescribePackageVersionResponse] -> ShowS
DescribePackageVersionResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribePackageVersionResponse] -> ShowS
$cshowList :: [DescribePackageVersionResponse] -> ShowS
show :: DescribePackageVersionResponse -> String
$cshow :: DescribePackageVersionResponse -> String
showsPrec :: Int -> DescribePackageVersionResponse -> ShowS
$cshowsPrec :: Int -> DescribePackageVersionResponse -> ShowS
Prelude.Show, forall x.
Rep DescribePackageVersionResponse x
-> DescribePackageVersionResponse
forall x.
DescribePackageVersionResponse
-> Rep DescribePackageVersionResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribePackageVersionResponse x
-> DescribePackageVersionResponse
$cfrom :: forall x.
DescribePackageVersionResponse
-> Rep DescribePackageVersionResponse x
Prelude.Generic)
newDescribePackageVersionResponse ::
Prelude.Int ->
PackageVersionDescription ->
DescribePackageVersionResponse
newDescribePackageVersionResponse :: Int -> PackageVersionDescription -> DescribePackageVersionResponse
newDescribePackageVersionResponse
Int
pHttpStatus_
PackageVersionDescription
pPackageVersion_ =
DescribePackageVersionResponse'
{ $sel:httpStatus:DescribePackageVersionResponse' :: Int
httpStatus =
Int
pHttpStatus_,
$sel:packageVersion:DescribePackageVersionResponse' :: PackageVersionDescription
packageVersion = PackageVersionDescription
pPackageVersion_
}
describePackageVersionResponse_httpStatus :: Lens.Lens' DescribePackageVersionResponse Prelude.Int
describePackageVersionResponse_httpStatus :: Lens' DescribePackageVersionResponse Int
describePackageVersionResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePackageVersionResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribePackageVersionResponse' :: DescribePackageVersionResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribePackageVersionResponse
s@DescribePackageVersionResponse' {} Int
a -> DescribePackageVersionResponse
s {$sel:httpStatus:DescribePackageVersionResponse' :: Int
httpStatus = Int
a} :: DescribePackageVersionResponse)
describePackageVersionResponse_packageVersion :: Lens.Lens' DescribePackageVersionResponse PackageVersionDescription
describePackageVersionResponse_packageVersion :: Lens' DescribePackageVersionResponse PackageVersionDescription
describePackageVersionResponse_packageVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePackageVersionResponse' {PackageVersionDescription
packageVersion :: PackageVersionDescription
$sel:packageVersion:DescribePackageVersionResponse' :: DescribePackageVersionResponse -> PackageVersionDescription
packageVersion} -> PackageVersionDescription
packageVersion) (\s :: DescribePackageVersionResponse
s@DescribePackageVersionResponse' {} PackageVersionDescription
a -> DescribePackageVersionResponse
s {$sel:packageVersion:DescribePackageVersionResponse' :: PackageVersionDescription
packageVersion = PackageVersionDescription
a} :: DescribePackageVersionResponse)
instance
Prelude.NFData
DescribePackageVersionResponse
where
rnf :: DescribePackageVersionResponse -> ()
rnf DescribePackageVersionResponse' {Int
PackageVersionDescription
packageVersion :: PackageVersionDescription
httpStatus :: Int
$sel:packageVersion:DescribePackageVersionResponse' :: DescribePackageVersionResponse -> PackageVersionDescription
$sel:httpStatus:DescribePackageVersionResponse' :: DescribePackageVersionResponse -> 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 PackageVersionDescription
packageVersion