{-# 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-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- 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 qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.EKS.Types
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 representing an identity provider configuration.
    DisassociateIdentityProviderConfig -> IdentityProviderConfig
identityProviderConfig :: IdentityProviderConfig
  }
  deriving (DisassociateIdentityProviderConfig
-> DisassociateIdentityProviderConfig -> Bool
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]
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
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.
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 representing an identity provider configuration.
newDisassociateIdentityProviderConfig ::
  -- | 'clusterName'
  Prelude.Text ->
  -- | 'identityProviderConfig'
  IdentityProviderConfig ->
  DisassociateIdentityProviderConfig
newDisassociateIdentityProviderConfig :: Text
-> IdentityProviderConfig -> DisassociateIdentityProviderConfig
newDisassociateIdentityProviderConfig
  Text
pClusterName_
  IdentityProviderConfig
pIdentityProviderConfig_ =
    DisassociateIdentityProviderConfig'
      { $sel:clientRequestToken:DisassociateIdentityProviderConfig' :: Maybe Text
clientRequestToken =
          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 :: Lens' DisassociateIdentityProviderConfig (Maybe Text)
disassociateIdentityProviderConfig_clientRequestToken = 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 :: Lens' DisassociateIdentityProviderConfig Text
disassociateIdentityProviderConfig_clusterName = 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 representing an identity provider configuration.
disassociateIdentityProviderConfig_identityProviderConfig :: Lens.Lens' DisassociateIdentityProviderConfig IdentityProviderConfig
disassociateIdentityProviderConfig_identityProviderConfig :: Lens' DisassociateIdentityProviderConfig IdentityProviderConfig
disassociateIdentityProviderConfig_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 :: (Service -> Service)
-> DisassociateIdentityProviderConfig
-> Request DisassociateIdentityProviderConfig
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 DisassociateIdentityProviderConfig
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse (AWSResponse DisassociateIdentityProviderConfig)))
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 Update -> Int -> DisassociateIdentityProviderConfigResponse
DisassociateIdentityProviderConfigResponse'
            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
"update")
            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
    DisassociateIdentityProviderConfig
  where
  hashWithSalt :: Int -> DisassociateIdentityProviderConfig -> Int
hashWithSalt
    Int
_salt
    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
..} =
      Int
_salt
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
clientRequestToken
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
clusterName
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` IdentityProviderConfig
identityProviderConfig

instance
  Prelude.NFData
    DisassociateIdentityProviderConfig
  where
  rnf :: DisassociateIdentityProviderConfig -> ()
rnf 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
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
clientRequestToken
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
clusterName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf IdentityProviderConfig
identityProviderConfig

instance
  Data.ToHeaders
    DisassociateIdentityProviderConfig
  where
  toHeaders :: DisassociateIdentityProviderConfig -> 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
    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
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"clientRequestToken" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
clientRequestToken,
            forall a. a -> Maybe a
Prelude.Just
              ( Key
"identityProviderConfig"
                  forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= IdentityProviderConfig
identityProviderConfig
              )
          ]
      )

instance
  Data.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
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"/clusters/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
clusterName,
        ByteString
"/identity-provider-configs/disassociate"
      ]

instance
  Data.ToQuery
    DisassociateIdentityProviderConfig
  where
  toQuery :: DisassociateIdentityProviderConfig -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const 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
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]
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
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.
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'
      { $sel:update:DisassociateIdentityProviderConfigResponse' :: Maybe Update
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 :: Lens' DisassociateIdentityProviderConfigResponse (Maybe Update)
disassociateIdentityProviderConfigResponse_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 :: Lens' DisassociateIdentityProviderConfigResponse Int
disassociateIdentityProviderConfigResponse_httpStatus = 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
  where
  rnf :: DisassociateIdentityProviderConfigResponse -> ()
rnf DisassociateIdentityProviderConfigResponse' {Int
Maybe Update
httpStatus :: Int
update :: Maybe Update
$sel:httpStatus:DisassociateIdentityProviderConfigResponse' :: DisassociateIdentityProviderConfigResponse -> Int
$sel:update:DisassociateIdentityProviderConfigResponse' :: DisassociateIdentityProviderConfigResponse -> Maybe Update
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Update
update
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus