{-# 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.WorkLink.DescribeIdentityProviderConfiguration
-- Copyright   : (c) 2013-2021 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Describes the identity provider configuration of the specified fleet.
module Amazonka.WorkLink.DescribeIdentityProviderConfiguration
  ( -- * Creating a Request
    DescribeIdentityProviderConfiguration (..),
    newDescribeIdentityProviderConfiguration,

    -- * Request Lenses
    describeIdentityProviderConfiguration_fleetArn,

    -- * Destructuring the Response
    DescribeIdentityProviderConfigurationResponse (..),
    newDescribeIdentityProviderConfigurationResponse,

    -- * Response Lenses
    describeIdentityProviderConfigurationResponse_identityProviderType,
    describeIdentityProviderConfigurationResponse_serviceProviderSamlMetadata,
    describeIdentityProviderConfigurationResponse_identityProviderSamlMetadata,
    describeIdentityProviderConfigurationResponse_httpStatus,
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
import Amazonka.WorkLink.Types

-- | /See:/ 'newDescribeIdentityProviderConfiguration' smart constructor.
data DescribeIdentityProviderConfiguration = DescribeIdentityProviderConfiguration'
  { -- | The ARN of the fleet.
    DescribeIdentityProviderConfiguration -> Text
fleetArn :: Prelude.Text
  }
  deriving (DescribeIdentityProviderConfiguration
-> DescribeIdentityProviderConfiguration -> Bool
(DescribeIdentityProviderConfiguration
 -> DescribeIdentityProviderConfiguration -> Bool)
-> (DescribeIdentityProviderConfiguration
    -> DescribeIdentityProviderConfiguration -> Bool)
-> Eq DescribeIdentityProviderConfiguration
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeIdentityProviderConfiguration
-> DescribeIdentityProviderConfiguration -> Bool
$c/= :: DescribeIdentityProviderConfiguration
-> DescribeIdentityProviderConfiguration -> Bool
== :: DescribeIdentityProviderConfiguration
-> DescribeIdentityProviderConfiguration -> Bool
$c== :: DescribeIdentityProviderConfiguration
-> DescribeIdentityProviderConfiguration -> Bool
Prelude.Eq, ReadPrec [DescribeIdentityProviderConfiguration]
ReadPrec DescribeIdentityProviderConfiguration
Int -> ReadS DescribeIdentityProviderConfiguration
ReadS [DescribeIdentityProviderConfiguration]
(Int -> ReadS DescribeIdentityProviderConfiguration)
-> ReadS [DescribeIdentityProviderConfiguration]
-> ReadPrec DescribeIdentityProviderConfiguration
-> ReadPrec [DescribeIdentityProviderConfiguration]
-> Read DescribeIdentityProviderConfiguration
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeIdentityProviderConfiguration]
$creadListPrec :: ReadPrec [DescribeIdentityProviderConfiguration]
readPrec :: ReadPrec DescribeIdentityProviderConfiguration
$creadPrec :: ReadPrec DescribeIdentityProviderConfiguration
readList :: ReadS [DescribeIdentityProviderConfiguration]
$creadList :: ReadS [DescribeIdentityProviderConfiguration]
readsPrec :: Int -> ReadS DescribeIdentityProviderConfiguration
$creadsPrec :: Int -> ReadS DescribeIdentityProviderConfiguration
Prelude.Read, Int -> DescribeIdentityProviderConfiguration -> ShowS
[DescribeIdentityProviderConfiguration] -> ShowS
DescribeIdentityProviderConfiguration -> String
(Int -> DescribeIdentityProviderConfiguration -> ShowS)
-> (DescribeIdentityProviderConfiguration -> String)
-> ([DescribeIdentityProviderConfiguration] -> ShowS)
-> Show DescribeIdentityProviderConfiguration
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeIdentityProviderConfiguration] -> ShowS
$cshowList :: [DescribeIdentityProviderConfiguration] -> ShowS
show :: DescribeIdentityProviderConfiguration -> String
$cshow :: DescribeIdentityProviderConfiguration -> String
showsPrec :: Int -> DescribeIdentityProviderConfiguration -> ShowS
$cshowsPrec :: Int -> DescribeIdentityProviderConfiguration -> ShowS
Prelude.Show, (forall x.
 DescribeIdentityProviderConfiguration
 -> Rep DescribeIdentityProviderConfiguration x)
-> (forall x.
    Rep DescribeIdentityProviderConfiguration x
    -> DescribeIdentityProviderConfiguration)
-> Generic DescribeIdentityProviderConfiguration
forall x.
Rep DescribeIdentityProviderConfiguration x
-> DescribeIdentityProviderConfiguration
forall x.
DescribeIdentityProviderConfiguration
-> Rep DescribeIdentityProviderConfiguration x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeIdentityProviderConfiguration x
-> DescribeIdentityProviderConfiguration
$cfrom :: forall x.
DescribeIdentityProviderConfiguration
-> Rep DescribeIdentityProviderConfiguration x
Prelude.Generic)

-- |
-- Create a value of 'DescribeIdentityProviderConfiguration' 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:
--
-- 'fleetArn', 'describeIdentityProviderConfiguration_fleetArn' - The ARN of the fleet.
newDescribeIdentityProviderConfiguration ::
  -- | 'fleetArn'
  Prelude.Text ->
  DescribeIdentityProviderConfiguration
newDescribeIdentityProviderConfiguration :: Text -> DescribeIdentityProviderConfiguration
newDescribeIdentityProviderConfiguration Text
pFleetArn_ =
  DescribeIdentityProviderConfiguration' :: Text -> DescribeIdentityProviderConfiguration
DescribeIdentityProviderConfiguration'
    { $sel:fleetArn:DescribeIdentityProviderConfiguration' :: Text
fleetArn =
        Text
pFleetArn_
    }

-- | The ARN of the fleet.
describeIdentityProviderConfiguration_fleetArn :: Lens.Lens' DescribeIdentityProviderConfiguration Prelude.Text
describeIdentityProviderConfiguration_fleetArn :: (Text -> f Text)
-> DescribeIdentityProviderConfiguration
-> f DescribeIdentityProviderConfiguration
describeIdentityProviderConfiguration_fleetArn = (DescribeIdentityProviderConfiguration -> Text)
-> (DescribeIdentityProviderConfiguration
    -> Text -> DescribeIdentityProviderConfiguration)
-> Lens
     DescribeIdentityProviderConfiguration
     DescribeIdentityProviderConfiguration
     Text
     Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeIdentityProviderConfiguration' {Text
fleetArn :: Text
$sel:fleetArn:DescribeIdentityProviderConfiguration' :: DescribeIdentityProviderConfiguration -> Text
fleetArn} -> Text
fleetArn) (\s :: DescribeIdentityProviderConfiguration
s@DescribeIdentityProviderConfiguration' {} Text
a -> DescribeIdentityProviderConfiguration
s {$sel:fleetArn:DescribeIdentityProviderConfiguration' :: Text
fleetArn = Text
a} :: DescribeIdentityProviderConfiguration)

instance
  Core.AWSRequest
    DescribeIdentityProviderConfiguration
  where
  type
    AWSResponse
      DescribeIdentityProviderConfiguration =
      DescribeIdentityProviderConfigurationResponse
  request :: DescribeIdentityProviderConfiguration
-> Request DescribeIdentityProviderConfiguration
request = Service
-> DescribeIdentityProviderConfiguration
-> Request DescribeIdentityProviderConfiguration
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON Service
defaultService
  response :: Logger
-> Service
-> Proxy DescribeIdentityProviderConfiguration
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse
           (AWSResponse DescribeIdentityProviderConfiguration)))
response =
    (Int
 -> ResponseHeaders
 -> Object
 -> Either
      String (AWSResponse DescribeIdentityProviderConfiguration))
-> Logger
-> Service
-> Proxy DescribeIdentityProviderConfiguration
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse
           (AWSResponse DescribeIdentityProviderConfiguration)))
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> Logger
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Maybe IdentityProviderType
-> Maybe Text
-> Maybe Text
-> Int
-> DescribeIdentityProviderConfigurationResponse
DescribeIdentityProviderConfigurationResponse'
            (Maybe IdentityProviderType
 -> Maybe Text
 -> Maybe Text
 -> Int
 -> DescribeIdentityProviderConfigurationResponse)
-> Either String (Maybe IdentityProviderType)
-> Either
     String
     (Maybe Text
      -> Maybe Text
      -> Int
      -> DescribeIdentityProviderConfigurationResponse)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Either String (Maybe IdentityProviderType)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"IdentityProviderType")
              Either
  String
  (Maybe Text
   -> Maybe Text
   -> Int
   -> DescribeIdentityProviderConfigurationResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe Text
      -> Int -> DescribeIdentityProviderConfigurationResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"ServiceProviderSamlMetadata")
              Either
  String
  (Maybe Text
   -> Int -> DescribeIdentityProviderConfigurationResponse)
-> Either String (Maybe Text)
-> Either
     String (Int -> DescribeIdentityProviderConfigurationResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"IdentityProviderSamlMetadata")
              Either
  String (Int -> DescribeIdentityProviderConfigurationResponse)
-> Either String Int
-> Either String DescribeIdentityProviderConfigurationResponse
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Int -> Either String Int
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (Int -> Int
forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
      )

instance
  Prelude.Hashable
    DescribeIdentityProviderConfiguration

instance
  Prelude.NFData
    DescribeIdentityProviderConfiguration

instance
  Core.ToHeaders
    DescribeIdentityProviderConfiguration
  where
  toHeaders :: DescribeIdentityProviderConfiguration -> ResponseHeaders
toHeaders =
    ResponseHeaders
-> DescribeIdentityProviderConfiguration -> ResponseHeaders
forall a b. a -> b -> a
Prelude.const
      ( [ResponseHeaders] -> ResponseHeaders
forall a. Monoid a => [a] -> a
Prelude.mconcat
          [ HeaderName
"Content-Type"
              HeaderName -> ByteString -> ResponseHeaders
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Core.=# ( ByteString
"application/x-amz-json-1.1" ::
                          Prelude.ByteString
                      )
          ]
      )

instance
  Core.ToJSON
    DescribeIdentityProviderConfiguration
  where
  toJSON :: DescribeIdentityProviderConfiguration -> Value
toJSON DescribeIdentityProviderConfiguration' {Text
fleetArn :: Text
$sel:fleetArn:DescribeIdentityProviderConfiguration' :: DescribeIdentityProviderConfiguration -> Text
..} =
    [Pair] -> Value
Core.object
      ( [Maybe Pair] -> [Pair]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [Pair -> Maybe Pair
forall a. a -> Maybe a
Prelude.Just (Text
"FleetArn" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..= Text
fleetArn)]
      )

instance
  Core.ToPath
    DescribeIdentityProviderConfiguration
  where
  toPath :: DescribeIdentityProviderConfiguration -> ByteString
toPath =
    ByteString -> DescribeIdentityProviderConfiguration -> ByteString
forall a b. a -> b -> a
Prelude.const
      ByteString
"/describeIdentityProviderConfiguration"

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

-- | /See:/ 'newDescribeIdentityProviderConfigurationResponse' smart constructor.
data DescribeIdentityProviderConfigurationResponse = DescribeIdentityProviderConfigurationResponse'
  { -- | The type of identity provider.
    DescribeIdentityProviderConfigurationResponse
-> Maybe IdentityProviderType
identityProviderType :: Prelude.Maybe IdentityProviderType,
    -- | The SAML metadata document uploaded to the user’s identity provider.
    DescribeIdentityProviderConfigurationResponse -> Maybe Text
serviceProviderSamlMetadata :: Prelude.Maybe Prelude.Text,
    -- | The SAML metadata document provided by the user’s identity provider.
    DescribeIdentityProviderConfigurationResponse -> Maybe Text
identityProviderSamlMetadata :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    DescribeIdentityProviderConfigurationResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (DescribeIdentityProviderConfigurationResponse
-> DescribeIdentityProviderConfigurationResponse -> Bool
(DescribeIdentityProviderConfigurationResponse
 -> DescribeIdentityProviderConfigurationResponse -> Bool)
-> (DescribeIdentityProviderConfigurationResponse
    -> DescribeIdentityProviderConfigurationResponse -> Bool)
-> Eq DescribeIdentityProviderConfigurationResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeIdentityProviderConfigurationResponse
-> DescribeIdentityProviderConfigurationResponse -> Bool
$c/= :: DescribeIdentityProviderConfigurationResponse
-> DescribeIdentityProviderConfigurationResponse -> Bool
== :: DescribeIdentityProviderConfigurationResponse
-> DescribeIdentityProviderConfigurationResponse -> Bool
$c== :: DescribeIdentityProviderConfigurationResponse
-> DescribeIdentityProviderConfigurationResponse -> Bool
Prelude.Eq, ReadPrec [DescribeIdentityProviderConfigurationResponse]
ReadPrec DescribeIdentityProviderConfigurationResponse
Int -> ReadS DescribeIdentityProviderConfigurationResponse
ReadS [DescribeIdentityProviderConfigurationResponse]
(Int -> ReadS DescribeIdentityProviderConfigurationResponse)
-> ReadS [DescribeIdentityProviderConfigurationResponse]
-> ReadPrec DescribeIdentityProviderConfigurationResponse
-> ReadPrec [DescribeIdentityProviderConfigurationResponse]
-> Read DescribeIdentityProviderConfigurationResponse
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeIdentityProviderConfigurationResponse]
$creadListPrec :: ReadPrec [DescribeIdentityProviderConfigurationResponse]
readPrec :: ReadPrec DescribeIdentityProviderConfigurationResponse
$creadPrec :: ReadPrec DescribeIdentityProviderConfigurationResponse
readList :: ReadS [DescribeIdentityProviderConfigurationResponse]
$creadList :: ReadS [DescribeIdentityProviderConfigurationResponse]
readsPrec :: Int -> ReadS DescribeIdentityProviderConfigurationResponse
$creadsPrec :: Int -> ReadS DescribeIdentityProviderConfigurationResponse
Prelude.Read, Int -> DescribeIdentityProviderConfigurationResponse -> ShowS
[DescribeIdentityProviderConfigurationResponse] -> ShowS
DescribeIdentityProviderConfigurationResponse -> String
(Int -> DescribeIdentityProviderConfigurationResponse -> ShowS)
-> (DescribeIdentityProviderConfigurationResponse -> String)
-> ([DescribeIdentityProviderConfigurationResponse] -> ShowS)
-> Show DescribeIdentityProviderConfigurationResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeIdentityProviderConfigurationResponse] -> ShowS
$cshowList :: [DescribeIdentityProviderConfigurationResponse] -> ShowS
show :: DescribeIdentityProviderConfigurationResponse -> String
$cshow :: DescribeIdentityProviderConfigurationResponse -> String
showsPrec :: Int -> DescribeIdentityProviderConfigurationResponse -> ShowS
$cshowsPrec :: Int -> DescribeIdentityProviderConfigurationResponse -> ShowS
Prelude.Show, (forall x.
 DescribeIdentityProviderConfigurationResponse
 -> Rep DescribeIdentityProviderConfigurationResponse x)
-> (forall x.
    Rep DescribeIdentityProviderConfigurationResponse x
    -> DescribeIdentityProviderConfigurationResponse)
-> Generic DescribeIdentityProviderConfigurationResponse
forall x.
Rep DescribeIdentityProviderConfigurationResponse x
-> DescribeIdentityProviderConfigurationResponse
forall x.
DescribeIdentityProviderConfigurationResponse
-> Rep DescribeIdentityProviderConfigurationResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeIdentityProviderConfigurationResponse x
-> DescribeIdentityProviderConfigurationResponse
$cfrom :: forall x.
DescribeIdentityProviderConfigurationResponse
-> Rep DescribeIdentityProviderConfigurationResponse x
Prelude.Generic)

-- |
-- Create a value of 'DescribeIdentityProviderConfigurationResponse' 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:
--
-- 'identityProviderType', 'describeIdentityProviderConfigurationResponse_identityProviderType' - The type of identity provider.
--
-- 'serviceProviderSamlMetadata', 'describeIdentityProviderConfigurationResponse_serviceProviderSamlMetadata' - The SAML metadata document uploaded to the user’s identity provider.
--
-- 'identityProviderSamlMetadata', 'describeIdentityProviderConfigurationResponse_identityProviderSamlMetadata' - The SAML metadata document provided by the user’s identity provider.
--
-- 'httpStatus', 'describeIdentityProviderConfigurationResponse_httpStatus' - The response's http status code.
newDescribeIdentityProviderConfigurationResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  DescribeIdentityProviderConfigurationResponse
newDescribeIdentityProviderConfigurationResponse :: Int -> DescribeIdentityProviderConfigurationResponse
newDescribeIdentityProviderConfigurationResponse
  Int
pHttpStatus_ =
    DescribeIdentityProviderConfigurationResponse' :: Maybe IdentityProviderType
-> Maybe Text
-> Maybe Text
-> Int
-> DescribeIdentityProviderConfigurationResponse
DescribeIdentityProviderConfigurationResponse'
      { $sel:identityProviderType:DescribeIdentityProviderConfigurationResponse' :: Maybe IdentityProviderType
identityProviderType =
          Maybe IdentityProviderType
forall a. Maybe a
Prelude.Nothing,
        $sel:serviceProviderSamlMetadata:DescribeIdentityProviderConfigurationResponse' :: Maybe Text
serviceProviderSamlMetadata =
          Maybe Text
forall a. Maybe a
Prelude.Nothing,
        $sel:identityProviderSamlMetadata:DescribeIdentityProviderConfigurationResponse' :: Maybe Text
identityProviderSamlMetadata =
          Maybe Text
forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:DescribeIdentityProviderConfigurationResponse' :: Int
httpStatus = Int
pHttpStatus_
      }

-- | The type of identity provider.
describeIdentityProviderConfigurationResponse_identityProviderType :: Lens.Lens' DescribeIdentityProviderConfigurationResponse (Prelude.Maybe IdentityProviderType)
describeIdentityProviderConfigurationResponse_identityProviderType :: (Maybe IdentityProviderType -> f (Maybe IdentityProviderType))
-> DescribeIdentityProviderConfigurationResponse
-> f DescribeIdentityProviderConfigurationResponse
describeIdentityProviderConfigurationResponse_identityProviderType = (DescribeIdentityProviderConfigurationResponse
 -> Maybe IdentityProviderType)
-> (DescribeIdentityProviderConfigurationResponse
    -> Maybe IdentityProviderType
    -> DescribeIdentityProviderConfigurationResponse)
-> Lens
     DescribeIdentityProviderConfigurationResponse
     DescribeIdentityProviderConfigurationResponse
     (Maybe IdentityProviderType)
     (Maybe IdentityProviderType)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeIdentityProviderConfigurationResponse' {Maybe IdentityProviderType
identityProviderType :: Maybe IdentityProviderType
$sel:identityProviderType:DescribeIdentityProviderConfigurationResponse' :: DescribeIdentityProviderConfigurationResponse
-> Maybe IdentityProviderType
identityProviderType} -> Maybe IdentityProviderType
identityProviderType) (\s :: DescribeIdentityProviderConfigurationResponse
s@DescribeIdentityProviderConfigurationResponse' {} Maybe IdentityProviderType
a -> DescribeIdentityProviderConfigurationResponse
s {$sel:identityProviderType:DescribeIdentityProviderConfigurationResponse' :: Maybe IdentityProviderType
identityProviderType = Maybe IdentityProviderType
a} :: DescribeIdentityProviderConfigurationResponse)

-- | The SAML metadata document uploaded to the user’s identity provider.
describeIdentityProviderConfigurationResponse_serviceProviderSamlMetadata :: Lens.Lens' DescribeIdentityProviderConfigurationResponse (Prelude.Maybe Prelude.Text)
describeIdentityProviderConfigurationResponse_serviceProviderSamlMetadata :: (Maybe Text -> f (Maybe Text))
-> DescribeIdentityProviderConfigurationResponse
-> f DescribeIdentityProviderConfigurationResponse
describeIdentityProviderConfigurationResponse_serviceProviderSamlMetadata = (DescribeIdentityProviderConfigurationResponse -> Maybe Text)
-> (DescribeIdentityProviderConfigurationResponse
    -> Maybe Text -> DescribeIdentityProviderConfigurationResponse)
-> Lens
     DescribeIdentityProviderConfigurationResponse
     DescribeIdentityProviderConfigurationResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeIdentityProviderConfigurationResponse' {Maybe Text
serviceProviderSamlMetadata :: Maybe Text
$sel:serviceProviderSamlMetadata:DescribeIdentityProviderConfigurationResponse' :: DescribeIdentityProviderConfigurationResponse -> Maybe Text
serviceProviderSamlMetadata} -> Maybe Text
serviceProviderSamlMetadata) (\s :: DescribeIdentityProviderConfigurationResponse
s@DescribeIdentityProviderConfigurationResponse' {} Maybe Text
a -> DescribeIdentityProviderConfigurationResponse
s {$sel:serviceProviderSamlMetadata:DescribeIdentityProviderConfigurationResponse' :: Maybe Text
serviceProviderSamlMetadata = Maybe Text
a} :: DescribeIdentityProviderConfigurationResponse)

-- | The SAML metadata document provided by the user’s identity provider.
describeIdentityProviderConfigurationResponse_identityProviderSamlMetadata :: Lens.Lens' DescribeIdentityProviderConfigurationResponse (Prelude.Maybe Prelude.Text)
describeIdentityProviderConfigurationResponse_identityProviderSamlMetadata :: (Maybe Text -> f (Maybe Text))
-> DescribeIdentityProviderConfigurationResponse
-> f DescribeIdentityProviderConfigurationResponse
describeIdentityProviderConfigurationResponse_identityProviderSamlMetadata = (DescribeIdentityProviderConfigurationResponse -> Maybe Text)
-> (DescribeIdentityProviderConfigurationResponse
    -> Maybe Text -> DescribeIdentityProviderConfigurationResponse)
-> Lens
     DescribeIdentityProviderConfigurationResponse
     DescribeIdentityProviderConfigurationResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeIdentityProviderConfigurationResponse' {Maybe Text
identityProviderSamlMetadata :: Maybe Text
$sel:identityProviderSamlMetadata:DescribeIdentityProviderConfigurationResponse' :: DescribeIdentityProviderConfigurationResponse -> Maybe Text
identityProviderSamlMetadata} -> Maybe Text
identityProviderSamlMetadata) (\s :: DescribeIdentityProviderConfigurationResponse
s@DescribeIdentityProviderConfigurationResponse' {} Maybe Text
a -> DescribeIdentityProviderConfigurationResponse
s {$sel:identityProviderSamlMetadata:DescribeIdentityProviderConfigurationResponse' :: Maybe Text
identityProviderSamlMetadata = Maybe Text
a} :: DescribeIdentityProviderConfigurationResponse)

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

instance
  Prelude.NFData
    DescribeIdentityProviderConfigurationResponse