{-# 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 #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.Glue.CreateRegistry
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Creates a new registry which may be used to hold a collection of
-- schemas.
module Amazonka.Glue.CreateRegistry
  ( -- * Creating a Request
    CreateRegistry (..),
    newCreateRegistry,

    -- * Request Lenses
    createRegistry_description,
    createRegistry_tags,
    createRegistry_registryName,

    -- * Destructuring the Response
    CreateRegistryResponse (..),
    newCreateRegistryResponse,

    -- * Response Lenses
    createRegistryResponse_description,
    createRegistryResponse_registryArn,
    createRegistryResponse_registryName,
    createRegistryResponse_tags,
    createRegistryResponse_httpStatus,
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Glue.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response

-- | /See:/ 'newCreateRegistry' smart constructor.
data CreateRegistry = CreateRegistry'
  { -- | A description of the registry. If description is not provided, there
    -- will not be any default value for this.
    CreateRegistry -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
    -- | Amazon Web Services tags that contain a key value pair and may be
    -- searched by console, command line, or API.
    CreateRegistry -> Maybe (HashMap Text Text)
tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
    -- | Name of the registry to be created of max length of 255, and may only
    -- contain letters, numbers, hyphen, underscore, dollar sign, or hash mark.
    -- No whitespace.
    CreateRegistry -> Text
registryName :: Prelude.Text
  }
  deriving (CreateRegistry -> CreateRegistry -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateRegistry -> CreateRegistry -> Bool
$c/= :: CreateRegistry -> CreateRegistry -> Bool
== :: CreateRegistry -> CreateRegistry -> Bool
$c== :: CreateRegistry -> CreateRegistry -> Bool
Prelude.Eq, ReadPrec [CreateRegistry]
ReadPrec CreateRegistry
Int -> ReadS CreateRegistry
ReadS [CreateRegistry]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateRegistry]
$creadListPrec :: ReadPrec [CreateRegistry]
readPrec :: ReadPrec CreateRegistry
$creadPrec :: ReadPrec CreateRegistry
readList :: ReadS [CreateRegistry]
$creadList :: ReadS [CreateRegistry]
readsPrec :: Int -> ReadS CreateRegistry
$creadsPrec :: Int -> ReadS CreateRegistry
Prelude.Read, Int -> CreateRegistry -> ShowS
[CreateRegistry] -> ShowS
CreateRegistry -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateRegistry] -> ShowS
$cshowList :: [CreateRegistry] -> ShowS
show :: CreateRegistry -> String
$cshow :: CreateRegistry -> String
showsPrec :: Int -> CreateRegistry -> ShowS
$cshowsPrec :: Int -> CreateRegistry -> ShowS
Prelude.Show, forall x. Rep CreateRegistry x -> CreateRegistry
forall x. CreateRegistry -> Rep CreateRegistry x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreateRegistry x -> CreateRegistry
$cfrom :: forall x. CreateRegistry -> Rep CreateRegistry x
Prelude.Generic)

-- |
-- Create a value of 'CreateRegistry' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'description', 'createRegistry_description' - A description of the registry. If description is not provided, there
-- will not be any default value for this.
--
-- 'tags', 'createRegistry_tags' - Amazon Web Services tags that contain a key value pair and may be
-- searched by console, command line, or API.
--
-- 'registryName', 'createRegistry_registryName' - Name of the registry to be created of max length of 255, and may only
-- contain letters, numbers, hyphen, underscore, dollar sign, or hash mark.
-- No whitespace.
newCreateRegistry ::
  -- | 'registryName'
  Prelude.Text ->
  CreateRegistry
newCreateRegistry :: Text -> CreateRegistry
newCreateRegistry Text
pRegistryName_ =
  CreateRegistry'
    { $sel:description:CreateRegistry' :: Maybe Text
description = forall a. Maybe a
Prelude.Nothing,
      $sel:tags:CreateRegistry' :: Maybe (HashMap Text Text)
tags = forall a. Maybe a
Prelude.Nothing,
      $sel:registryName:CreateRegistry' :: Text
registryName = Text
pRegistryName_
    }

-- | A description of the registry. If description is not provided, there
-- will not be any default value for this.
createRegistry_description :: Lens.Lens' CreateRegistry (Prelude.Maybe Prelude.Text)
createRegistry_description :: Lens' CreateRegistry (Maybe Text)
createRegistry_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateRegistry' {Maybe Text
description :: Maybe Text
$sel:description:CreateRegistry' :: CreateRegistry -> Maybe Text
description} -> Maybe Text
description) (\s :: CreateRegistry
s@CreateRegistry' {} Maybe Text
a -> CreateRegistry
s {$sel:description:CreateRegistry' :: Maybe Text
description = Maybe Text
a} :: CreateRegistry)

-- | Amazon Web Services tags that contain a key value pair and may be
-- searched by console, command line, or API.
createRegistry_tags :: Lens.Lens' CreateRegistry (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
createRegistry_tags :: Lens' CreateRegistry (Maybe (HashMap Text Text))
createRegistry_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateRegistry' {Maybe (HashMap Text Text)
tags :: Maybe (HashMap Text Text)
$sel:tags:CreateRegistry' :: CreateRegistry -> Maybe (HashMap Text Text)
tags} -> Maybe (HashMap Text Text)
tags) (\s :: CreateRegistry
s@CreateRegistry' {} Maybe (HashMap Text Text)
a -> CreateRegistry
s {$sel:tags:CreateRegistry' :: Maybe (HashMap Text Text)
tags = Maybe (HashMap Text Text)
a} :: CreateRegistry) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Name of the registry to be created of max length of 255, and may only
-- contain letters, numbers, hyphen, underscore, dollar sign, or hash mark.
-- No whitespace.
createRegistry_registryName :: Lens.Lens' CreateRegistry Prelude.Text
createRegistry_registryName :: Lens' CreateRegistry Text
createRegistry_registryName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateRegistry' {Text
registryName :: Text
$sel:registryName:CreateRegistry' :: CreateRegistry -> Text
registryName} -> Text
registryName) (\s :: CreateRegistry
s@CreateRegistry' {} Text
a -> CreateRegistry
s {$sel:registryName:CreateRegistry' :: Text
registryName = Text
a} :: CreateRegistry)

instance Core.AWSRequest CreateRegistry where
  type
    AWSResponse CreateRegistry =
      CreateRegistryResponse
  request :: (Service -> Service) -> CreateRegistry -> Request CreateRegistry
request Service -> Service
overrides =
    forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy CreateRegistry
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse CreateRegistry)))
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 ->
          Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe (HashMap Text Text)
-> Int
-> CreateRegistryResponse
CreateRegistryResponse'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"Description")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"RegistryArn")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"RegistryName")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"Tags" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty)
            forall (f :: * -> *) a b. Applicative f => 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))
      )

instance Prelude.Hashable CreateRegistry where
  hashWithSalt :: Int -> CreateRegistry -> Int
hashWithSalt Int
_salt CreateRegistry' {Maybe Text
Maybe (HashMap Text Text)
Text
registryName :: Text
tags :: Maybe (HashMap Text Text)
description :: Maybe Text
$sel:registryName:CreateRegistry' :: CreateRegistry -> Text
$sel:tags:CreateRegistry' :: CreateRegistry -> Maybe (HashMap Text Text)
$sel:description:CreateRegistry' :: CreateRegistry -> Maybe Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
description
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (HashMap Text Text)
tags
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
registryName

instance Prelude.NFData CreateRegistry where
  rnf :: CreateRegistry -> ()
rnf CreateRegistry' {Maybe Text
Maybe (HashMap Text Text)
Text
registryName :: Text
tags :: Maybe (HashMap Text Text)
description :: Maybe Text
$sel:registryName:CreateRegistry' :: CreateRegistry -> Text
$sel:tags:CreateRegistry' :: CreateRegistry -> Maybe (HashMap Text Text)
$sel:description:CreateRegistry' :: CreateRegistry -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
description
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text Text)
tags
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
registryName

instance Data.ToHeaders CreateRegistry where
  toHeaders :: CreateRegistry -> ResponseHeaders
toHeaders =
    forall a b. a -> b -> a
Prelude.const
      ( forall a. Monoid a => [a] -> a
Prelude.mconcat
          [ HeaderName
"X-Amz-Target"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# (ByteString
"AWSGlue.CreateRegistry" :: Prelude.ByteString),
            HeaderName
"Content-Type"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
                          Prelude.ByteString
                      )
          ]
      )

instance Data.ToJSON CreateRegistry where
  toJSON :: CreateRegistry -> Value
toJSON CreateRegistry' {Maybe Text
Maybe (HashMap Text Text)
Text
registryName :: Text
tags :: Maybe (HashMap Text Text)
description :: Maybe Text
$sel:registryName:CreateRegistry' :: CreateRegistry -> Text
$sel:tags:CreateRegistry' :: CreateRegistry -> Maybe (HashMap Text Text)
$sel:description:CreateRegistry' :: CreateRegistry -> Maybe Text
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"Description" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
description,
            (Key
"Tags" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (HashMap Text Text)
tags,
            forall a. a -> Maybe a
Prelude.Just (Key
"RegistryName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
registryName)
          ]
      )

instance Data.ToPath CreateRegistry where
  toPath :: CreateRegistry -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"

instance Data.ToQuery CreateRegistry where
  toQuery :: CreateRegistry -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty

-- | /See:/ 'newCreateRegistryResponse' smart constructor.
data CreateRegistryResponse = CreateRegistryResponse'
  { -- | A description of the registry.
    CreateRegistryResponse -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
    -- | The Amazon Resource Name (ARN) of the newly created registry.
    CreateRegistryResponse -> Maybe Text
registryArn :: Prelude.Maybe Prelude.Text,
    -- | The name of the registry.
    CreateRegistryResponse -> Maybe Text
registryName :: Prelude.Maybe Prelude.Text,
    -- | The tags for the registry.
    CreateRegistryResponse -> Maybe (HashMap Text Text)
tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
    -- | The response's http status code.
    CreateRegistryResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (CreateRegistryResponse -> CreateRegistryResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateRegistryResponse -> CreateRegistryResponse -> Bool
$c/= :: CreateRegistryResponse -> CreateRegistryResponse -> Bool
== :: CreateRegistryResponse -> CreateRegistryResponse -> Bool
$c== :: CreateRegistryResponse -> CreateRegistryResponse -> Bool
Prelude.Eq, ReadPrec [CreateRegistryResponse]
ReadPrec CreateRegistryResponse
Int -> ReadS CreateRegistryResponse
ReadS [CreateRegistryResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateRegistryResponse]
$creadListPrec :: ReadPrec [CreateRegistryResponse]
readPrec :: ReadPrec CreateRegistryResponse
$creadPrec :: ReadPrec CreateRegistryResponse
readList :: ReadS [CreateRegistryResponse]
$creadList :: ReadS [CreateRegistryResponse]
readsPrec :: Int -> ReadS CreateRegistryResponse
$creadsPrec :: Int -> ReadS CreateRegistryResponse
Prelude.Read, Int -> CreateRegistryResponse -> ShowS
[CreateRegistryResponse] -> ShowS
CreateRegistryResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateRegistryResponse] -> ShowS
$cshowList :: [CreateRegistryResponse] -> ShowS
show :: CreateRegistryResponse -> String
$cshow :: CreateRegistryResponse -> String
showsPrec :: Int -> CreateRegistryResponse -> ShowS
$cshowsPrec :: Int -> CreateRegistryResponse -> ShowS
Prelude.Show, forall x. Rep CreateRegistryResponse x -> CreateRegistryResponse
forall x. CreateRegistryResponse -> Rep CreateRegistryResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreateRegistryResponse x -> CreateRegistryResponse
$cfrom :: forall x. CreateRegistryResponse -> Rep CreateRegistryResponse x
Prelude.Generic)

-- |
-- Create a value of 'CreateRegistryResponse' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'description', 'createRegistryResponse_description' - A description of the registry.
--
-- 'registryArn', 'createRegistryResponse_registryArn' - The Amazon Resource Name (ARN) of the newly created registry.
--
-- 'registryName', 'createRegistryResponse_registryName' - The name of the registry.
--
-- 'tags', 'createRegistryResponse_tags' - The tags for the registry.
--
-- 'httpStatus', 'createRegistryResponse_httpStatus' - The response's http status code.
newCreateRegistryResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  CreateRegistryResponse
newCreateRegistryResponse :: Int -> CreateRegistryResponse
newCreateRegistryResponse Int
pHttpStatus_ =
  CreateRegistryResponse'
    { $sel:description:CreateRegistryResponse' :: Maybe Text
description =
        forall a. Maybe a
Prelude.Nothing,
      $sel:registryArn:CreateRegistryResponse' :: Maybe Text
registryArn = forall a. Maybe a
Prelude.Nothing,
      $sel:registryName:CreateRegistryResponse' :: Maybe Text
registryName = forall a. Maybe a
Prelude.Nothing,
      $sel:tags:CreateRegistryResponse' :: Maybe (HashMap Text Text)
tags = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:CreateRegistryResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | A description of the registry.
createRegistryResponse_description :: Lens.Lens' CreateRegistryResponse (Prelude.Maybe Prelude.Text)
createRegistryResponse_description :: Lens' CreateRegistryResponse (Maybe Text)
createRegistryResponse_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateRegistryResponse' {Maybe Text
description :: Maybe Text
$sel:description:CreateRegistryResponse' :: CreateRegistryResponse -> Maybe Text
description} -> Maybe Text
description) (\s :: CreateRegistryResponse
s@CreateRegistryResponse' {} Maybe Text
a -> CreateRegistryResponse
s {$sel:description:CreateRegistryResponse' :: Maybe Text
description = Maybe Text
a} :: CreateRegistryResponse)

-- | The Amazon Resource Name (ARN) of the newly created registry.
createRegistryResponse_registryArn :: Lens.Lens' CreateRegistryResponse (Prelude.Maybe Prelude.Text)
createRegistryResponse_registryArn :: Lens' CreateRegistryResponse (Maybe Text)
createRegistryResponse_registryArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateRegistryResponse' {Maybe Text
registryArn :: Maybe Text
$sel:registryArn:CreateRegistryResponse' :: CreateRegistryResponse -> Maybe Text
registryArn} -> Maybe Text
registryArn) (\s :: CreateRegistryResponse
s@CreateRegistryResponse' {} Maybe Text
a -> CreateRegistryResponse
s {$sel:registryArn:CreateRegistryResponse' :: Maybe Text
registryArn = Maybe Text
a} :: CreateRegistryResponse)

-- | The name of the registry.
createRegistryResponse_registryName :: Lens.Lens' CreateRegistryResponse (Prelude.Maybe Prelude.Text)
createRegistryResponse_registryName :: Lens' CreateRegistryResponse (Maybe Text)
createRegistryResponse_registryName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateRegistryResponse' {Maybe Text
registryName :: Maybe Text
$sel:registryName:CreateRegistryResponse' :: CreateRegistryResponse -> Maybe Text
registryName} -> Maybe Text
registryName) (\s :: CreateRegistryResponse
s@CreateRegistryResponse' {} Maybe Text
a -> CreateRegistryResponse
s {$sel:registryName:CreateRegistryResponse' :: Maybe Text
registryName = Maybe Text
a} :: CreateRegistryResponse)

-- | The tags for the registry.
createRegistryResponse_tags :: Lens.Lens' CreateRegistryResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
createRegistryResponse_tags :: Lens' CreateRegistryResponse (Maybe (HashMap Text Text))
createRegistryResponse_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateRegistryResponse' {Maybe (HashMap Text Text)
tags :: Maybe (HashMap Text Text)
$sel:tags:CreateRegistryResponse' :: CreateRegistryResponse -> Maybe (HashMap Text Text)
tags} -> Maybe (HashMap Text Text)
tags) (\s :: CreateRegistryResponse
s@CreateRegistryResponse' {} Maybe (HashMap Text Text)
a -> CreateRegistryResponse
s {$sel:tags:CreateRegistryResponse' :: Maybe (HashMap Text Text)
tags = Maybe (HashMap Text Text)
a} :: CreateRegistryResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The response's http status code.
createRegistryResponse_httpStatus :: Lens.Lens' CreateRegistryResponse Prelude.Int
createRegistryResponse_httpStatus :: Lens' CreateRegistryResponse Int
createRegistryResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateRegistryResponse' {Int
httpStatus :: Int
$sel:httpStatus:CreateRegistryResponse' :: CreateRegistryResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: CreateRegistryResponse
s@CreateRegistryResponse' {} Int
a -> CreateRegistryResponse
s {$sel:httpStatus:CreateRegistryResponse' :: Int
httpStatus = Int
a} :: CreateRegistryResponse)

instance Prelude.NFData CreateRegistryResponse where
  rnf :: CreateRegistryResponse -> ()
rnf CreateRegistryResponse' {Int
Maybe Text
Maybe (HashMap Text Text)
httpStatus :: Int
tags :: Maybe (HashMap Text Text)
registryName :: Maybe Text
registryArn :: Maybe Text
description :: Maybe Text
$sel:httpStatus:CreateRegistryResponse' :: CreateRegistryResponse -> Int
$sel:tags:CreateRegistryResponse' :: CreateRegistryResponse -> Maybe (HashMap Text Text)
$sel:registryName:CreateRegistryResponse' :: CreateRegistryResponse -> Maybe Text
$sel:registryArn:CreateRegistryResponse' :: CreateRegistryResponse -> Maybe Text
$sel:description:CreateRegistryResponse' :: CreateRegistryResponse -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
description
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
registryArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
registryName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text Text)
tags
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus