{-# 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.EC2.Types.ManagedPrefixList
-- 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.EC2.Types.ManagedPrefixList where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.EC2.Internal
import Amazonka.EC2.Types.PrefixListState
import Amazonka.EC2.Types.Tag
import qualified Amazonka.Prelude as Prelude

-- | Describes a managed prefix list.
--
-- /See:/ 'newManagedPrefixList' smart constructor.
data ManagedPrefixList = ManagedPrefixList'
  { -- | The IP address version.
    ManagedPrefixList -> Maybe Text
addressFamily :: Prelude.Maybe Prelude.Text,
    -- | The maximum number of entries for the prefix list.
    ManagedPrefixList -> Maybe Int
maxEntries :: Prelude.Maybe Prelude.Int,
    -- | The ID of the owner of the prefix list.
    ManagedPrefixList -> Maybe Text
ownerId :: Prelude.Maybe Prelude.Text,
    -- | The Amazon Resource Name (ARN) for the prefix list.
    ManagedPrefixList -> Maybe Text
prefixListArn :: Prelude.Maybe Prelude.Text,
    -- | The ID of the prefix list.
    ManagedPrefixList -> Maybe Text
prefixListId :: Prelude.Maybe Prelude.Text,
    -- | The name of the prefix list.
    ManagedPrefixList -> Maybe Text
prefixListName :: Prelude.Maybe Prelude.Text,
    -- | The current state of the prefix list.
    ManagedPrefixList -> Maybe PrefixListState
state :: Prelude.Maybe PrefixListState,
    -- | The state message.
    ManagedPrefixList -> Maybe Text
stateMessage :: Prelude.Maybe Prelude.Text,
    -- | The tags for the prefix list.
    ManagedPrefixList -> Maybe [Tag]
tags :: Prelude.Maybe [Tag],
    -- | The version of the prefix list.
    ManagedPrefixList -> Maybe Integer
version :: Prelude.Maybe Prelude.Integer
  }
  deriving (ManagedPrefixList -> ManagedPrefixList -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ManagedPrefixList -> ManagedPrefixList -> Bool
$c/= :: ManagedPrefixList -> ManagedPrefixList -> Bool
== :: ManagedPrefixList -> ManagedPrefixList -> Bool
$c== :: ManagedPrefixList -> ManagedPrefixList -> Bool
Prelude.Eq, ReadPrec [ManagedPrefixList]
ReadPrec ManagedPrefixList
Int -> ReadS ManagedPrefixList
ReadS [ManagedPrefixList]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ManagedPrefixList]
$creadListPrec :: ReadPrec [ManagedPrefixList]
readPrec :: ReadPrec ManagedPrefixList
$creadPrec :: ReadPrec ManagedPrefixList
readList :: ReadS [ManagedPrefixList]
$creadList :: ReadS [ManagedPrefixList]
readsPrec :: Int -> ReadS ManagedPrefixList
$creadsPrec :: Int -> ReadS ManagedPrefixList
Prelude.Read, Int -> ManagedPrefixList -> ShowS
[ManagedPrefixList] -> ShowS
ManagedPrefixList -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ManagedPrefixList] -> ShowS
$cshowList :: [ManagedPrefixList] -> ShowS
show :: ManagedPrefixList -> String
$cshow :: ManagedPrefixList -> String
showsPrec :: Int -> ManagedPrefixList -> ShowS
$cshowsPrec :: Int -> ManagedPrefixList -> ShowS
Prelude.Show, forall x. Rep ManagedPrefixList x -> ManagedPrefixList
forall x. ManagedPrefixList -> Rep ManagedPrefixList x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ManagedPrefixList x -> ManagedPrefixList
$cfrom :: forall x. ManagedPrefixList -> Rep ManagedPrefixList x
Prelude.Generic)

-- |
-- Create a value of 'ManagedPrefixList' 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:
--
-- 'addressFamily', 'managedPrefixList_addressFamily' - The IP address version.
--
-- 'maxEntries', 'managedPrefixList_maxEntries' - The maximum number of entries for the prefix list.
--
-- 'ownerId', 'managedPrefixList_ownerId' - The ID of the owner of the prefix list.
--
-- 'prefixListArn', 'managedPrefixList_prefixListArn' - The Amazon Resource Name (ARN) for the prefix list.
--
-- 'prefixListId', 'managedPrefixList_prefixListId' - The ID of the prefix list.
--
-- 'prefixListName', 'managedPrefixList_prefixListName' - The name of the prefix list.
--
-- 'state', 'managedPrefixList_state' - The current state of the prefix list.
--
-- 'stateMessage', 'managedPrefixList_stateMessage' - The state message.
--
-- 'tags', 'managedPrefixList_tags' - The tags for the prefix list.
--
-- 'version', 'managedPrefixList_version' - The version of the prefix list.
newManagedPrefixList ::
  ManagedPrefixList
newManagedPrefixList :: ManagedPrefixList
newManagedPrefixList =
  ManagedPrefixList'
    { $sel:addressFamily:ManagedPrefixList' :: Maybe Text
addressFamily = forall a. Maybe a
Prelude.Nothing,
      $sel:maxEntries:ManagedPrefixList' :: Maybe Int
maxEntries = forall a. Maybe a
Prelude.Nothing,
      $sel:ownerId:ManagedPrefixList' :: Maybe Text
ownerId = forall a. Maybe a
Prelude.Nothing,
      $sel:prefixListArn:ManagedPrefixList' :: Maybe Text
prefixListArn = forall a. Maybe a
Prelude.Nothing,
      $sel:prefixListId:ManagedPrefixList' :: Maybe Text
prefixListId = forall a. Maybe a
Prelude.Nothing,
      $sel:prefixListName:ManagedPrefixList' :: Maybe Text
prefixListName = forall a. Maybe a
Prelude.Nothing,
      $sel:state:ManagedPrefixList' :: Maybe PrefixListState
state = forall a. Maybe a
Prelude.Nothing,
      $sel:stateMessage:ManagedPrefixList' :: Maybe Text
stateMessage = forall a. Maybe a
Prelude.Nothing,
      $sel:tags:ManagedPrefixList' :: Maybe [Tag]
tags = forall a. Maybe a
Prelude.Nothing,
      $sel:version:ManagedPrefixList' :: Maybe Integer
version = forall a. Maybe a
Prelude.Nothing
    }

-- | The IP address version.
managedPrefixList_addressFamily :: Lens.Lens' ManagedPrefixList (Prelude.Maybe Prelude.Text)
managedPrefixList_addressFamily :: Lens' ManagedPrefixList (Maybe Text)
managedPrefixList_addressFamily = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ManagedPrefixList' {Maybe Text
addressFamily :: Maybe Text
$sel:addressFamily:ManagedPrefixList' :: ManagedPrefixList -> Maybe Text
addressFamily} -> Maybe Text
addressFamily) (\s :: ManagedPrefixList
s@ManagedPrefixList' {} Maybe Text
a -> ManagedPrefixList
s {$sel:addressFamily:ManagedPrefixList' :: Maybe Text
addressFamily = Maybe Text
a} :: ManagedPrefixList)

-- | The maximum number of entries for the prefix list.
managedPrefixList_maxEntries :: Lens.Lens' ManagedPrefixList (Prelude.Maybe Prelude.Int)
managedPrefixList_maxEntries :: Lens' ManagedPrefixList (Maybe Int)
managedPrefixList_maxEntries = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ManagedPrefixList' {Maybe Int
maxEntries :: Maybe Int
$sel:maxEntries:ManagedPrefixList' :: ManagedPrefixList -> Maybe Int
maxEntries} -> Maybe Int
maxEntries) (\s :: ManagedPrefixList
s@ManagedPrefixList' {} Maybe Int
a -> ManagedPrefixList
s {$sel:maxEntries:ManagedPrefixList' :: Maybe Int
maxEntries = Maybe Int
a} :: ManagedPrefixList)

-- | The ID of the owner of the prefix list.
managedPrefixList_ownerId :: Lens.Lens' ManagedPrefixList (Prelude.Maybe Prelude.Text)
managedPrefixList_ownerId :: Lens' ManagedPrefixList (Maybe Text)
managedPrefixList_ownerId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ManagedPrefixList' {Maybe Text
ownerId :: Maybe Text
$sel:ownerId:ManagedPrefixList' :: ManagedPrefixList -> Maybe Text
ownerId} -> Maybe Text
ownerId) (\s :: ManagedPrefixList
s@ManagedPrefixList' {} Maybe Text
a -> ManagedPrefixList
s {$sel:ownerId:ManagedPrefixList' :: Maybe Text
ownerId = Maybe Text
a} :: ManagedPrefixList)

-- | The Amazon Resource Name (ARN) for the prefix list.
managedPrefixList_prefixListArn :: Lens.Lens' ManagedPrefixList (Prelude.Maybe Prelude.Text)
managedPrefixList_prefixListArn :: Lens' ManagedPrefixList (Maybe Text)
managedPrefixList_prefixListArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ManagedPrefixList' {Maybe Text
prefixListArn :: Maybe Text
$sel:prefixListArn:ManagedPrefixList' :: ManagedPrefixList -> Maybe Text
prefixListArn} -> Maybe Text
prefixListArn) (\s :: ManagedPrefixList
s@ManagedPrefixList' {} Maybe Text
a -> ManagedPrefixList
s {$sel:prefixListArn:ManagedPrefixList' :: Maybe Text
prefixListArn = Maybe Text
a} :: ManagedPrefixList)

-- | The ID of the prefix list.
managedPrefixList_prefixListId :: Lens.Lens' ManagedPrefixList (Prelude.Maybe Prelude.Text)
managedPrefixList_prefixListId :: Lens' ManagedPrefixList (Maybe Text)
managedPrefixList_prefixListId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ManagedPrefixList' {Maybe Text
prefixListId :: Maybe Text
$sel:prefixListId:ManagedPrefixList' :: ManagedPrefixList -> Maybe Text
prefixListId} -> Maybe Text
prefixListId) (\s :: ManagedPrefixList
s@ManagedPrefixList' {} Maybe Text
a -> ManagedPrefixList
s {$sel:prefixListId:ManagedPrefixList' :: Maybe Text
prefixListId = Maybe Text
a} :: ManagedPrefixList)

-- | The name of the prefix list.
managedPrefixList_prefixListName :: Lens.Lens' ManagedPrefixList (Prelude.Maybe Prelude.Text)
managedPrefixList_prefixListName :: Lens' ManagedPrefixList (Maybe Text)
managedPrefixList_prefixListName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ManagedPrefixList' {Maybe Text
prefixListName :: Maybe Text
$sel:prefixListName:ManagedPrefixList' :: ManagedPrefixList -> Maybe Text
prefixListName} -> Maybe Text
prefixListName) (\s :: ManagedPrefixList
s@ManagedPrefixList' {} Maybe Text
a -> ManagedPrefixList
s {$sel:prefixListName:ManagedPrefixList' :: Maybe Text
prefixListName = Maybe Text
a} :: ManagedPrefixList)

-- | The current state of the prefix list.
managedPrefixList_state :: Lens.Lens' ManagedPrefixList (Prelude.Maybe PrefixListState)
managedPrefixList_state :: Lens' ManagedPrefixList (Maybe PrefixListState)
managedPrefixList_state = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ManagedPrefixList' {Maybe PrefixListState
state :: Maybe PrefixListState
$sel:state:ManagedPrefixList' :: ManagedPrefixList -> Maybe PrefixListState
state} -> Maybe PrefixListState
state) (\s :: ManagedPrefixList
s@ManagedPrefixList' {} Maybe PrefixListState
a -> ManagedPrefixList
s {$sel:state:ManagedPrefixList' :: Maybe PrefixListState
state = Maybe PrefixListState
a} :: ManagedPrefixList)

-- | The state message.
managedPrefixList_stateMessage :: Lens.Lens' ManagedPrefixList (Prelude.Maybe Prelude.Text)
managedPrefixList_stateMessage :: Lens' ManagedPrefixList (Maybe Text)
managedPrefixList_stateMessage = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ManagedPrefixList' {Maybe Text
stateMessage :: Maybe Text
$sel:stateMessage:ManagedPrefixList' :: ManagedPrefixList -> Maybe Text
stateMessage} -> Maybe Text
stateMessage) (\s :: ManagedPrefixList
s@ManagedPrefixList' {} Maybe Text
a -> ManagedPrefixList
s {$sel:stateMessage:ManagedPrefixList' :: Maybe Text
stateMessage = Maybe Text
a} :: ManagedPrefixList)

-- | The tags for the prefix list.
managedPrefixList_tags :: Lens.Lens' ManagedPrefixList (Prelude.Maybe [Tag])
managedPrefixList_tags :: Lens' ManagedPrefixList (Maybe [Tag])
managedPrefixList_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ManagedPrefixList' {Maybe [Tag]
tags :: Maybe [Tag]
$sel:tags:ManagedPrefixList' :: ManagedPrefixList -> Maybe [Tag]
tags} -> Maybe [Tag]
tags) (\s :: ManagedPrefixList
s@ManagedPrefixList' {} Maybe [Tag]
a -> ManagedPrefixList
s {$sel:tags:ManagedPrefixList' :: Maybe [Tag]
tags = Maybe [Tag]
a} :: ManagedPrefixList) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The version of the prefix list.
managedPrefixList_version :: Lens.Lens' ManagedPrefixList (Prelude.Maybe Prelude.Integer)
managedPrefixList_version :: Lens' ManagedPrefixList (Maybe Integer)
managedPrefixList_version = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ManagedPrefixList' {Maybe Integer
version :: Maybe Integer
$sel:version:ManagedPrefixList' :: ManagedPrefixList -> Maybe Integer
version} -> Maybe Integer
version) (\s :: ManagedPrefixList
s@ManagedPrefixList' {} Maybe Integer
a -> ManagedPrefixList
s {$sel:version:ManagedPrefixList' :: Maybe Integer
version = Maybe Integer
a} :: ManagedPrefixList)

instance Data.FromXML ManagedPrefixList where
  parseXML :: [Node] -> Either String ManagedPrefixList
parseXML [Node]
x =
    Maybe Text
-> Maybe Int
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PrefixListState
-> Maybe Text
-> Maybe [Tag]
-> Maybe Integer
-> ManagedPrefixList
ManagedPrefixList'
      forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"addressFamily")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"maxEntries")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"ownerId")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"prefixListArn")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"prefixListId")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"prefixListName")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"state")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"stateMessage")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( [Node]
x
                      forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"tagSet"
                      forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
                      forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
Prelude.>>= forall (f :: * -> *) a b.
Applicative f =>
([a] -> f b) -> [a] -> f (Maybe b)
Core.may (forall a. FromXML a => Text -> [Node] -> Either String [a]
Data.parseXMLList Text
"item")
                  )
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"version")

instance Prelude.Hashable ManagedPrefixList where
  hashWithSalt :: Int -> ManagedPrefixList -> Int
hashWithSalt Int
_salt ManagedPrefixList' {Maybe Int
Maybe Integer
Maybe [Tag]
Maybe Text
Maybe PrefixListState
version :: Maybe Integer
tags :: Maybe [Tag]
stateMessage :: Maybe Text
state :: Maybe PrefixListState
prefixListName :: Maybe Text
prefixListId :: Maybe Text
prefixListArn :: Maybe Text
ownerId :: Maybe Text
maxEntries :: Maybe Int
addressFamily :: Maybe Text
$sel:version:ManagedPrefixList' :: ManagedPrefixList -> Maybe Integer
$sel:tags:ManagedPrefixList' :: ManagedPrefixList -> Maybe [Tag]
$sel:stateMessage:ManagedPrefixList' :: ManagedPrefixList -> Maybe Text
$sel:state:ManagedPrefixList' :: ManagedPrefixList -> Maybe PrefixListState
$sel:prefixListName:ManagedPrefixList' :: ManagedPrefixList -> Maybe Text
$sel:prefixListId:ManagedPrefixList' :: ManagedPrefixList -> Maybe Text
$sel:prefixListArn:ManagedPrefixList' :: ManagedPrefixList -> Maybe Text
$sel:ownerId:ManagedPrefixList' :: ManagedPrefixList -> Maybe Text
$sel:maxEntries:ManagedPrefixList' :: ManagedPrefixList -> Maybe Int
$sel:addressFamily:ManagedPrefixList' :: ManagedPrefixList -> Maybe Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
addressFamily
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Int
maxEntries
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
ownerId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
prefixListArn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
prefixListId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
prefixListName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe PrefixListState
state
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
stateMessage
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Tag]
tags
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Integer
version

instance Prelude.NFData ManagedPrefixList where
  rnf :: ManagedPrefixList -> ()
rnf ManagedPrefixList' {Maybe Int
Maybe Integer
Maybe [Tag]
Maybe Text
Maybe PrefixListState
version :: Maybe Integer
tags :: Maybe [Tag]
stateMessage :: Maybe Text
state :: Maybe PrefixListState
prefixListName :: Maybe Text
prefixListId :: Maybe Text
prefixListArn :: Maybe Text
ownerId :: Maybe Text
maxEntries :: Maybe Int
addressFamily :: Maybe Text
$sel:version:ManagedPrefixList' :: ManagedPrefixList -> Maybe Integer
$sel:tags:ManagedPrefixList' :: ManagedPrefixList -> Maybe [Tag]
$sel:stateMessage:ManagedPrefixList' :: ManagedPrefixList -> Maybe Text
$sel:state:ManagedPrefixList' :: ManagedPrefixList -> Maybe PrefixListState
$sel:prefixListName:ManagedPrefixList' :: ManagedPrefixList -> Maybe Text
$sel:prefixListId:ManagedPrefixList' :: ManagedPrefixList -> Maybe Text
$sel:prefixListArn:ManagedPrefixList' :: ManagedPrefixList -> Maybe Text
$sel:ownerId:ManagedPrefixList' :: ManagedPrefixList -> Maybe Text
$sel:maxEntries:ManagedPrefixList' :: ManagedPrefixList -> Maybe Int
$sel:addressFamily:ManagedPrefixList' :: ManagedPrefixList -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
addressFamily
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
maxEntries
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
ownerId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
prefixListArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
prefixListId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
prefixListName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe PrefixListState
state
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
stateMessage
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Tag]
tags
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Integer
version