amazonka-license-manager-2.0: gen/Amazonka/LicenseManager/Types/LicenseOperationFailure.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.LicenseManager.Types.LicenseOperationFailure
-- 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.LicenseManager.Types.LicenseOperationFailure where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.LicenseManager.Types.Metadata
import Amazonka.LicenseManager.Types.ResourceType
import qualified Amazonka.Prelude as Prelude
-- | Describes the failure of a license operation.
--
-- /See:/ 'newLicenseOperationFailure' smart constructor.
data LicenseOperationFailure = LicenseOperationFailure'
{ -- | Error message.
errorMessage :: Prelude.Maybe Prelude.Text,
-- | Failure time.
failureTime :: Prelude.Maybe Data.POSIX,
-- | Reserved.
metadataList :: Prelude.Maybe [Metadata],
-- | Name of the operation.
operationName :: Prelude.Maybe Prelude.Text,
-- | The requester is \"License Manager Automated Discovery\".
operationRequestedBy :: Prelude.Maybe Prelude.Text,
-- | Amazon Resource Name (ARN) of the resource.
resourceArn :: Prelude.Maybe Prelude.Text,
-- | ID of the Amazon Web Services account that owns the resource.
resourceOwnerId :: Prelude.Maybe Prelude.Text,
-- | Resource type.
resourceType :: Prelude.Maybe ResourceType
}
deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
-- |
-- Create a value of 'LicenseOperationFailure' 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:
--
-- 'errorMessage', 'licenseOperationFailure_errorMessage' - Error message.
--
-- 'failureTime', 'licenseOperationFailure_failureTime' - Failure time.
--
-- 'metadataList', 'licenseOperationFailure_metadataList' - Reserved.
--
-- 'operationName', 'licenseOperationFailure_operationName' - Name of the operation.
--
-- 'operationRequestedBy', 'licenseOperationFailure_operationRequestedBy' - The requester is \"License Manager Automated Discovery\".
--
-- 'resourceArn', 'licenseOperationFailure_resourceArn' - Amazon Resource Name (ARN) of the resource.
--
-- 'resourceOwnerId', 'licenseOperationFailure_resourceOwnerId' - ID of the Amazon Web Services account that owns the resource.
--
-- 'resourceType', 'licenseOperationFailure_resourceType' - Resource type.
newLicenseOperationFailure ::
LicenseOperationFailure
newLicenseOperationFailure =
LicenseOperationFailure'
{ errorMessage =
Prelude.Nothing,
failureTime = Prelude.Nothing,
metadataList = Prelude.Nothing,
operationName = Prelude.Nothing,
operationRequestedBy = Prelude.Nothing,
resourceArn = Prelude.Nothing,
resourceOwnerId = Prelude.Nothing,
resourceType = Prelude.Nothing
}
-- | Error message.
licenseOperationFailure_errorMessage :: Lens.Lens' LicenseOperationFailure (Prelude.Maybe Prelude.Text)
licenseOperationFailure_errorMessage = Lens.lens (\LicenseOperationFailure' {errorMessage} -> errorMessage) (\s@LicenseOperationFailure' {} a -> s {errorMessage = a} :: LicenseOperationFailure)
-- | Failure time.
licenseOperationFailure_failureTime :: Lens.Lens' LicenseOperationFailure (Prelude.Maybe Prelude.UTCTime)
licenseOperationFailure_failureTime = Lens.lens (\LicenseOperationFailure' {failureTime} -> failureTime) (\s@LicenseOperationFailure' {} a -> s {failureTime = a} :: LicenseOperationFailure) Prelude.. Lens.mapping Data._Time
-- | Reserved.
licenseOperationFailure_metadataList :: Lens.Lens' LicenseOperationFailure (Prelude.Maybe [Metadata])
licenseOperationFailure_metadataList = Lens.lens (\LicenseOperationFailure' {metadataList} -> metadataList) (\s@LicenseOperationFailure' {} a -> s {metadataList = a} :: LicenseOperationFailure) Prelude.. Lens.mapping Lens.coerced
-- | Name of the operation.
licenseOperationFailure_operationName :: Lens.Lens' LicenseOperationFailure (Prelude.Maybe Prelude.Text)
licenseOperationFailure_operationName = Lens.lens (\LicenseOperationFailure' {operationName} -> operationName) (\s@LicenseOperationFailure' {} a -> s {operationName = a} :: LicenseOperationFailure)
-- | The requester is \"License Manager Automated Discovery\".
licenseOperationFailure_operationRequestedBy :: Lens.Lens' LicenseOperationFailure (Prelude.Maybe Prelude.Text)
licenseOperationFailure_operationRequestedBy = Lens.lens (\LicenseOperationFailure' {operationRequestedBy} -> operationRequestedBy) (\s@LicenseOperationFailure' {} a -> s {operationRequestedBy = a} :: LicenseOperationFailure)
-- | Amazon Resource Name (ARN) of the resource.
licenseOperationFailure_resourceArn :: Lens.Lens' LicenseOperationFailure (Prelude.Maybe Prelude.Text)
licenseOperationFailure_resourceArn = Lens.lens (\LicenseOperationFailure' {resourceArn} -> resourceArn) (\s@LicenseOperationFailure' {} a -> s {resourceArn = a} :: LicenseOperationFailure)
-- | ID of the Amazon Web Services account that owns the resource.
licenseOperationFailure_resourceOwnerId :: Lens.Lens' LicenseOperationFailure (Prelude.Maybe Prelude.Text)
licenseOperationFailure_resourceOwnerId = Lens.lens (\LicenseOperationFailure' {resourceOwnerId} -> resourceOwnerId) (\s@LicenseOperationFailure' {} a -> s {resourceOwnerId = a} :: LicenseOperationFailure)
-- | Resource type.
licenseOperationFailure_resourceType :: Lens.Lens' LicenseOperationFailure (Prelude.Maybe ResourceType)
licenseOperationFailure_resourceType = Lens.lens (\LicenseOperationFailure' {resourceType} -> resourceType) (\s@LicenseOperationFailure' {} a -> s {resourceType = a} :: LicenseOperationFailure)
instance Data.FromJSON LicenseOperationFailure where
parseJSON =
Data.withObject
"LicenseOperationFailure"
( \x ->
LicenseOperationFailure'
Prelude.<$> (x Data..:? "ErrorMessage")
Prelude.<*> (x Data..:? "FailureTime")
Prelude.<*> (x Data..:? "MetadataList" Data..!= Prelude.mempty)
Prelude.<*> (x Data..:? "OperationName")
Prelude.<*> (x Data..:? "OperationRequestedBy")
Prelude.<*> (x Data..:? "ResourceArn")
Prelude.<*> (x Data..:? "ResourceOwnerId")
Prelude.<*> (x Data..:? "ResourceType")
)
instance Prelude.Hashable LicenseOperationFailure where
hashWithSalt _salt LicenseOperationFailure' {..} =
_salt
`Prelude.hashWithSalt` errorMessage
`Prelude.hashWithSalt` failureTime
`Prelude.hashWithSalt` metadataList
`Prelude.hashWithSalt` operationName
`Prelude.hashWithSalt` operationRequestedBy
`Prelude.hashWithSalt` resourceArn
`Prelude.hashWithSalt` resourceOwnerId
`Prelude.hashWithSalt` resourceType
instance Prelude.NFData LicenseOperationFailure where
rnf LicenseOperationFailure' {..} =
Prelude.rnf errorMessage
`Prelude.seq` Prelude.rnf failureTime
`Prelude.seq` Prelude.rnf metadataList
`Prelude.seq` Prelude.rnf operationName
`Prelude.seq` Prelude.rnf operationRequestedBy
`Prelude.seq` Prelude.rnf resourceArn
`Prelude.seq` Prelude.rnf resourceOwnerId
`Prelude.seq` Prelude.rnf resourceType