amazonka-quicksight-2.0: gen/Amazonka/QuickSight/Types/AccountInfo.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.AccountInfo
-- 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.AccountInfo 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 Amazonka.QuickSight.Types.Edition
-- | A structure that contains the following account information elements:
--
-- - Your Amazon QuickSight account name.
--
-- - The edition of Amazon QuickSight that your account is using.
--
-- - The notification email address that is associated with the Amazon
-- QuickSight account.
--
-- - The authentication type of the Amazon QuickSight account.
--
-- - The status of the Amazon QuickSight account\'s subscription.
--
-- /See:/ 'newAccountInfo' smart constructor.
data AccountInfo = AccountInfo'
{ -- | The account name that you provided for the Amazon QuickSight
-- subscription in your Amazon Web Services account. You create this name
-- when you sign up for Amazon QuickSight. It\'s unique over all of Amazon
-- Web Services, and it appears only when users sign in.
accountName :: Prelude.Maybe Prelude.Text,
-- | The status of your account subscription.
accountSubscriptionStatus :: Prelude.Maybe Prelude.Text,
-- | The way that your Amazon QuickSight account is authenticated.
authenticationType :: Prelude.Maybe Prelude.Text,
-- | The edition of your Amazon QuickSight account.
edition :: Prelude.Maybe Edition,
-- | The email address that will be used for Amazon QuickSight to send
-- notifications regarding your Amazon Web Services account or Amazon
-- QuickSight subscription.
notificationEmail :: Prelude.Maybe Prelude.Text
}
deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
-- |
-- Create a value of 'AccountInfo' 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:
--
-- 'accountName', 'accountInfo_accountName' - The account name that you provided for the Amazon QuickSight
-- subscription in your Amazon Web Services account. You create this name
-- when you sign up for Amazon QuickSight. It\'s unique over all of Amazon
-- Web Services, and it appears only when users sign in.
--
-- 'accountSubscriptionStatus', 'accountInfo_accountSubscriptionStatus' - The status of your account subscription.
--
-- 'authenticationType', 'accountInfo_authenticationType' - The way that your Amazon QuickSight account is authenticated.
--
-- 'edition', 'accountInfo_edition' - The edition of your Amazon QuickSight account.
--
-- 'notificationEmail', 'accountInfo_notificationEmail' - The email address that will be used for Amazon QuickSight to send
-- notifications regarding your Amazon Web Services account or Amazon
-- QuickSight subscription.
newAccountInfo ::
AccountInfo
newAccountInfo =
AccountInfo'
{ accountName = Prelude.Nothing,
accountSubscriptionStatus = Prelude.Nothing,
authenticationType = Prelude.Nothing,
edition = Prelude.Nothing,
notificationEmail = Prelude.Nothing
}
-- | The account name that you provided for the Amazon QuickSight
-- subscription in your Amazon Web Services account. You create this name
-- when you sign up for Amazon QuickSight. It\'s unique over all of Amazon
-- Web Services, and it appears only when users sign in.
accountInfo_accountName :: Lens.Lens' AccountInfo (Prelude.Maybe Prelude.Text)
accountInfo_accountName = Lens.lens (\AccountInfo' {accountName} -> accountName) (\s@AccountInfo' {} a -> s {accountName = a} :: AccountInfo)
-- | The status of your account subscription.
accountInfo_accountSubscriptionStatus :: Lens.Lens' AccountInfo (Prelude.Maybe Prelude.Text)
accountInfo_accountSubscriptionStatus = Lens.lens (\AccountInfo' {accountSubscriptionStatus} -> accountSubscriptionStatus) (\s@AccountInfo' {} a -> s {accountSubscriptionStatus = a} :: AccountInfo)
-- | The way that your Amazon QuickSight account is authenticated.
accountInfo_authenticationType :: Lens.Lens' AccountInfo (Prelude.Maybe Prelude.Text)
accountInfo_authenticationType = Lens.lens (\AccountInfo' {authenticationType} -> authenticationType) (\s@AccountInfo' {} a -> s {authenticationType = a} :: AccountInfo)
-- | The edition of your Amazon QuickSight account.
accountInfo_edition :: Lens.Lens' AccountInfo (Prelude.Maybe Edition)
accountInfo_edition = Lens.lens (\AccountInfo' {edition} -> edition) (\s@AccountInfo' {} a -> s {edition = a} :: AccountInfo)
-- | The email address that will be used for Amazon QuickSight to send
-- notifications regarding your Amazon Web Services account or Amazon
-- QuickSight subscription.
accountInfo_notificationEmail :: Lens.Lens' AccountInfo (Prelude.Maybe Prelude.Text)
accountInfo_notificationEmail = Lens.lens (\AccountInfo' {notificationEmail} -> notificationEmail) (\s@AccountInfo' {} a -> s {notificationEmail = a} :: AccountInfo)
instance Data.FromJSON AccountInfo where
parseJSON =
Data.withObject
"AccountInfo"
( \x ->
AccountInfo'
Prelude.<$> (x Data..:? "AccountName")
Prelude.<*> (x Data..:? "AccountSubscriptionStatus")
Prelude.<*> (x Data..:? "AuthenticationType")
Prelude.<*> (x Data..:? "Edition")
Prelude.<*> (x Data..:? "NotificationEmail")
)
instance Prelude.Hashable AccountInfo where
hashWithSalt _salt AccountInfo' {..} =
_salt
`Prelude.hashWithSalt` accountName
`Prelude.hashWithSalt` accountSubscriptionStatus
`Prelude.hashWithSalt` authenticationType
`Prelude.hashWithSalt` edition
`Prelude.hashWithSalt` notificationEmail
instance Prelude.NFData AccountInfo where
rnf AccountInfo' {..} =
Prelude.rnf accountName
`Prelude.seq` Prelude.rnf accountSubscriptionStatus
`Prelude.seq` Prelude.rnf authenticationType
`Prelude.seq` Prelude.rnf edition
`Prelude.seq` Prelude.rnf notificationEmail