amazonka-quicksight-2.0: gen/Amazonka/QuickSight/Types/SignupResponse.hs
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
-- Derived from AWS service descriptions, licensed under Apache 2.0.
-- |
-- Module : Amazonka.QuickSight.Types.SignupResponse
-- Copyright : (c) 2013-2023 Brendan Hay
-- License : Mozilla Public License, v. 2.0.
-- Maintainer : Brendan Hay
-- Stability : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.QuickSight.Types.SignupResponse 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
-- | A @SignupResponse@ object that contains a summary of a newly created
-- account.
--
-- /See:/ 'newSignupResponse' smart constructor.
data SignupResponse = SignupResponse'
{ -- | A Boolean that is @TRUE@ if the Amazon QuickSight uses IAM as an
-- authentication method.
iAMUser :: Prelude.Maybe Prelude.Bool,
-- | The name of your Amazon QuickSight account.
accountName :: Prelude.Maybe Prelude.Text,
-- | The type of Active Directory that is being used to authenticate the
-- Amazon QuickSight account. Valid values are @SIMPLE_AD@, @AD_CONNECTOR@,
-- and @MICROSOFT_AD@.
directoryType :: Prelude.Maybe Prelude.Text,
-- | The user login name for your Amazon QuickSight account.
userLoginName :: Prelude.Maybe Prelude.Text
}
deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
-- |
-- Create a value of 'SignupResponse' 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:
--
-- 'iAMUser', 'signupResponse_iAMUser' - A Boolean that is @TRUE@ if the Amazon QuickSight uses IAM as an
-- authentication method.
--
-- 'accountName', 'signupResponse_accountName' - The name of your Amazon QuickSight account.
--
-- 'directoryType', 'signupResponse_directoryType' - The type of Active Directory that is being used to authenticate the
-- Amazon QuickSight account. Valid values are @SIMPLE_AD@, @AD_CONNECTOR@,
-- and @MICROSOFT_AD@.
--
-- 'userLoginName', 'signupResponse_userLoginName' - The user login name for your Amazon QuickSight account.
newSignupResponse ::
SignupResponse
newSignupResponse =
SignupResponse'
{ iAMUser = Prelude.Nothing,
accountName = Prelude.Nothing,
directoryType = Prelude.Nothing,
userLoginName = Prelude.Nothing
}
-- | A Boolean that is @TRUE@ if the Amazon QuickSight uses IAM as an
-- authentication method.
signupResponse_iAMUser :: Lens.Lens' SignupResponse (Prelude.Maybe Prelude.Bool)
signupResponse_iAMUser = Lens.lens (\SignupResponse' {iAMUser} -> iAMUser) (\s@SignupResponse' {} a -> s {iAMUser = a} :: SignupResponse)
-- | The name of your Amazon QuickSight account.
signupResponse_accountName :: Lens.Lens' SignupResponse (Prelude.Maybe Prelude.Text)
signupResponse_accountName = Lens.lens (\SignupResponse' {accountName} -> accountName) (\s@SignupResponse' {} a -> s {accountName = a} :: SignupResponse)
-- | The type of Active Directory that is being used to authenticate the
-- Amazon QuickSight account. Valid values are @SIMPLE_AD@, @AD_CONNECTOR@,
-- and @MICROSOFT_AD@.
signupResponse_directoryType :: Lens.Lens' SignupResponse (Prelude.Maybe Prelude.Text)
signupResponse_directoryType = Lens.lens (\SignupResponse' {directoryType} -> directoryType) (\s@SignupResponse' {} a -> s {directoryType = a} :: SignupResponse)
-- | The user login name for your Amazon QuickSight account.
signupResponse_userLoginName :: Lens.Lens' SignupResponse (Prelude.Maybe Prelude.Text)
signupResponse_userLoginName = Lens.lens (\SignupResponse' {userLoginName} -> userLoginName) (\s@SignupResponse' {} a -> s {userLoginName = a} :: SignupResponse)
instance Data.FromJSON SignupResponse where
parseJSON =
Data.withObject
"SignupResponse"
( \x ->
SignupResponse'
Prelude.<$> (x Data..:? "IAMUser")
Prelude.<*> (x Data..:? "accountName")
Prelude.<*> (x Data..:? "directoryType")
Prelude.<*> (x Data..:? "userLoginName")
)
instance Prelude.Hashable SignupResponse where
hashWithSalt _salt SignupResponse' {..} =
_salt
`Prelude.hashWithSalt` iAMUser
`Prelude.hashWithSalt` accountName
`Prelude.hashWithSalt` directoryType
`Prelude.hashWithSalt` userLoginName
instance Prelude.NFData SignupResponse where
rnf SignupResponse' {..} =
Prelude.rnf iAMUser
`Prelude.seq` Prelude.rnf accountName
`Prelude.seq` Prelude.rnf directoryType
`Prelude.seq` Prelude.rnf userLoginName