{-# 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.EKS.DisassociateIdentityProviderConfig
-- 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)
--
-- Disassociates an identity provider configuration from a cluster. If you
-- disassociate an identity provider from your cluster, users included in
-- the provider can no longer access the cluster. However, you can still
-- access the cluster with Amazon Web Services IAM users.
module Amazonka.EKS.DisassociateIdentityProviderConfig
  ( -- * Creating a Request
    DisassociateIdentityProviderConfig (..),
    newDisassociateIdentityProviderConfig,

    -- * Request Lenses
    disassociateIdentityProviderConfig_clientRequestToken,
    disassociateIdentityProviderConfig_clusterName,
    disassociateIdentityProviderConfig_identityProviderConfig,

    -- * Destructuring the Response
    DisassociateIdentityProviderConfigResponse (..),
    newDisassociateIdentityProviderConfigResponse,

    -- * Response Lenses
    disassociateIdentityProviderConfigResponse_update,
    disassociateIdentityProviderConfigResponse_httpStatus,
  )
where

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

-- | /See:/ 'newDisassociateIdentityProviderConfig' smart constructor.
data DisassociateIdentityProviderConfig = DisassociateIdentityProviderConfig'
  { -- | A unique, case-sensitive identifier that you provide to ensure the
    -- idempotency of the request.
    DisassociateIdentityProviderConfig -> Maybe Text
clientRequestToken :: Prelude.Maybe Prelude.Text,
    -- | The name of the cluster to disassociate an identity provider from.
    DisassociateIdentityProviderConfig -> Text
clusterName :: Prelude.Text,
    -- | An object that represents an identity provider configuration.
    DisassociateIdentityProviderConfig -> IdentityProviderConfig
identityProviderConfig :: IdentityProviderConfig
  }
  deriving (DisassociateIdentityProviderConfig
-> DisassociateIdentityProviderConfig -> Bool
(DisassociateIdentityProviderConfig
 -> DisassociateIdentityProviderConfig -> Bool)
-> (DisassociateIdentityProviderConfig
    -> DisassociateIdentityProviderConfig -> Bool)
-> Eq DisassociateIdentityProviderConfig
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DisassociateIdentityProviderConfig
-> DisassociateIdentityProviderConfig -> Bool
$c/= :: DisassociateIdentityProviderConfig
-> DisassociateIdentityProviderConfig -> Bool
== :: DisassociateIdentityProviderConfig
-> DisassociateIdentityProviderConfig -> Bool
$c== :: DisassociateIdentityProviderConfig
-> DisassociateIdentityProviderConfig -> Bool
Prelude.Eq, ReadPrec [DisassociateIdentityProviderConfig]
ReadPrec DisassociateIdentityProviderConfig
Int -> ReadS DisassociateIdentityProviderConfig
ReadS [DisassociateIdentityProviderConfig]
(Int -> ReadS DisassociateIdentityProviderConfig)
-> ReadS [DisassociateIdentityProviderConfig]
-> ReadPrec DisassociateIdentityProviderConfig
-> ReadPrec [DisassociateIdentityProviderConfig]
-> Read DisassociateIdentityProviderConfig
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DisassociateIdentityProviderConfig]
$creadListPrec :: ReadPrec [DisassociateIdentityProviderConfig]
readPrec :: ReadPrec DisassociateIdentityProviderConfig
$creadPrec :: ReadPrec DisassociateIdentityProviderConfig
readList :: ReadS [DisassociateIdentityProviderConfig]
$creadList :: ReadS [DisassociateIdentityProviderConfig]
readsPrec :: Int -> ReadS DisassociateIdentityProviderConfig
$creadsPrec :: Int -> ReadS DisassociateIdentityProviderConfig
Prelude.Read, Int -> DisassociateIdentityProviderConfig -> ShowS
[DisassociateIdentityProviderConfig] -> ShowS
DisassociateIdentityProviderConfig -> String
(Int -> DisassociateIdentityProviderConfig -> ShowS)
-> (DisassociateIdentityProviderConfig -> String)
-> ([DisassociateIdentityProviderConfig] -> ShowS)
-> Show DisassociateIdentityProviderConfig
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DisassociateIdentityProviderConfig] -> ShowS
$cshowList :: [DisassociateIdentityProviderConfig] -> ShowS
show :: DisassociateIdentityProviderConfig -> String
$cshow :: DisassociateIdentityProviderConfig -> String
showsPrec :: Int -> DisassociateIdentityProviderConfig -> ShowS
$cshowsPrec :: Int -> DisassociateIdentityProviderConfig -> ShowS
Prelude.Show, (forall x.
 DisassociateIdentityProviderConfig
 -> Rep DisassociateIdentityProviderConfig x)
-> (forall x.
    Rep DisassociateIdentityProviderConfig x
    -> DisassociateIdentityProviderConfig)
-> Generic DisassociateIdentityProviderConfig
forall x.
Rep DisassociateIdentityProviderConfig x
-> DisassociateIdentityProviderConfig
forall x.
DisassociateIdentityProviderConfig
-> Rep DisassociateIdentityProviderConfig x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DisassociateIdentityProviderConfig x
-> DisassociateIdentityProviderConfig
$cfrom :: forall x.
DisassociateIdentityProviderConfig
-> Rep DisassociateIdentityProviderConfig x
Prelude.Generic)

-- |
-- Create a value of 'DisassociateIdentityProviderConfig' 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:
--
-- 'clientRequestToken', 'disassociateIdentityProviderConfig_clientRequestToken' - A unique, case-sensitive identifier that you provide to ensure the
-- idempotency of the request.
--
-- 'clusterName', 'disassociateIdentityProviderConfig_clusterName' - The name of the cluster to disassociate an identity provider from.
--
-- 'identityProviderConfig', 'disassociateIdentityProviderConfig_identityProviderConfig' - An object that represents an identity provider configuration.
newDisassociateIdentityProviderConfig ::
  -- | 'clusterName'
  Prelude.Text ->
  -- | 'identityProviderConfig'
  IdentityProviderConfig ->
  DisassociateIdentityProviderConfig
newDisassociateIdentityProviderConfig :: Text
-> IdentityProviderConfig -> DisassociateIdentityProviderConfig
newDisassociateIdentityProviderConfig
  Text
pClusterName_
  IdentityProviderConfig
pIdentityProviderConfig_ =
    DisassociateIdentityProviderConfig' :: Maybe Text
-> Text
-> IdentityProviderConfig
-> DisassociateIdentityProviderConfig
DisassociateIdentityProviderConfig'
      { $sel:clientRequestToken:DisassociateIdentityProviderConfig' :: Maybe Text
clientRequestToken =
          Maybe Text
forall a. Maybe a
Prelude.Nothing,
        $sel:clusterName:DisassociateIdentityProviderConfig' :: Text
clusterName = Text
pClusterName_,
        $sel:identityProviderConfig:DisassociateIdentityProviderConfig' :: IdentityProviderConfig
identityProviderConfig =
          IdentityProviderConfig
pIdentityProviderConfig_
      }

-- | A unique, case-sensitive identifier that you provide to ensure the
-- idempotency of the request.
disassociateIdentityProviderConfig_clientRequestToken :: Lens.Lens' DisassociateIdentityProviderConfig (Prelude.Maybe Prelude.Text)
disassociateIdentityProviderConfig_clientRequestToken :: (Maybe Text -> f (Maybe Text))
-> DisassociateIdentityProviderConfig
-> f DisassociateIdentityProviderConfig
disassociateIdentityProviderConfig_clientRequestToken = (DisassociateIdentityProviderConfig -> Maybe Text)
-> (DisassociateIdentityProviderConfig
    -> Maybe Text -> DisassociateIdentityProviderConfig)
-> Lens
     DisassociateIdentityProviderConfig
     DisassociateIdentityProviderConfig
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisassociateIdentityProviderConfig' {Maybe Text
clientRequestToken :: Maybe Text
$sel:clientRequestToken:DisassociateIdentityProviderConfig' :: DisassociateIdentityProviderConfig -> Maybe Text
clientRequestToken} -> Maybe Text
clientRequestToken) (\s :: DisassociateIdentityProviderConfig
s@DisassociateIdentityProviderConfig' {} Maybe Text
a -> DisassociateIdentityProviderConfig
s {$sel:clientRequestToken:DisassociateIdentityProviderConfig' :: Maybe Text
clientRequestToken = Maybe Text
a} :: DisassociateIdentityProviderConfig)

-- | The name of the cluster to disassociate an identity provider from.
disassociateIdentityProviderConfig_clusterName :: Lens.Lens' DisassociateIdentityProviderConfig Prelude.Text
disassociateIdentityProviderConfig_clusterName :: (Text -> f Text)
-> DisassociateIdentityProviderConfig
-> f DisassociateIdentityProviderConfig
disassociateIdentityProviderConfig_clusterName = (DisassociateIdentityProviderConfig -> Text)
-> (DisassociateIdentityProviderConfig
    -> Text -> DisassociateIdentityProviderConfig)
-> Lens
     DisassociateIdentityProviderConfig
     DisassociateIdentityProviderConfig
     Text
     Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisassociateIdentityProviderConfig' {Text
clusterName :: Text
$sel:clusterName:DisassociateIdentityProviderConfig' :: DisassociateIdentityProviderConfig -> Text
clusterName} -> Text
clusterName) (\s :: DisassociateIdentityProviderConfig
s@DisassociateIdentityProviderConfig' {} Text
a -> DisassociateIdentityProviderConfig
s {$sel:clusterName:DisassociateIdentityProviderConfig' :: Text
clusterName = Text
a} :: DisassociateIdentityProviderConfig)

-- | An object that represents an identity provider configuration.
disassociateIdentityProviderConfig_identityProviderConfig :: Lens.Lens' DisassociateIdentityProviderConfig IdentityProviderConfig
disassociateIdentityProviderConfig_identityProviderConfig :: (IdentityProviderConfig -> f IdentityProviderConfig)
-> DisassociateIdentityProviderConfig
-> f DisassociateIdentityProviderConfig
disassociateIdentityProviderConfig_identityProviderConfig = (DisassociateIdentityProviderConfig -> IdentityProviderConfig)
-> (DisassociateIdentityProviderConfig
    -> IdentityProviderConfig -> DisassociateIdentityProviderConfig)
-> Lens
     DisassociateIdentityProviderConfig
     DisassociateIdentityProviderConfig
     IdentityProviderConfig
     IdentityProviderConfig
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisassociateIdentityProviderConfig' {IdentityProviderConfig
identityProviderConfig :: IdentityProviderConfig
$sel:identityProviderConfig:DisassociateIdentityProviderConfig' :: DisassociateIdentityProviderConfig -> IdentityProviderConfig
identityProviderConfig} -> IdentityProviderConfig
identityProviderConfig) (\s :: DisassociateIdentityProviderConfig
s@DisassociateIdentityProviderConfig' {} IdentityProviderConfig
a -> DisassociateIdentityProviderConfig
s {$sel:identityProviderConfig:DisassociateIdentityProviderConfig' :: IdentityProviderConfig
identityProviderConfig = IdentityProviderConfig
a} :: DisassociateIdentityProviderConfig)

instance
  Core.AWSRequest
    DisassociateIdentityProviderConfig
  where
  type
    AWSResponse DisassociateIdentityProviderConfig =
      DisassociateIdentityProviderConfigResponse
  request :: DisassociateIdentityProviderConfig
-> Request DisassociateIdentityProviderConfig
request = Service
-> DisassociateIdentityProviderConfig
-> Request DisassociateIdentityProviderConfig
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON Service
defaultService
  response :: Logger
-> Service
-> Proxy DisassociateIdentityProviderConfig
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse (AWSResponse DisassociateIdentityProviderConfig)))
response =
    (Int
 -> ResponseHeaders
 -> Object
 -> Either String (AWSResponse DisassociateIdentityProviderConfig))
-> Logger
-> Service
-> Proxy DisassociateIdentityProviderConfig
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse (AWSResponse DisassociateIdentityProviderConfig)))
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 Update -> Int -> DisassociateIdentityProviderConfigResponse
DisassociateIdentityProviderConfigResponse'
            (Maybe Update -> Int -> DisassociateIdentityProviderConfigResponse)
-> Either String (Maybe Update)
-> Either
     String (Int -> DisassociateIdentityProviderConfigResponse)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Either String (Maybe Update)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"update")
              Either String (Int -> DisassociateIdentityProviderConfigResponse)
-> Either String Int
-> Either String DisassociateIdentityProviderConfigResponse
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
    DisassociateIdentityProviderConfig

instance
  Prelude.NFData
    DisassociateIdentityProviderConfig

instance
  Core.ToHeaders
    DisassociateIdentityProviderConfig
  where
  toHeaders :: DisassociateIdentityProviderConfig -> ResponseHeaders
toHeaders =
    ResponseHeaders
-> DisassociateIdentityProviderConfig -> 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
    DisassociateIdentityProviderConfig
  where
  toJSON :: DisassociateIdentityProviderConfig -> Value
toJSON DisassociateIdentityProviderConfig' {Maybe Text
Text
IdentityProviderConfig
identityProviderConfig :: IdentityProviderConfig
clusterName :: Text
clientRequestToken :: Maybe Text
$sel:identityProviderConfig:DisassociateIdentityProviderConfig' :: DisassociateIdentityProviderConfig -> IdentityProviderConfig
$sel:clusterName:DisassociateIdentityProviderConfig' :: DisassociateIdentityProviderConfig -> Text
$sel:clientRequestToken:DisassociateIdentityProviderConfig' :: DisassociateIdentityProviderConfig -> Maybe Text
..} =
    [Pair] -> Value
Core.object
      ( [Maybe Pair] -> [Pair]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Text
"clientRequestToken" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
clientRequestToken,
            Pair -> Maybe Pair
forall a. a -> Maybe a
Prelude.Just
              ( Text
"identityProviderConfig"
                  Text -> IdentityProviderConfig -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..= IdentityProviderConfig
identityProviderConfig
              )
          ]
      )

instance
  Core.ToPath
    DisassociateIdentityProviderConfig
  where
  toPath :: DisassociateIdentityProviderConfig -> ByteString
toPath DisassociateIdentityProviderConfig' {Maybe Text
Text
IdentityProviderConfig
identityProviderConfig :: IdentityProviderConfig
clusterName :: Text
clientRequestToken :: Maybe Text
$sel:identityProviderConfig:DisassociateIdentityProviderConfig' :: DisassociateIdentityProviderConfig -> IdentityProviderConfig
$sel:clusterName:DisassociateIdentityProviderConfig' :: DisassociateIdentityProviderConfig -> Text
$sel:clientRequestToken:DisassociateIdentityProviderConfig' :: DisassociateIdentityProviderConfig -> Maybe Text
..} =
    [ByteString] -> ByteString
forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"/clusters/",
        Text -> ByteString
forall a. ToByteString a => a -> ByteString
Core.toBS Text
clusterName,
        ByteString
"/identity-provider-configs/disassociate"
      ]

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

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

-- |
-- Create a value of 'DisassociateIdentityProviderConfigResponse' 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:
--
-- 'update', 'disassociateIdentityProviderConfigResponse_update' - Undocumented member.
--
-- 'httpStatus', 'disassociateIdentityProviderConfigResponse_httpStatus' - The response's http status code.
newDisassociateIdentityProviderConfigResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  DisassociateIdentityProviderConfigResponse
newDisassociateIdentityProviderConfigResponse :: Int -> DisassociateIdentityProviderConfigResponse
newDisassociateIdentityProviderConfigResponse
  Int
pHttpStatus_ =
    DisassociateIdentityProviderConfigResponse' :: Maybe Update -> Int -> DisassociateIdentityProviderConfigResponse
DisassociateIdentityProviderConfigResponse'
      { $sel:update:DisassociateIdentityProviderConfigResponse' :: Maybe Update
update =
          Maybe Update
forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:DisassociateIdentityProviderConfigResponse' :: Int
httpStatus = Int
pHttpStatus_
      }

-- | Undocumented member.
disassociateIdentityProviderConfigResponse_update :: Lens.Lens' DisassociateIdentityProviderConfigResponse (Prelude.Maybe Update)
disassociateIdentityProviderConfigResponse_update :: (Maybe Update -> f (Maybe Update))
-> DisassociateIdentityProviderConfigResponse
-> f DisassociateIdentityProviderConfigResponse
disassociateIdentityProviderConfigResponse_update = (DisassociateIdentityProviderConfigResponse -> Maybe Update)
-> (DisassociateIdentityProviderConfigResponse
    -> Maybe Update -> DisassociateIdentityProviderConfigResponse)
-> Lens
     DisassociateIdentityProviderConfigResponse
     DisassociateIdentityProviderConfigResponse
     (Maybe Update)
     (Maybe Update)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisassociateIdentityProviderConfigResponse' {Maybe Update
update :: Maybe Update
$sel:update:DisassociateIdentityProviderConfigResponse' :: DisassociateIdentityProviderConfigResponse -> Maybe Update
update} -> Maybe Update
update) (\s :: DisassociateIdentityProviderConfigResponse
s@DisassociateIdentityProviderConfigResponse' {} Maybe Update
a -> DisassociateIdentityProviderConfigResponse
s {$sel:update:DisassociateIdentityProviderConfigResponse' :: Maybe Update
update = Maybe Update
a} :: DisassociateIdentityProviderConfigResponse)

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

instance
  Prelude.NFData
    DisassociateIdentityProviderConfigResponse