{-# 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.WellArchitected.CreateWorkloadShare
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Create a workload share.
--
-- The owner of a workload can share it with other Amazon Web Services
-- accounts and IAM users in the same Amazon Web Services Region. Shared
-- access to a workload is not removed until the workload invitation is
-- deleted.
--
-- For more information, see
-- <https://docs.aws.amazon.com/wellarchitected/latest/userguide/workloads-sharing.html Sharing a Workload>
-- in the /Well-Architected Tool User Guide/.
module Amazonka.WellArchitected.CreateWorkloadShare
  ( -- * Creating a Request
    CreateWorkloadShare (..),
    newCreateWorkloadShare,

    -- * Request Lenses
    createWorkloadShare_workloadId,
    createWorkloadShare_sharedWith,
    createWorkloadShare_permissionType,
    createWorkloadShare_clientRequestToken,

    -- * Destructuring the Response
    CreateWorkloadShareResponse (..),
    newCreateWorkloadShareResponse,

    -- * Response Lenses
    createWorkloadShareResponse_shareId,
    createWorkloadShareResponse_workloadId,
    createWorkloadShareResponse_httpStatus,
  )
where

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
import Amazonka.WellArchitected.Types

-- | Input for Create Workload Share
--
-- /See:/ 'newCreateWorkloadShare' smart constructor.
data CreateWorkloadShare = CreateWorkloadShare'
  { CreateWorkloadShare -> Text
workloadId :: Prelude.Text,
    CreateWorkloadShare -> Text
sharedWith :: Prelude.Text,
    CreateWorkloadShare -> PermissionType
permissionType :: PermissionType,
    CreateWorkloadShare -> Text
clientRequestToken :: Prelude.Text
  }
  deriving (CreateWorkloadShare -> CreateWorkloadShare -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateWorkloadShare -> CreateWorkloadShare -> Bool
$c/= :: CreateWorkloadShare -> CreateWorkloadShare -> Bool
== :: CreateWorkloadShare -> CreateWorkloadShare -> Bool
$c== :: CreateWorkloadShare -> CreateWorkloadShare -> Bool
Prelude.Eq, ReadPrec [CreateWorkloadShare]
ReadPrec CreateWorkloadShare
Int -> ReadS CreateWorkloadShare
ReadS [CreateWorkloadShare]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateWorkloadShare]
$creadListPrec :: ReadPrec [CreateWorkloadShare]
readPrec :: ReadPrec CreateWorkloadShare
$creadPrec :: ReadPrec CreateWorkloadShare
readList :: ReadS [CreateWorkloadShare]
$creadList :: ReadS [CreateWorkloadShare]
readsPrec :: Int -> ReadS CreateWorkloadShare
$creadsPrec :: Int -> ReadS CreateWorkloadShare
Prelude.Read, Int -> CreateWorkloadShare -> ShowS
[CreateWorkloadShare] -> ShowS
CreateWorkloadShare -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateWorkloadShare] -> ShowS
$cshowList :: [CreateWorkloadShare] -> ShowS
show :: CreateWorkloadShare -> String
$cshow :: CreateWorkloadShare -> String
showsPrec :: Int -> CreateWorkloadShare -> ShowS
$cshowsPrec :: Int -> CreateWorkloadShare -> ShowS
Prelude.Show, forall x. Rep CreateWorkloadShare x -> CreateWorkloadShare
forall x. CreateWorkloadShare -> Rep CreateWorkloadShare x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreateWorkloadShare x -> CreateWorkloadShare
$cfrom :: forall x. CreateWorkloadShare -> Rep CreateWorkloadShare x
Prelude.Generic)

-- |
-- Create a value of 'CreateWorkloadShare' 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:
--
-- 'workloadId', 'createWorkloadShare_workloadId' - Undocumented member.
--
-- 'sharedWith', 'createWorkloadShare_sharedWith' - Undocumented member.
--
-- 'permissionType', 'createWorkloadShare_permissionType' - Undocumented member.
--
-- 'clientRequestToken', 'createWorkloadShare_clientRequestToken' - Undocumented member.
newCreateWorkloadShare ::
  -- | 'workloadId'
  Prelude.Text ->
  -- | 'sharedWith'
  Prelude.Text ->
  -- | 'permissionType'
  PermissionType ->
  -- | 'clientRequestToken'
  Prelude.Text ->
  CreateWorkloadShare
newCreateWorkloadShare :: Text -> Text -> PermissionType -> Text -> CreateWorkloadShare
newCreateWorkloadShare
  Text
pWorkloadId_
  Text
pSharedWith_
  PermissionType
pPermissionType_
  Text
pClientRequestToken_ =
    CreateWorkloadShare'
      { $sel:workloadId:CreateWorkloadShare' :: Text
workloadId = Text
pWorkloadId_,
        $sel:sharedWith:CreateWorkloadShare' :: Text
sharedWith = Text
pSharedWith_,
        $sel:permissionType:CreateWorkloadShare' :: PermissionType
permissionType = PermissionType
pPermissionType_,
        $sel:clientRequestToken:CreateWorkloadShare' :: Text
clientRequestToken = Text
pClientRequestToken_
      }

-- | Undocumented member.
createWorkloadShare_workloadId :: Lens.Lens' CreateWorkloadShare Prelude.Text
createWorkloadShare_workloadId :: Lens' CreateWorkloadShare Text
createWorkloadShare_workloadId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateWorkloadShare' {Text
workloadId :: Text
$sel:workloadId:CreateWorkloadShare' :: CreateWorkloadShare -> Text
workloadId} -> Text
workloadId) (\s :: CreateWorkloadShare
s@CreateWorkloadShare' {} Text
a -> CreateWorkloadShare
s {$sel:workloadId:CreateWorkloadShare' :: Text
workloadId = Text
a} :: CreateWorkloadShare)

-- | Undocumented member.
createWorkloadShare_sharedWith :: Lens.Lens' CreateWorkloadShare Prelude.Text
createWorkloadShare_sharedWith :: Lens' CreateWorkloadShare Text
createWorkloadShare_sharedWith = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateWorkloadShare' {Text
sharedWith :: Text
$sel:sharedWith:CreateWorkloadShare' :: CreateWorkloadShare -> Text
sharedWith} -> Text
sharedWith) (\s :: CreateWorkloadShare
s@CreateWorkloadShare' {} Text
a -> CreateWorkloadShare
s {$sel:sharedWith:CreateWorkloadShare' :: Text
sharedWith = Text
a} :: CreateWorkloadShare)

-- | Undocumented member.
createWorkloadShare_permissionType :: Lens.Lens' CreateWorkloadShare PermissionType
createWorkloadShare_permissionType :: Lens' CreateWorkloadShare PermissionType
createWorkloadShare_permissionType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateWorkloadShare' {PermissionType
permissionType :: PermissionType
$sel:permissionType:CreateWorkloadShare' :: CreateWorkloadShare -> PermissionType
permissionType} -> PermissionType
permissionType) (\s :: CreateWorkloadShare
s@CreateWorkloadShare' {} PermissionType
a -> CreateWorkloadShare
s {$sel:permissionType:CreateWorkloadShare' :: PermissionType
permissionType = PermissionType
a} :: CreateWorkloadShare)

-- | Undocumented member.
createWorkloadShare_clientRequestToken :: Lens.Lens' CreateWorkloadShare Prelude.Text
createWorkloadShare_clientRequestToken :: Lens' CreateWorkloadShare Text
createWorkloadShare_clientRequestToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateWorkloadShare' {Text
clientRequestToken :: Text
$sel:clientRequestToken:CreateWorkloadShare' :: CreateWorkloadShare -> Text
clientRequestToken} -> Text
clientRequestToken) (\s :: CreateWorkloadShare
s@CreateWorkloadShare' {} Text
a -> CreateWorkloadShare
s {$sel:clientRequestToken:CreateWorkloadShare' :: Text
clientRequestToken = Text
a} :: CreateWorkloadShare)

instance Core.AWSRequest CreateWorkloadShare where
  type
    AWSResponse CreateWorkloadShare =
      CreateWorkloadShareResponse
  request :: (Service -> Service)
-> CreateWorkloadShare -> Request CreateWorkloadShare
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 CreateWorkloadShare
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse CreateWorkloadShare)))
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 -> Int -> CreateWorkloadShareResponse
CreateWorkloadShareResponse'
            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
"ShareId")
            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
"WorkloadId")
            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 CreateWorkloadShare where
  hashWithSalt :: Int -> CreateWorkloadShare -> Int
hashWithSalt Int
_salt CreateWorkloadShare' {Text
PermissionType
clientRequestToken :: Text
permissionType :: PermissionType
sharedWith :: Text
workloadId :: Text
$sel:clientRequestToken:CreateWorkloadShare' :: CreateWorkloadShare -> Text
$sel:permissionType:CreateWorkloadShare' :: CreateWorkloadShare -> PermissionType
$sel:sharedWith:CreateWorkloadShare' :: CreateWorkloadShare -> Text
$sel:workloadId:CreateWorkloadShare' :: CreateWorkloadShare -> Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
workloadId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
sharedWith
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` PermissionType
permissionType
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
clientRequestToken

instance Prelude.NFData CreateWorkloadShare where
  rnf :: CreateWorkloadShare -> ()
rnf CreateWorkloadShare' {Text
PermissionType
clientRequestToken :: Text
permissionType :: PermissionType
sharedWith :: Text
workloadId :: Text
$sel:clientRequestToken:CreateWorkloadShare' :: CreateWorkloadShare -> Text
$sel:permissionType:CreateWorkloadShare' :: CreateWorkloadShare -> PermissionType
$sel:sharedWith:CreateWorkloadShare' :: CreateWorkloadShare -> Text
$sel:workloadId:CreateWorkloadShare' :: CreateWorkloadShare -> Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Text
workloadId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
sharedWith
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf PermissionType
permissionType
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
clientRequestToken

instance Data.ToHeaders CreateWorkloadShare where
  toHeaders :: CreateWorkloadShare -> 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.ToJSON CreateWorkloadShare where
  toJSON :: CreateWorkloadShare -> Value
toJSON CreateWorkloadShare' {Text
PermissionType
clientRequestToken :: Text
permissionType :: PermissionType
sharedWith :: Text
workloadId :: Text
$sel:clientRequestToken:CreateWorkloadShare' :: CreateWorkloadShare -> Text
$sel:permissionType:CreateWorkloadShare' :: CreateWorkloadShare -> PermissionType
$sel:sharedWith:CreateWorkloadShare' :: CreateWorkloadShare -> Text
$sel:workloadId:CreateWorkloadShare' :: CreateWorkloadShare -> Text
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ forall a. a -> Maybe a
Prelude.Just (Key
"SharedWith" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
sharedWith),
            forall a. a -> Maybe a
Prelude.Just
              (Key
"PermissionType" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= PermissionType
permissionType),
            forall a. a -> Maybe a
Prelude.Just
              (Key
"ClientRequestToken" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
clientRequestToken)
          ]
      )

instance Data.ToPath CreateWorkloadShare where
  toPath :: CreateWorkloadShare -> ByteString
toPath CreateWorkloadShare' {Text
PermissionType
clientRequestToken :: Text
permissionType :: PermissionType
sharedWith :: Text
workloadId :: Text
$sel:clientRequestToken:CreateWorkloadShare' :: CreateWorkloadShare -> Text
$sel:permissionType:CreateWorkloadShare' :: CreateWorkloadShare -> PermissionType
$sel:sharedWith:CreateWorkloadShare' :: CreateWorkloadShare -> Text
$sel:workloadId:CreateWorkloadShare' :: CreateWorkloadShare -> Text
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ByteString
"/workloads/", forall a. ToByteString a => a -> ByteString
Data.toBS Text
workloadId, ByteString
"/shares"]

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

-- | Input for Create Workload Share
--
-- /See:/ 'newCreateWorkloadShareResponse' smart constructor.
data CreateWorkloadShareResponse = CreateWorkloadShareResponse'
  { CreateWorkloadShareResponse -> Maybe Text
shareId :: Prelude.Maybe Prelude.Text,
    CreateWorkloadShareResponse -> Maybe Text
workloadId :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    CreateWorkloadShareResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (CreateWorkloadShareResponse -> CreateWorkloadShareResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateWorkloadShareResponse -> CreateWorkloadShareResponse -> Bool
$c/= :: CreateWorkloadShareResponse -> CreateWorkloadShareResponse -> Bool
== :: CreateWorkloadShareResponse -> CreateWorkloadShareResponse -> Bool
$c== :: CreateWorkloadShareResponse -> CreateWorkloadShareResponse -> Bool
Prelude.Eq, ReadPrec [CreateWorkloadShareResponse]
ReadPrec CreateWorkloadShareResponse
Int -> ReadS CreateWorkloadShareResponse
ReadS [CreateWorkloadShareResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateWorkloadShareResponse]
$creadListPrec :: ReadPrec [CreateWorkloadShareResponse]
readPrec :: ReadPrec CreateWorkloadShareResponse
$creadPrec :: ReadPrec CreateWorkloadShareResponse
readList :: ReadS [CreateWorkloadShareResponse]
$creadList :: ReadS [CreateWorkloadShareResponse]
readsPrec :: Int -> ReadS CreateWorkloadShareResponse
$creadsPrec :: Int -> ReadS CreateWorkloadShareResponse
Prelude.Read, Int -> CreateWorkloadShareResponse -> ShowS
[CreateWorkloadShareResponse] -> ShowS
CreateWorkloadShareResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateWorkloadShareResponse] -> ShowS
$cshowList :: [CreateWorkloadShareResponse] -> ShowS
show :: CreateWorkloadShareResponse -> String
$cshow :: CreateWorkloadShareResponse -> String
showsPrec :: Int -> CreateWorkloadShareResponse -> ShowS
$cshowsPrec :: Int -> CreateWorkloadShareResponse -> ShowS
Prelude.Show, forall x.
Rep CreateWorkloadShareResponse x -> CreateWorkloadShareResponse
forall x.
CreateWorkloadShareResponse -> Rep CreateWorkloadShareResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateWorkloadShareResponse x -> CreateWorkloadShareResponse
$cfrom :: forall x.
CreateWorkloadShareResponse -> Rep CreateWorkloadShareResponse x
Prelude.Generic)

-- |
-- Create a value of 'CreateWorkloadShareResponse' 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:
--
-- 'shareId', 'createWorkloadShareResponse_shareId' - Undocumented member.
--
-- 'workloadId', 'createWorkloadShareResponse_workloadId' - Undocumented member.
--
-- 'httpStatus', 'createWorkloadShareResponse_httpStatus' - The response's http status code.
newCreateWorkloadShareResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  CreateWorkloadShareResponse
newCreateWorkloadShareResponse :: Int -> CreateWorkloadShareResponse
newCreateWorkloadShareResponse Int
pHttpStatus_ =
  CreateWorkloadShareResponse'
    { $sel:shareId:CreateWorkloadShareResponse' :: Maybe Text
shareId =
        forall a. Maybe a
Prelude.Nothing,
      $sel:workloadId:CreateWorkloadShareResponse' :: Maybe Text
workloadId = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:CreateWorkloadShareResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | Undocumented member.
createWorkloadShareResponse_shareId :: Lens.Lens' CreateWorkloadShareResponse (Prelude.Maybe Prelude.Text)
createWorkloadShareResponse_shareId :: Lens' CreateWorkloadShareResponse (Maybe Text)
createWorkloadShareResponse_shareId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateWorkloadShareResponse' {Maybe Text
shareId :: Maybe Text
$sel:shareId:CreateWorkloadShareResponse' :: CreateWorkloadShareResponse -> Maybe Text
shareId} -> Maybe Text
shareId) (\s :: CreateWorkloadShareResponse
s@CreateWorkloadShareResponse' {} Maybe Text
a -> CreateWorkloadShareResponse
s {$sel:shareId:CreateWorkloadShareResponse' :: Maybe Text
shareId = Maybe Text
a} :: CreateWorkloadShareResponse)

-- | Undocumented member.
createWorkloadShareResponse_workloadId :: Lens.Lens' CreateWorkloadShareResponse (Prelude.Maybe Prelude.Text)
createWorkloadShareResponse_workloadId :: Lens' CreateWorkloadShareResponse (Maybe Text)
createWorkloadShareResponse_workloadId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateWorkloadShareResponse' {Maybe Text
workloadId :: Maybe Text
$sel:workloadId:CreateWorkloadShareResponse' :: CreateWorkloadShareResponse -> Maybe Text
workloadId} -> Maybe Text
workloadId) (\s :: CreateWorkloadShareResponse
s@CreateWorkloadShareResponse' {} Maybe Text
a -> CreateWorkloadShareResponse
s {$sel:workloadId:CreateWorkloadShareResponse' :: Maybe Text
workloadId = Maybe Text
a} :: CreateWorkloadShareResponse)

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

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