{-# 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.CloudDirectory.UpgradePublishedSchema
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Upgrades a published schema under a new minor version revision using the
-- current contents of @DevelopmentSchemaArn@.
module Amazonka.CloudDirectory.UpgradePublishedSchema
  ( -- * Creating a Request
    UpgradePublishedSchema (..),
    newUpgradePublishedSchema,

    -- * Request Lenses
    upgradePublishedSchema_dryRun,
    upgradePublishedSchema_developmentSchemaArn,
    upgradePublishedSchema_publishedSchemaArn,
    upgradePublishedSchema_minorVersion,

    -- * Destructuring the Response
    UpgradePublishedSchemaResponse (..),
    newUpgradePublishedSchemaResponse,

    -- * Response Lenses
    upgradePublishedSchemaResponse_upgradedSchemaArn,
    upgradePublishedSchemaResponse_httpStatus,
  )
where

import Amazonka.CloudDirectory.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

-- | /See:/ 'newUpgradePublishedSchema' smart constructor.
data UpgradePublishedSchema = UpgradePublishedSchema'
  { -- | Used for testing whether the Development schema provided is backwards
    -- compatible, or not, with the publish schema provided by the user to be
    -- upgraded. If schema compatibility fails, an exception would be thrown
    -- else the call would succeed. This parameter is optional and defaults to
    -- false.
    UpgradePublishedSchema -> Maybe Bool
dryRun :: Prelude.Maybe Prelude.Bool,
    -- | The ARN of the development schema with the changes used for the upgrade.
    UpgradePublishedSchema -> Text
developmentSchemaArn :: Prelude.Text,
    -- | The ARN of the published schema to be upgraded.
    UpgradePublishedSchema -> Text
publishedSchemaArn :: Prelude.Text,
    -- | Identifies the minor version of the published schema that will be
    -- created. This parameter is NOT optional.
    UpgradePublishedSchema -> Text
minorVersion :: Prelude.Text
  }
  deriving (UpgradePublishedSchema -> UpgradePublishedSchema -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpgradePublishedSchema -> UpgradePublishedSchema -> Bool
$c/= :: UpgradePublishedSchema -> UpgradePublishedSchema -> Bool
== :: UpgradePublishedSchema -> UpgradePublishedSchema -> Bool
$c== :: UpgradePublishedSchema -> UpgradePublishedSchema -> Bool
Prelude.Eq, ReadPrec [UpgradePublishedSchema]
ReadPrec UpgradePublishedSchema
Int -> ReadS UpgradePublishedSchema
ReadS [UpgradePublishedSchema]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpgradePublishedSchema]
$creadListPrec :: ReadPrec [UpgradePublishedSchema]
readPrec :: ReadPrec UpgradePublishedSchema
$creadPrec :: ReadPrec UpgradePublishedSchema
readList :: ReadS [UpgradePublishedSchema]
$creadList :: ReadS [UpgradePublishedSchema]
readsPrec :: Int -> ReadS UpgradePublishedSchema
$creadsPrec :: Int -> ReadS UpgradePublishedSchema
Prelude.Read, Int -> UpgradePublishedSchema -> ShowS
[UpgradePublishedSchema] -> ShowS
UpgradePublishedSchema -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpgradePublishedSchema] -> ShowS
$cshowList :: [UpgradePublishedSchema] -> ShowS
show :: UpgradePublishedSchema -> String
$cshow :: UpgradePublishedSchema -> String
showsPrec :: Int -> UpgradePublishedSchema -> ShowS
$cshowsPrec :: Int -> UpgradePublishedSchema -> ShowS
Prelude.Show, forall x. Rep UpgradePublishedSchema x -> UpgradePublishedSchema
forall x. UpgradePublishedSchema -> Rep UpgradePublishedSchema x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpgradePublishedSchema x -> UpgradePublishedSchema
$cfrom :: forall x. UpgradePublishedSchema -> Rep UpgradePublishedSchema x
Prelude.Generic)

-- |
-- Create a value of 'UpgradePublishedSchema' 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:
--
-- 'dryRun', 'upgradePublishedSchema_dryRun' - Used for testing whether the Development schema provided is backwards
-- compatible, or not, with the publish schema provided by the user to be
-- upgraded. If schema compatibility fails, an exception would be thrown
-- else the call would succeed. This parameter is optional and defaults to
-- false.
--
-- 'developmentSchemaArn', 'upgradePublishedSchema_developmentSchemaArn' - The ARN of the development schema with the changes used for the upgrade.
--
-- 'publishedSchemaArn', 'upgradePublishedSchema_publishedSchemaArn' - The ARN of the published schema to be upgraded.
--
-- 'minorVersion', 'upgradePublishedSchema_minorVersion' - Identifies the minor version of the published schema that will be
-- created. This parameter is NOT optional.
newUpgradePublishedSchema ::
  -- | 'developmentSchemaArn'
  Prelude.Text ->
  -- | 'publishedSchemaArn'
  Prelude.Text ->
  -- | 'minorVersion'
  Prelude.Text ->
  UpgradePublishedSchema
newUpgradePublishedSchema :: Text -> Text -> Text -> UpgradePublishedSchema
newUpgradePublishedSchema
  Text
pDevelopmentSchemaArn_
  Text
pPublishedSchemaArn_
  Text
pMinorVersion_ =
    UpgradePublishedSchema'
      { $sel:dryRun:UpgradePublishedSchema' :: Maybe Bool
dryRun = forall a. Maybe a
Prelude.Nothing,
        $sel:developmentSchemaArn:UpgradePublishedSchema' :: Text
developmentSchemaArn = Text
pDevelopmentSchemaArn_,
        $sel:publishedSchemaArn:UpgradePublishedSchema' :: Text
publishedSchemaArn = Text
pPublishedSchemaArn_,
        $sel:minorVersion:UpgradePublishedSchema' :: Text
minorVersion = Text
pMinorVersion_
      }

-- | Used for testing whether the Development schema provided is backwards
-- compatible, or not, with the publish schema provided by the user to be
-- upgraded. If schema compatibility fails, an exception would be thrown
-- else the call would succeed. This parameter is optional and defaults to
-- false.
upgradePublishedSchema_dryRun :: Lens.Lens' UpgradePublishedSchema (Prelude.Maybe Prelude.Bool)
upgradePublishedSchema_dryRun :: Lens' UpgradePublishedSchema (Maybe Bool)
upgradePublishedSchema_dryRun = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpgradePublishedSchema' {Maybe Bool
dryRun :: Maybe Bool
$sel:dryRun:UpgradePublishedSchema' :: UpgradePublishedSchema -> Maybe Bool
dryRun} -> Maybe Bool
dryRun) (\s :: UpgradePublishedSchema
s@UpgradePublishedSchema' {} Maybe Bool
a -> UpgradePublishedSchema
s {$sel:dryRun:UpgradePublishedSchema' :: Maybe Bool
dryRun = Maybe Bool
a} :: UpgradePublishedSchema)

-- | The ARN of the development schema with the changes used for the upgrade.
upgradePublishedSchema_developmentSchemaArn :: Lens.Lens' UpgradePublishedSchema Prelude.Text
upgradePublishedSchema_developmentSchemaArn :: Lens' UpgradePublishedSchema Text
upgradePublishedSchema_developmentSchemaArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpgradePublishedSchema' {Text
developmentSchemaArn :: Text
$sel:developmentSchemaArn:UpgradePublishedSchema' :: UpgradePublishedSchema -> Text
developmentSchemaArn} -> Text
developmentSchemaArn) (\s :: UpgradePublishedSchema
s@UpgradePublishedSchema' {} Text
a -> UpgradePublishedSchema
s {$sel:developmentSchemaArn:UpgradePublishedSchema' :: Text
developmentSchemaArn = Text
a} :: UpgradePublishedSchema)

-- | The ARN of the published schema to be upgraded.
upgradePublishedSchema_publishedSchemaArn :: Lens.Lens' UpgradePublishedSchema Prelude.Text
upgradePublishedSchema_publishedSchemaArn :: Lens' UpgradePublishedSchema Text
upgradePublishedSchema_publishedSchemaArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpgradePublishedSchema' {Text
publishedSchemaArn :: Text
$sel:publishedSchemaArn:UpgradePublishedSchema' :: UpgradePublishedSchema -> Text
publishedSchemaArn} -> Text
publishedSchemaArn) (\s :: UpgradePublishedSchema
s@UpgradePublishedSchema' {} Text
a -> UpgradePublishedSchema
s {$sel:publishedSchemaArn:UpgradePublishedSchema' :: Text
publishedSchemaArn = Text
a} :: UpgradePublishedSchema)

-- | Identifies the minor version of the published schema that will be
-- created. This parameter is NOT optional.
upgradePublishedSchema_minorVersion :: Lens.Lens' UpgradePublishedSchema Prelude.Text
upgradePublishedSchema_minorVersion :: Lens' UpgradePublishedSchema Text
upgradePublishedSchema_minorVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpgradePublishedSchema' {Text
minorVersion :: Text
$sel:minorVersion:UpgradePublishedSchema' :: UpgradePublishedSchema -> Text
minorVersion} -> Text
minorVersion) (\s :: UpgradePublishedSchema
s@UpgradePublishedSchema' {} Text
a -> UpgradePublishedSchema
s {$sel:minorVersion:UpgradePublishedSchema' :: Text
minorVersion = Text
a} :: UpgradePublishedSchema)

instance Core.AWSRequest UpgradePublishedSchema where
  type
    AWSResponse UpgradePublishedSchema =
      UpgradePublishedSchemaResponse
  request :: (Service -> Service)
-> UpgradePublishedSchema -> Request UpgradePublishedSchema
request Service -> Service
overrides =
    forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.putJSON (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy UpgradePublishedSchema
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse UpgradePublishedSchema)))
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 -> Int -> UpgradePublishedSchemaResponse
UpgradePublishedSchemaResponse'
            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
"UpgradedSchemaArn")
            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 UpgradePublishedSchema where
  hashWithSalt :: Int -> UpgradePublishedSchema -> Int
hashWithSalt Int
_salt UpgradePublishedSchema' {Maybe Bool
Text
minorVersion :: Text
publishedSchemaArn :: Text
developmentSchemaArn :: Text
dryRun :: Maybe Bool
$sel:minorVersion:UpgradePublishedSchema' :: UpgradePublishedSchema -> Text
$sel:publishedSchemaArn:UpgradePublishedSchema' :: UpgradePublishedSchema -> Text
$sel:developmentSchemaArn:UpgradePublishedSchema' :: UpgradePublishedSchema -> Text
$sel:dryRun:UpgradePublishedSchema' :: UpgradePublishedSchema -> Maybe Bool
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
dryRun
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
developmentSchemaArn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
publishedSchemaArn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
minorVersion

instance Prelude.NFData UpgradePublishedSchema where
  rnf :: UpgradePublishedSchema -> ()
rnf UpgradePublishedSchema' {Maybe Bool
Text
minorVersion :: Text
publishedSchemaArn :: Text
developmentSchemaArn :: Text
dryRun :: Maybe Bool
$sel:minorVersion:UpgradePublishedSchema' :: UpgradePublishedSchema -> Text
$sel:publishedSchemaArn:UpgradePublishedSchema' :: UpgradePublishedSchema -> Text
$sel:developmentSchemaArn:UpgradePublishedSchema' :: UpgradePublishedSchema -> Text
$sel:dryRun:UpgradePublishedSchema' :: UpgradePublishedSchema -> Maybe Bool
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
dryRun
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
developmentSchemaArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
publishedSchemaArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
minorVersion

instance Data.ToHeaders UpgradePublishedSchema where
  toHeaders :: UpgradePublishedSchema -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty

instance Data.ToJSON UpgradePublishedSchema where
  toJSON :: UpgradePublishedSchema -> Value
toJSON UpgradePublishedSchema' {Maybe Bool
Text
minorVersion :: Text
publishedSchemaArn :: Text
developmentSchemaArn :: Text
dryRun :: Maybe Bool
$sel:minorVersion:UpgradePublishedSchema' :: UpgradePublishedSchema -> Text
$sel:publishedSchemaArn:UpgradePublishedSchema' :: UpgradePublishedSchema -> Text
$sel:developmentSchemaArn:UpgradePublishedSchema' :: UpgradePublishedSchema -> Text
$sel:dryRun:UpgradePublishedSchema' :: UpgradePublishedSchema -> Maybe Bool
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"DryRun" 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 Bool
dryRun,
            forall a. a -> Maybe a
Prelude.Just
              ( Key
"DevelopmentSchemaArn"
                  forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
developmentSchemaArn
              ),
            forall a. a -> Maybe a
Prelude.Just
              (Key
"PublishedSchemaArn" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
publishedSchemaArn),
            forall a. a -> Maybe a
Prelude.Just (Key
"MinorVersion" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
minorVersion)
          ]
      )

instance Data.ToPath UpgradePublishedSchema where
  toPath :: UpgradePublishedSchema -> ByteString
toPath =
    forall a b. a -> b -> a
Prelude.const
      ByteString
"/amazonclouddirectory/2017-01-11/schema/upgradepublished"

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

-- | /See:/ 'newUpgradePublishedSchemaResponse' smart constructor.
data UpgradePublishedSchemaResponse = UpgradePublishedSchemaResponse'
  { -- | The ARN of the upgraded schema that is returned as part of the response.
    UpgradePublishedSchemaResponse -> Maybe Text
upgradedSchemaArn :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    UpgradePublishedSchemaResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (UpgradePublishedSchemaResponse
-> UpgradePublishedSchemaResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpgradePublishedSchemaResponse
-> UpgradePublishedSchemaResponse -> Bool
$c/= :: UpgradePublishedSchemaResponse
-> UpgradePublishedSchemaResponse -> Bool
== :: UpgradePublishedSchemaResponse
-> UpgradePublishedSchemaResponse -> Bool
$c== :: UpgradePublishedSchemaResponse
-> UpgradePublishedSchemaResponse -> Bool
Prelude.Eq, ReadPrec [UpgradePublishedSchemaResponse]
ReadPrec UpgradePublishedSchemaResponse
Int -> ReadS UpgradePublishedSchemaResponse
ReadS [UpgradePublishedSchemaResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpgradePublishedSchemaResponse]
$creadListPrec :: ReadPrec [UpgradePublishedSchemaResponse]
readPrec :: ReadPrec UpgradePublishedSchemaResponse
$creadPrec :: ReadPrec UpgradePublishedSchemaResponse
readList :: ReadS [UpgradePublishedSchemaResponse]
$creadList :: ReadS [UpgradePublishedSchemaResponse]
readsPrec :: Int -> ReadS UpgradePublishedSchemaResponse
$creadsPrec :: Int -> ReadS UpgradePublishedSchemaResponse
Prelude.Read, Int -> UpgradePublishedSchemaResponse -> ShowS
[UpgradePublishedSchemaResponse] -> ShowS
UpgradePublishedSchemaResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpgradePublishedSchemaResponse] -> ShowS
$cshowList :: [UpgradePublishedSchemaResponse] -> ShowS
show :: UpgradePublishedSchemaResponse -> String
$cshow :: UpgradePublishedSchemaResponse -> String
showsPrec :: Int -> UpgradePublishedSchemaResponse -> ShowS
$cshowsPrec :: Int -> UpgradePublishedSchemaResponse -> ShowS
Prelude.Show, forall x.
Rep UpgradePublishedSchemaResponse x
-> UpgradePublishedSchemaResponse
forall x.
UpgradePublishedSchemaResponse
-> Rep UpgradePublishedSchemaResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpgradePublishedSchemaResponse x
-> UpgradePublishedSchemaResponse
$cfrom :: forall x.
UpgradePublishedSchemaResponse
-> Rep UpgradePublishedSchemaResponse x
Prelude.Generic)

-- |
-- Create a value of 'UpgradePublishedSchemaResponse' 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:
--
-- 'upgradedSchemaArn', 'upgradePublishedSchemaResponse_upgradedSchemaArn' - The ARN of the upgraded schema that is returned as part of the response.
--
-- 'httpStatus', 'upgradePublishedSchemaResponse_httpStatus' - The response's http status code.
newUpgradePublishedSchemaResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  UpgradePublishedSchemaResponse
newUpgradePublishedSchemaResponse :: Int -> UpgradePublishedSchemaResponse
newUpgradePublishedSchemaResponse Int
pHttpStatus_ =
  UpgradePublishedSchemaResponse'
    { $sel:upgradedSchemaArn:UpgradePublishedSchemaResponse' :: Maybe Text
upgradedSchemaArn =
        forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:UpgradePublishedSchemaResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | The ARN of the upgraded schema that is returned as part of the response.
upgradePublishedSchemaResponse_upgradedSchemaArn :: Lens.Lens' UpgradePublishedSchemaResponse (Prelude.Maybe Prelude.Text)
upgradePublishedSchemaResponse_upgradedSchemaArn :: Lens' UpgradePublishedSchemaResponse (Maybe Text)
upgradePublishedSchemaResponse_upgradedSchemaArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpgradePublishedSchemaResponse' {Maybe Text
upgradedSchemaArn :: Maybe Text
$sel:upgradedSchemaArn:UpgradePublishedSchemaResponse' :: UpgradePublishedSchemaResponse -> Maybe Text
upgradedSchemaArn} -> Maybe Text
upgradedSchemaArn) (\s :: UpgradePublishedSchemaResponse
s@UpgradePublishedSchemaResponse' {} Maybe Text
a -> UpgradePublishedSchemaResponse
s {$sel:upgradedSchemaArn:UpgradePublishedSchemaResponse' :: Maybe Text
upgradedSchemaArn = Maybe Text
a} :: UpgradePublishedSchemaResponse)

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

instance
  Prelude.NFData
    UpgradePublishedSchemaResponse
  where
  rnf :: UpgradePublishedSchemaResponse -> ()
rnf UpgradePublishedSchemaResponse' {Int
Maybe Text
httpStatus :: Int
upgradedSchemaArn :: Maybe Text
$sel:httpStatus:UpgradePublishedSchemaResponse' :: UpgradePublishedSchemaResponse -> Int
$sel:upgradedSchemaArn:UpgradePublishedSchemaResponse' :: UpgradePublishedSchemaResponse -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
upgradedSchemaArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus