{-# 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.ListWorkloadShares
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- List the workload shares associated with the workload.
module Amazonka.WellArchitected.ListWorkloadShares
  ( -- * Creating a Request
    ListWorkloadShares (..),
    newListWorkloadShares,

    -- * Request Lenses
    listWorkloadShares_maxResults,
    listWorkloadShares_nextToken,
    listWorkloadShares_sharedWithPrefix,
    listWorkloadShares_status,
    listWorkloadShares_workloadId,

    -- * Destructuring the Response
    ListWorkloadSharesResponse (..),
    newListWorkloadSharesResponse,

    -- * Response Lenses
    listWorkloadSharesResponse_nextToken,
    listWorkloadSharesResponse_workloadId,
    listWorkloadSharesResponse_workloadShareSummaries,
    listWorkloadSharesResponse_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 List Workload Share
--
-- /See:/ 'newListWorkloadShares' smart constructor.
data ListWorkloadShares = ListWorkloadShares'
  { -- | The maximum number of results to return for this request.
    ListWorkloadShares -> Maybe Natural
maxResults :: Prelude.Maybe Prelude.Natural,
    ListWorkloadShares -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | The Amazon Web Services account ID, IAM role, organization ID, or
    -- organizational unit (OU) ID with which the workload is shared.
    ListWorkloadShares -> Maybe Text
sharedWithPrefix :: Prelude.Maybe Prelude.Text,
    ListWorkloadShares -> Maybe ShareStatus
status :: Prelude.Maybe ShareStatus,
    ListWorkloadShares -> Text
workloadId :: Prelude.Text
  }
  deriving (ListWorkloadShares -> ListWorkloadShares -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListWorkloadShares -> ListWorkloadShares -> Bool
$c/= :: ListWorkloadShares -> ListWorkloadShares -> Bool
== :: ListWorkloadShares -> ListWorkloadShares -> Bool
$c== :: ListWorkloadShares -> ListWorkloadShares -> Bool
Prelude.Eq, ReadPrec [ListWorkloadShares]
ReadPrec ListWorkloadShares
Int -> ReadS ListWorkloadShares
ReadS [ListWorkloadShares]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListWorkloadShares]
$creadListPrec :: ReadPrec [ListWorkloadShares]
readPrec :: ReadPrec ListWorkloadShares
$creadPrec :: ReadPrec ListWorkloadShares
readList :: ReadS [ListWorkloadShares]
$creadList :: ReadS [ListWorkloadShares]
readsPrec :: Int -> ReadS ListWorkloadShares
$creadsPrec :: Int -> ReadS ListWorkloadShares
Prelude.Read, Int -> ListWorkloadShares -> ShowS
[ListWorkloadShares] -> ShowS
ListWorkloadShares -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListWorkloadShares] -> ShowS
$cshowList :: [ListWorkloadShares] -> ShowS
show :: ListWorkloadShares -> String
$cshow :: ListWorkloadShares -> String
showsPrec :: Int -> ListWorkloadShares -> ShowS
$cshowsPrec :: Int -> ListWorkloadShares -> ShowS
Prelude.Show, forall x. Rep ListWorkloadShares x -> ListWorkloadShares
forall x. ListWorkloadShares -> Rep ListWorkloadShares x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ListWorkloadShares x -> ListWorkloadShares
$cfrom :: forall x. ListWorkloadShares -> Rep ListWorkloadShares x
Prelude.Generic)

-- |
-- Create a value of 'ListWorkloadShares' 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:
--
-- 'maxResults', 'listWorkloadShares_maxResults' - The maximum number of results to return for this request.
--
-- 'nextToken', 'listWorkloadShares_nextToken' - Undocumented member.
--
-- 'sharedWithPrefix', 'listWorkloadShares_sharedWithPrefix' - The Amazon Web Services account ID, IAM role, organization ID, or
-- organizational unit (OU) ID with which the workload is shared.
--
-- 'status', 'listWorkloadShares_status' - Undocumented member.
--
-- 'workloadId', 'listWorkloadShares_workloadId' - Undocumented member.
newListWorkloadShares ::
  -- | 'workloadId'
  Prelude.Text ->
  ListWorkloadShares
newListWorkloadShares :: Text -> ListWorkloadShares
newListWorkloadShares Text
pWorkloadId_ =
  ListWorkloadShares'
    { $sel:maxResults:ListWorkloadShares' :: Maybe Natural
maxResults = forall a. Maybe a
Prelude.Nothing,
      $sel:nextToken:ListWorkloadShares' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
      $sel:sharedWithPrefix:ListWorkloadShares' :: Maybe Text
sharedWithPrefix = forall a. Maybe a
Prelude.Nothing,
      $sel:status:ListWorkloadShares' :: Maybe ShareStatus
status = forall a. Maybe a
Prelude.Nothing,
      $sel:workloadId:ListWorkloadShares' :: Text
workloadId = Text
pWorkloadId_
    }

-- | The maximum number of results to return for this request.
listWorkloadShares_maxResults :: Lens.Lens' ListWorkloadShares (Prelude.Maybe Prelude.Natural)
listWorkloadShares_maxResults :: Lens' ListWorkloadShares (Maybe Natural)
listWorkloadShares_maxResults = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListWorkloadShares' {Maybe Natural
maxResults :: Maybe Natural
$sel:maxResults:ListWorkloadShares' :: ListWorkloadShares -> Maybe Natural
maxResults} -> Maybe Natural
maxResults) (\s :: ListWorkloadShares
s@ListWorkloadShares' {} Maybe Natural
a -> ListWorkloadShares
s {$sel:maxResults:ListWorkloadShares' :: Maybe Natural
maxResults = Maybe Natural
a} :: ListWorkloadShares)

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

-- | The Amazon Web Services account ID, IAM role, organization ID, or
-- organizational unit (OU) ID with which the workload is shared.
listWorkloadShares_sharedWithPrefix :: Lens.Lens' ListWorkloadShares (Prelude.Maybe Prelude.Text)
listWorkloadShares_sharedWithPrefix :: Lens' ListWorkloadShares (Maybe Text)
listWorkloadShares_sharedWithPrefix = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListWorkloadShares' {Maybe Text
sharedWithPrefix :: Maybe Text
$sel:sharedWithPrefix:ListWorkloadShares' :: ListWorkloadShares -> Maybe Text
sharedWithPrefix} -> Maybe Text
sharedWithPrefix) (\s :: ListWorkloadShares
s@ListWorkloadShares' {} Maybe Text
a -> ListWorkloadShares
s {$sel:sharedWithPrefix:ListWorkloadShares' :: Maybe Text
sharedWithPrefix = Maybe Text
a} :: ListWorkloadShares)

-- | Undocumented member.
listWorkloadShares_status :: Lens.Lens' ListWorkloadShares (Prelude.Maybe ShareStatus)
listWorkloadShares_status :: Lens' ListWorkloadShares (Maybe ShareStatus)
listWorkloadShares_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListWorkloadShares' {Maybe ShareStatus
status :: Maybe ShareStatus
$sel:status:ListWorkloadShares' :: ListWorkloadShares -> Maybe ShareStatus
status} -> Maybe ShareStatus
status) (\s :: ListWorkloadShares
s@ListWorkloadShares' {} Maybe ShareStatus
a -> ListWorkloadShares
s {$sel:status:ListWorkloadShares' :: Maybe ShareStatus
status = Maybe ShareStatus
a} :: ListWorkloadShares)

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

instance Core.AWSRequest ListWorkloadShares where
  type
    AWSResponse ListWorkloadShares =
      ListWorkloadSharesResponse
  request :: (Service -> Service)
-> ListWorkloadShares -> Request ListWorkloadShares
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 ListWorkloadShares
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse ListWorkloadShares)))
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 [WorkloadShareSummary]
-> Int
-> ListWorkloadSharesResponse
ListWorkloadSharesResponse'
            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
"NextToken")
            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.<*> ( Object
x
                            forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"WorkloadShareSummaries"
                            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 ListWorkloadShares where
  hashWithSalt :: Int -> ListWorkloadShares -> Int
hashWithSalt Int
_salt ListWorkloadShares' {Maybe Natural
Maybe Text
Maybe ShareStatus
Text
workloadId :: Text
status :: Maybe ShareStatus
sharedWithPrefix :: Maybe Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:workloadId:ListWorkloadShares' :: ListWorkloadShares -> Text
$sel:status:ListWorkloadShares' :: ListWorkloadShares -> Maybe ShareStatus
$sel:sharedWithPrefix:ListWorkloadShares' :: ListWorkloadShares -> Maybe Text
$sel:nextToken:ListWorkloadShares' :: ListWorkloadShares -> Maybe Text
$sel:maxResults:ListWorkloadShares' :: ListWorkloadShares -> Maybe Natural
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
maxResults
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
nextToken
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
sharedWithPrefix
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ShareStatus
status
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
workloadId

instance Prelude.NFData ListWorkloadShares where
  rnf :: ListWorkloadShares -> ()
rnf ListWorkloadShares' {Maybe Natural
Maybe Text
Maybe ShareStatus
Text
workloadId :: Text
status :: Maybe ShareStatus
sharedWithPrefix :: Maybe Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:workloadId:ListWorkloadShares' :: ListWorkloadShares -> Text
$sel:status:ListWorkloadShares' :: ListWorkloadShares -> Maybe ShareStatus
$sel:sharedWithPrefix:ListWorkloadShares' :: ListWorkloadShares -> Maybe Text
$sel:nextToken:ListWorkloadShares' :: ListWorkloadShares -> Maybe Text
$sel:maxResults:ListWorkloadShares' :: ListWorkloadShares -> Maybe Natural
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
maxResults
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
nextToken
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
sharedWithPrefix
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ShareStatus
status
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
workloadId

instance Data.ToHeaders ListWorkloadShares where
  toHeaders :: ListWorkloadShares -> 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 ListWorkloadShares where
  toPath :: ListWorkloadShares -> ByteString
toPath ListWorkloadShares' {Maybe Natural
Maybe Text
Maybe ShareStatus
Text
workloadId :: Text
status :: Maybe ShareStatus
sharedWithPrefix :: Maybe Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:workloadId:ListWorkloadShares' :: ListWorkloadShares -> Text
$sel:status:ListWorkloadShares' :: ListWorkloadShares -> Maybe ShareStatus
$sel:sharedWithPrefix:ListWorkloadShares' :: ListWorkloadShares -> Maybe Text
$sel:nextToken:ListWorkloadShares' :: ListWorkloadShares -> Maybe Text
$sel:maxResults:ListWorkloadShares' :: ListWorkloadShares -> Maybe Natural
..} =
    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 ListWorkloadShares where
  toQuery :: ListWorkloadShares -> QueryString
toQuery ListWorkloadShares' {Maybe Natural
Maybe Text
Maybe ShareStatus
Text
workloadId :: Text
status :: Maybe ShareStatus
sharedWithPrefix :: Maybe Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:workloadId:ListWorkloadShares' :: ListWorkloadShares -> Text
$sel:status:ListWorkloadShares' :: ListWorkloadShares -> Maybe ShareStatus
$sel:sharedWithPrefix:ListWorkloadShares' :: ListWorkloadShares -> Maybe Text
$sel:nextToken:ListWorkloadShares' :: ListWorkloadShares -> Maybe Text
$sel:maxResults:ListWorkloadShares' :: ListWorkloadShares -> Maybe Natural
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"MaxResults" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Natural
maxResults,
        ByteString
"NextToken" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
nextToken,
        ByteString
"SharedWithPrefix" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
sharedWithPrefix,
        ByteString
"Status" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe ShareStatus
status
      ]

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

-- |
-- Create a value of 'ListWorkloadSharesResponse' 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:
--
-- 'nextToken', 'listWorkloadSharesResponse_nextToken' - Undocumented member.
--
-- 'workloadId', 'listWorkloadSharesResponse_workloadId' - Undocumented member.
--
-- 'workloadShareSummaries', 'listWorkloadSharesResponse_workloadShareSummaries' - Undocumented member.
--
-- 'httpStatus', 'listWorkloadSharesResponse_httpStatus' - The response's http status code.
newListWorkloadSharesResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  ListWorkloadSharesResponse
newListWorkloadSharesResponse :: Int -> ListWorkloadSharesResponse
newListWorkloadSharesResponse Int
pHttpStatus_ =
  ListWorkloadSharesResponse'
    { $sel:nextToken:ListWorkloadSharesResponse' :: Maybe Text
nextToken =
        forall a. Maybe a
Prelude.Nothing,
      $sel:workloadId:ListWorkloadSharesResponse' :: Maybe Text
workloadId = forall a. Maybe a
Prelude.Nothing,
      $sel:workloadShareSummaries:ListWorkloadSharesResponse' :: Maybe [WorkloadShareSummary]
workloadShareSummaries = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:ListWorkloadSharesResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

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

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

-- | Undocumented member.
listWorkloadSharesResponse_workloadShareSummaries :: Lens.Lens' ListWorkloadSharesResponse (Prelude.Maybe [WorkloadShareSummary])
listWorkloadSharesResponse_workloadShareSummaries :: Lens' ListWorkloadSharesResponse (Maybe [WorkloadShareSummary])
listWorkloadSharesResponse_workloadShareSummaries = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListWorkloadSharesResponse' {Maybe [WorkloadShareSummary]
workloadShareSummaries :: Maybe [WorkloadShareSummary]
$sel:workloadShareSummaries:ListWorkloadSharesResponse' :: ListWorkloadSharesResponse -> Maybe [WorkloadShareSummary]
workloadShareSummaries} -> Maybe [WorkloadShareSummary]
workloadShareSummaries) (\s :: ListWorkloadSharesResponse
s@ListWorkloadSharesResponse' {} Maybe [WorkloadShareSummary]
a -> ListWorkloadSharesResponse
s {$sel:workloadShareSummaries:ListWorkloadSharesResponse' :: Maybe [WorkloadShareSummary]
workloadShareSummaries = Maybe [WorkloadShareSummary]
a} :: ListWorkloadSharesResponse) 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.
listWorkloadSharesResponse_httpStatus :: Lens.Lens' ListWorkloadSharesResponse Prelude.Int
listWorkloadSharesResponse_httpStatus :: Lens' ListWorkloadSharesResponse Int
listWorkloadSharesResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListWorkloadSharesResponse' {Int
httpStatus :: Int
$sel:httpStatus:ListWorkloadSharesResponse' :: ListWorkloadSharesResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: ListWorkloadSharesResponse
s@ListWorkloadSharesResponse' {} Int
a -> ListWorkloadSharesResponse
s {$sel:httpStatus:ListWorkloadSharesResponse' :: Int
httpStatus = Int
a} :: ListWorkloadSharesResponse)

instance Prelude.NFData ListWorkloadSharesResponse where
  rnf :: ListWorkloadSharesResponse -> ()
rnf ListWorkloadSharesResponse' {Int
Maybe [WorkloadShareSummary]
Maybe Text
httpStatus :: Int
workloadShareSummaries :: Maybe [WorkloadShareSummary]
workloadId :: Maybe Text
nextToken :: Maybe Text
$sel:httpStatus:ListWorkloadSharesResponse' :: ListWorkloadSharesResponse -> Int
$sel:workloadShareSummaries:ListWorkloadSharesResponse' :: ListWorkloadSharesResponse -> Maybe [WorkloadShareSummary]
$sel:workloadId:ListWorkloadSharesResponse' :: ListWorkloadSharesResponse -> Maybe Text
$sel:nextToken:ListWorkloadSharesResponse' :: ListWorkloadSharesResponse -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
nextToken
      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 Maybe [WorkloadShareSummary]
workloadShareSummaries
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus