{-# 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.IoTFleetWise.GetCampaign
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Retrieves information about a campaign.
module Amazonka.IoTFleetWise.GetCampaign
  ( -- * Creating a Request
    GetCampaign (..),
    newGetCampaign,

    -- * Request Lenses
    getCampaign_name,

    -- * Destructuring the Response
    GetCampaignResponse (..),
    newGetCampaignResponse,

    -- * Response Lenses
    getCampaignResponse_arn,
    getCampaignResponse_collectionScheme,
    getCampaignResponse_compression,
    getCampaignResponse_creationTime,
    getCampaignResponse_dataExtraDimensions,
    getCampaignResponse_description,
    getCampaignResponse_diagnosticsMode,
    getCampaignResponse_expiryTime,
    getCampaignResponse_lastModificationTime,
    getCampaignResponse_name,
    getCampaignResponse_postTriggerCollectionDuration,
    getCampaignResponse_priority,
    getCampaignResponse_signalCatalogArn,
    getCampaignResponse_signalsToCollect,
    getCampaignResponse_spoolingMode,
    getCampaignResponse_startTime,
    getCampaignResponse_status,
    getCampaignResponse_targetArn,
    getCampaignResponse_httpStatus,
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.IoTFleetWise.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response

-- | /See:/ 'newGetCampaign' smart constructor.
data GetCampaign = GetCampaign'
  { -- | The name of the campaign to retrieve information about.
    GetCampaign -> Text
name :: Prelude.Text
  }
  deriving (GetCampaign -> GetCampaign -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetCampaign -> GetCampaign -> Bool
$c/= :: GetCampaign -> GetCampaign -> Bool
== :: GetCampaign -> GetCampaign -> Bool
$c== :: GetCampaign -> GetCampaign -> Bool
Prelude.Eq, ReadPrec [GetCampaign]
ReadPrec GetCampaign
Int -> ReadS GetCampaign
ReadS [GetCampaign]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetCampaign]
$creadListPrec :: ReadPrec [GetCampaign]
readPrec :: ReadPrec GetCampaign
$creadPrec :: ReadPrec GetCampaign
readList :: ReadS [GetCampaign]
$creadList :: ReadS [GetCampaign]
readsPrec :: Int -> ReadS GetCampaign
$creadsPrec :: Int -> ReadS GetCampaign
Prelude.Read, Int -> GetCampaign -> ShowS
[GetCampaign] -> ShowS
GetCampaign -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetCampaign] -> ShowS
$cshowList :: [GetCampaign] -> ShowS
show :: GetCampaign -> String
$cshow :: GetCampaign -> String
showsPrec :: Int -> GetCampaign -> ShowS
$cshowsPrec :: Int -> GetCampaign -> ShowS
Prelude.Show, forall x. Rep GetCampaign x -> GetCampaign
forall x. GetCampaign -> Rep GetCampaign x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetCampaign x -> GetCampaign
$cfrom :: forall x. GetCampaign -> Rep GetCampaign x
Prelude.Generic)

-- |
-- Create a value of 'GetCampaign' 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:
--
-- 'name', 'getCampaign_name' - The name of the campaign to retrieve information about.
newGetCampaign ::
  -- | 'name'
  Prelude.Text ->
  GetCampaign
newGetCampaign :: Text -> GetCampaign
newGetCampaign Text
pName_ = GetCampaign' {$sel:name:GetCampaign' :: Text
name = Text
pName_}

-- | The name of the campaign to retrieve information about.
getCampaign_name :: Lens.Lens' GetCampaign Prelude.Text
getCampaign_name :: Lens' GetCampaign Text
getCampaign_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetCampaign' {Text
name :: Text
$sel:name:GetCampaign' :: GetCampaign -> Text
name} -> Text
name) (\s :: GetCampaign
s@GetCampaign' {} Text
a -> GetCampaign
s {$sel:name:GetCampaign' :: Text
name = Text
a} :: GetCampaign)

instance Core.AWSRequest GetCampaign where
  type AWSResponse GetCampaign = GetCampaignResponse
  request :: (Service -> Service) -> GetCampaign -> Request GetCampaign
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 GetCampaign
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse GetCampaign)))
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 Text
-> Maybe CollectionScheme
-> Maybe Compression
-> Maybe POSIX
-> Maybe [Text]
-> Maybe Text
-> Maybe DiagnosticsMode
-> Maybe POSIX
-> Maybe POSIX
-> Maybe Text
-> Maybe Natural
-> Maybe Natural
-> Maybe Text
-> Maybe [SignalInformation]
-> Maybe SpoolingMode
-> Maybe POSIX
-> Maybe CampaignStatus
-> Maybe Text
-> Int
-> GetCampaignResponse
GetCampaignResponse'
            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
"arn")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"collectionScheme")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"compression")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"creationTime")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x
                            forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"dataExtraDimensions"
                            forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
                        )
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"description")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"diagnosticsMode")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"expiryTime")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"lastModificationTime")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"name")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"postTriggerCollectionDuration")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"priority")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"signalCatalogArn")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x
                            forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"signalsToCollect"
                            forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
                        )
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"spoolingMode")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"startTime")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"status")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"targetArn")
            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 GetCampaign where
  hashWithSalt :: Int -> GetCampaign -> Int
hashWithSalt Int
_salt GetCampaign' {Text
name :: Text
$sel:name:GetCampaign' :: GetCampaign -> Text
..} =
    Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
name

instance Prelude.NFData GetCampaign where
  rnf :: GetCampaign -> ()
rnf GetCampaign' {Text
name :: Text
$sel:name:GetCampaign' :: GetCampaign -> Text
..} = forall a. NFData a => a -> ()
Prelude.rnf Text
name

instance Data.ToHeaders GetCampaign where
  toHeaders :: GetCampaign -> ResponseHeaders
toHeaders =
    forall a b. a -> b -> a
Prelude.const
      ( forall a. Monoid a => [a] -> a
Prelude.mconcat
          [ HeaderName
"X-Amz-Target"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"IoTAutobahnControlPlane.GetCampaign" ::
                          Prelude.ByteString
                      ),
            HeaderName
"Content-Type"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.0" ::
                          Prelude.ByteString
                      )
          ]
      )

instance Data.ToJSON GetCampaign where
  toJSON :: GetCampaign -> Value
toJSON GetCampaign' {Text
name :: Text
$sel:name:GetCampaign' :: GetCampaign -> Text
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [forall a. a -> Maybe a
Prelude.Just (Key
"name" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
name)]
      )

instance Data.ToPath GetCampaign where
  toPath :: GetCampaign -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"

instance Data.ToQuery GetCampaign where
  toQuery :: GetCampaign -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty

-- | /See:/ 'newGetCampaignResponse' smart constructor.
data GetCampaignResponse = GetCampaignResponse'
  { -- | The Amazon Resource Name (ARN) of the campaign.
    GetCampaignResponse -> Maybe Text
arn :: Prelude.Maybe Prelude.Text,
    -- | Information about the data collection scheme associated with the
    -- campaign.
    GetCampaignResponse -> Maybe CollectionScheme
collectionScheme :: Prelude.Maybe CollectionScheme,
    -- | Whether to compress signals before transmitting data to Amazon Web
    -- Services IoT FleetWise. If @OFF@ is specified, the signals aren\'t
    -- compressed. If it\'s not specified, @SNAPPY@ is used.
    GetCampaignResponse -> Maybe Compression
compression :: Prelude.Maybe Compression,
    -- | The time the campaign was created in seconds since epoch (January 1,
    -- 1970 at midnight UTC time).
    GetCampaignResponse -> Maybe POSIX
creationTime :: Prelude.Maybe Data.POSIX,
    -- | A list of vehicle attributes associated with the campaign.
    GetCampaignResponse -> Maybe [Text]
dataExtraDimensions :: Prelude.Maybe [Prelude.Text],
    -- | The description of the campaign.
    GetCampaignResponse -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
    -- | Option for a vehicle to send diagnostic trouble codes to Amazon Web
    -- Services IoT FleetWise.
    GetCampaignResponse -> Maybe DiagnosticsMode
diagnosticsMode :: Prelude.Maybe DiagnosticsMode,
    -- | The time the campaign expires, in seconds since epoch (January 1, 1970
    -- at midnight UTC time). Vehicle data won\'t be collected after the
    -- campaign expires.
    GetCampaignResponse -> Maybe POSIX
expiryTime :: Prelude.Maybe Data.POSIX,
    -- | The last time the campaign was modified.
    GetCampaignResponse -> Maybe POSIX
lastModificationTime :: Prelude.Maybe Data.POSIX,
    -- | The name of the campaign.
    GetCampaignResponse -> Maybe Text
name :: Prelude.Maybe Prelude.Text,
    -- | How long (in seconds) to collect raw data after a triggering event
    -- initiates the collection.
    GetCampaignResponse -> Maybe Natural
postTriggerCollectionDuration :: Prelude.Maybe Prelude.Natural,
    -- | A number indicating the priority of one campaign over another campaign
    -- for a certain vehicle or fleet. A campaign with the lowest value is
    -- deployed to vehicles before any other campaigns.
    GetCampaignResponse -> Maybe Natural
priority :: Prelude.Maybe Prelude.Natural,
    -- | The ARN of a signal catalog.
    GetCampaignResponse -> Maybe Text
signalCatalogArn :: Prelude.Maybe Prelude.Text,
    -- | Information about a list of signals to collect data on.
    GetCampaignResponse -> Maybe [SignalInformation]
signalsToCollect :: Prelude.Maybe [SignalInformation],
    -- | Whether to store collected data after a vehicle lost a connection with
    -- the cloud. After a connection is re-established, the data is
    -- automatically forwarded to Amazon Web Services IoT FleetWise.
    GetCampaignResponse -> Maybe SpoolingMode
spoolingMode :: Prelude.Maybe SpoolingMode,
    -- | The time, in milliseconds, to deliver a campaign after it was approved.
    GetCampaignResponse -> Maybe POSIX
startTime :: Prelude.Maybe Data.POSIX,
    -- | The state of the campaign. The status can be one of: @CREATING@,
    -- @WAITING_FOR_APPROVAL@, @RUNNING@, and @SUSPENDED@.
    GetCampaignResponse -> Maybe CampaignStatus
status :: Prelude.Maybe CampaignStatus,
    -- | The ARN of the vehicle or the fleet targeted by the campaign.
    GetCampaignResponse -> Maybe Text
targetArn :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    GetCampaignResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (GetCampaignResponse -> GetCampaignResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetCampaignResponse -> GetCampaignResponse -> Bool
$c/= :: GetCampaignResponse -> GetCampaignResponse -> Bool
== :: GetCampaignResponse -> GetCampaignResponse -> Bool
$c== :: GetCampaignResponse -> GetCampaignResponse -> Bool
Prelude.Eq, ReadPrec [GetCampaignResponse]
ReadPrec GetCampaignResponse
Int -> ReadS GetCampaignResponse
ReadS [GetCampaignResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetCampaignResponse]
$creadListPrec :: ReadPrec [GetCampaignResponse]
readPrec :: ReadPrec GetCampaignResponse
$creadPrec :: ReadPrec GetCampaignResponse
readList :: ReadS [GetCampaignResponse]
$creadList :: ReadS [GetCampaignResponse]
readsPrec :: Int -> ReadS GetCampaignResponse
$creadsPrec :: Int -> ReadS GetCampaignResponse
Prelude.Read, Int -> GetCampaignResponse -> ShowS
[GetCampaignResponse] -> ShowS
GetCampaignResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetCampaignResponse] -> ShowS
$cshowList :: [GetCampaignResponse] -> ShowS
show :: GetCampaignResponse -> String
$cshow :: GetCampaignResponse -> String
showsPrec :: Int -> GetCampaignResponse -> ShowS
$cshowsPrec :: Int -> GetCampaignResponse -> ShowS
Prelude.Show, forall x. Rep GetCampaignResponse x -> GetCampaignResponse
forall x. GetCampaignResponse -> Rep GetCampaignResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetCampaignResponse x -> GetCampaignResponse
$cfrom :: forall x. GetCampaignResponse -> Rep GetCampaignResponse x
Prelude.Generic)

-- |
-- Create a value of 'GetCampaignResponse' 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:
--
-- 'arn', 'getCampaignResponse_arn' - The Amazon Resource Name (ARN) of the campaign.
--
-- 'collectionScheme', 'getCampaignResponse_collectionScheme' - Information about the data collection scheme associated with the
-- campaign.
--
-- 'compression', 'getCampaignResponse_compression' - Whether to compress signals before transmitting data to Amazon Web
-- Services IoT FleetWise. If @OFF@ is specified, the signals aren\'t
-- compressed. If it\'s not specified, @SNAPPY@ is used.
--
-- 'creationTime', 'getCampaignResponse_creationTime' - The time the campaign was created in seconds since epoch (January 1,
-- 1970 at midnight UTC time).
--
-- 'dataExtraDimensions', 'getCampaignResponse_dataExtraDimensions' - A list of vehicle attributes associated with the campaign.
--
-- 'description', 'getCampaignResponse_description' - The description of the campaign.
--
-- 'diagnosticsMode', 'getCampaignResponse_diagnosticsMode' - Option for a vehicle to send diagnostic trouble codes to Amazon Web
-- Services IoT FleetWise.
--
-- 'expiryTime', 'getCampaignResponse_expiryTime' - The time the campaign expires, in seconds since epoch (January 1, 1970
-- at midnight UTC time). Vehicle data won\'t be collected after the
-- campaign expires.
--
-- 'lastModificationTime', 'getCampaignResponse_lastModificationTime' - The last time the campaign was modified.
--
-- 'name', 'getCampaignResponse_name' - The name of the campaign.
--
-- 'postTriggerCollectionDuration', 'getCampaignResponse_postTriggerCollectionDuration' - How long (in seconds) to collect raw data after a triggering event
-- initiates the collection.
--
-- 'priority', 'getCampaignResponse_priority' - A number indicating the priority of one campaign over another campaign
-- for a certain vehicle or fleet. A campaign with the lowest value is
-- deployed to vehicles before any other campaigns.
--
-- 'signalCatalogArn', 'getCampaignResponse_signalCatalogArn' - The ARN of a signal catalog.
--
-- 'signalsToCollect', 'getCampaignResponse_signalsToCollect' - Information about a list of signals to collect data on.
--
-- 'spoolingMode', 'getCampaignResponse_spoolingMode' - Whether to store collected data after a vehicle lost a connection with
-- the cloud. After a connection is re-established, the data is
-- automatically forwarded to Amazon Web Services IoT FleetWise.
--
-- 'startTime', 'getCampaignResponse_startTime' - The time, in milliseconds, to deliver a campaign after it was approved.
--
-- 'status', 'getCampaignResponse_status' - The state of the campaign. The status can be one of: @CREATING@,
-- @WAITING_FOR_APPROVAL@, @RUNNING@, and @SUSPENDED@.
--
-- 'targetArn', 'getCampaignResponse_targetArn' - The ARN of the vehicle or the fleet targeted by the campaign.
--
-- 'httpStatus', 'getCampaignResponse_httpStatus' - The response's http status code.
newGetCampaignResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  GetCampaignResponse
newGetCampaignResponse :: Int -> GetCampaignResponse
newGetCampaignResponse Int
pHttpStatus_ =
  GetCampaignResponse'
    { $sel:arn:GetCampaignResponse' :: Maybe Text
arn = forall a. Maybe a
Prelude.Nothing,
      $sel:collectionScheme:GetCampaignResponse' :: Maybe CollectionScheme
collectionScheme = forall a. Maybe a
Prelude.Nothing,
      $sel:compression:GetCampaignResponse' :: Maybe Compression
compression = forall a. Maybe a
Prelude.Nothing,
      $sel:creationTime:GetCampaignResponse' :: Maybe POSIX
creationTime = forall a. Maybe a
Prelude.Nothing,
      $sel:dataExtraDimensions:GetCampaignResponse' :: Maybe [Text]
dataExtraDimensions = forall a. Maybe a
Prelude.Nothing,
      $sel:description:GetCampaignResponse' :: Maybe Text
description = forall a. Maybe a
Prelude.Nothing,
      $sel:diagnosticsMode:GetCampaignResponse' :: Maybe DiagnosticsMode
diagnosticsMode = forall a. Maybe a
Prelude.Nothing,
      $sel:expiryTime:GetCampaignResponse' :: Maybe POSIX
expiryTime = forall a. Maybe a
Prelude.Nothing,
      $sel:lastModificationTime:GetCampaignResponse' :: Maybe POSIX
lastModificationTime = forall a. Maybe a
Prelude.Nothing,
      $sel:name:GetCampaignResponse' :: Maybe Text
name = forall a. Maybe a
Prelude.Nothing,
      $sel:postTriggerCollectionDuration:GetCampaignResponse' :: Maybe Natural
postTriggerCollectionDuration = forall a. Maybe a
Prelude.Nothing,
      $sel:priority:GetCampaignResponse' :: Maybe Natural
priority = forall a. Maybe a
Prelude.Nothing,
      $sel:signalCatalogArn:GetCampaignResponse' :: Maybe Text
signalCatalogArn = forall a. Maybe a
Prelude.Nothing,
      $sel:signalsToCollect:GetCampaignResponse' :: Maybe [SignalInformation]
signalsToCollect = forall a. Maybe a
Prelude.Nothing,
      $sel:spoolingMode:GetCampaignResponse' :: Maybe SpoolingMode
spoolingMode = forall a. Maybe a
Prelude.Nothing,
      $sel:startTime:GetCampaignResponse' :: Maybe POSIX
startTime = forall a. Maybe a
Prelude.Nothing,
      $sel:status:GetCampaignResponse' :: Maybe CampaignStatus
status = forall a. Maybe a
Prelude.Nothing,
      $sel:targetArn:GetCampaignResponse' :: Maybe Text
targetArn = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:GetCampaignResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | The Amazon Resource Name (ARN) of the campaign.
getCampaignResponse_arn :: Lens.Lens' GetCampaignResponse (Prelude.Maybe Prelude.Text)
getCampaignResponse_arn :: Lens' GetCampaignResponse (Maybe Text)
getCampaignResponse_arn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetCampaignResponse' {Maybe Text
arn :: Maybe Text
$sel:arn:GetCampaignResponse' :: GetCampaignResponse -> Maybe Text
arn} -> Maybe Text
arn) (\s :: GetCampaignResponse
s@GetCampaignResponse' {} Maybe Text
a -> GetCampaignResponse
s {$sel:arn:GetCampaignResponse' :: Maybe Text
arn = Maybe Text
a} :: GetCampaignResponse)

-- | Information about the data collection scheme associated with the
-- campaign.
getCampaignResponse_collectionScheme :: Lens.Lens' GetCampaignResponse (Prelude.Maybe CollectionScheme)
getCampaignResponse_collectionScheme :: Lens' GetCampaignResponse (Maybe CollectionScheme)
getCampaignResponse_collectionScheme = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetCampaignResponse' {Maybe CollectionScheme
collectionScheme :: Maybe CollectionScheme
$sel:collectionScheme:GetCampaignResponse' :: GetCampaignResponse -> Maybe CollectionScheme
collectionScheme} -> Maybe CollectionScheme
collectionScheme) (\s :: GetCampaignResponse
s@GetCampaignResponse' {} Maybe CollectionScheme
a -> GetCampaignResponse
s {$sel:collectionScheme:GetCampaignResponse' :: Maybe CollectionScheme
collectionScheme = Maybe CollectionScheme
a} :: GetCampaignResponse)

-- | Whether to compress signals before transmitting data to Amazon Web
-- Services IoT FleetWise. If @OFF@ is specified, the signals aren\'t
-- compressed. If it\'s not specified, @SNAPPY@ is used.
getCampaignResponse_compression :: Lens.Lens' GetCampaignResponse (Prelude.Maybe Compression)
getCampaignResponse_compression :: Lens' GetCampaignResponse (Maybe Compression)
getCampaignResponse_compression = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetCampaignResponse' {Maybe Compression
compression :: Maybe Compression
$sel:compression:GetCampaignResponse' :: GetCampaignResponse -> Maybe Compression
compression} -> Maybe Compression
compression) (\s :: GetCampaignResponse
s@GetCampaignResponse' {} Maybe Compression
a -> GetCampaignResponse
s {$sel:compression:GetCampaignResponse' :: Maybe Compression
compression = Maybe Compression
a} :: GetCampaignResponse)

-- | The time the campaign was created in seconds since epoch (January 1,
-- 1970 at midnight UTC time).
getCampaignResponse_creationTime :: Lens.Lens' GetCampaignResponse (Prelude.Maybe Prelude.UTCTime)
getCampaignResponse_creationTime :: Lens' GetCampaignResponse (Maybe UTCTime)
getCampaignResponse_creationTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetCampaignResponse' {Maybe POSIX
creationTime :: Maybe POSIX
$sel:creationTime:GetCampaignResponse' :: GetCampaignResponse -> Maybe POSIX
creationTime} -> Maybe POSIX
creationTime) (\s :: GetCampaignResponse
s@GetCampaignResponse' {} Maybe POSIX
a -> GetCampaignResponse
s {$sel:creationTime:GetCampaignResponse' :: Maybe POSIX
creationTime = Maybe POSIX
a} :: GetCampaignResponse) 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 (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | A list of vehicle attributes associated with the campaign.
getCampaignResponse_dataExtraDimensions :: Lens.Lens' GetCampaignResponse (Prelude.Maybe [Prelude.Text])
getCampaignResponse_dataExtraDimensions :: Lens' GetCampaignResponse (Maybe [Text])
getCampaignResponse_dataExtraDimensions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetCampaignResponse' {Maybe [Text]
dataExtraDimensions :: Maybe [Text]
$sel:dataExtraDimensions:GetCampaignResponse' :: GetCampaignResponse -> Maybe [Text]
dataExtraDimensions} -> Maybe [Text]
dataExtraDimensions) (\s :: GetCampaignResponse
s@GetCampaignResponse' {} Maybe [Text]
a -> GetCampaignResponse
s {$sel:dataExtraDimensions:GetCampaignResponse' :: Maybe [Text]
dataExtraDimensions = Maybe [Text]
a} :: GetCampaignResponse) 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 description of the campaign.
getCampaignResponse_description :: Lens.Lens' GetCampaignResponse (Prelude.Maybe Prelude.Text)
getCampaignResponse_description :: Lens' GetCampaignResponse (Maybe Text)
getCampaignResponse_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetCampaignResponse' {Maybe Text
description :: Maybe Text
$sel:description:GetCampaignResponse' :: GetCampaignResponse -> Maybe Text
description} -> Maybe Text
description) (\s :: GetCampaignResponse
s@GetCampaignResponse' {} Maybe Text
a -> GetCampaignResponse
s {$sel:description:GetCampaignResponse' :: Maybe Text
description = Maybe Text
a} :: GetCampaignResponse)

-- | Option for a vehicle to send diagnostic trouble codes to Amazon Web
-- Services IoT FleetWise.
getCampaignResponse_diagnosticsMode :: Lens.Lens' GetCampaignResponse (Prelude.Maybe DiagnosticsMode)
getCampaignResponse_diagnosticsMode :: Lens' GetCampaignResponse (Maybe DiagnosticsMode)
getCampaignResponse_diagnosticsMode = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetCampaignResponse' {Maybe DiagnosticsMode
diagnosticsMode :: Maybe DiagnosticsMode
$sel:diagnosticsMode:GetCampaignResponse' :: GetCampaignResponse -> Maybe DiagnosticsMode
diagnosticsMode} -> Maybe DiagnosticsMode
diagnosticsMode) (\s :: GetCampaignResponse
s@GetCampaignResponse' {} Maybe DiagnosticsMode
a -> GetCampaignResponse
s {$sel:diagnosticsMode:GetCampaignResponse' :: Maybe DiagnosticsMode
diagnosticsMode = Maybe DiagnosticsMode
a} :: GetCampaignResponse)

-- | The time the campaign expires, in seconds since epoch (January 1, 1970
-- at midnight UTC time). Vehicle data won\'t be collected after the
-- campaign expires.
getCampaignResponse_expiryTime :: Lens.Lens' GetCampaignResponse (Prelude.Maybe Prelude.UTCTime)
getCampaignResponse_expiryTime :: Lens' GetCampaignResponse (Maybe UTCTime)
getCampaignResponse_expiryTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetCampaignResponse' {Maybe POSIX
expiryTime :: Maybe POSIX
$sel:expiryTime:GetCampaignResponse' :: GetCampaignResponse -> Maybe POSIX
expiryTime} -> Maybe POSIX
expiryTime) (\s :: GetCampaignResponse
s@GetCampaignResponse' {} Maybe POSIX
a -> GetCampaignResponse
s {$sel:expiryTime:GetCampaignResponse' :: Maybe POSIX
expiryTime = Maybe POSIX
a} :: GetCampaignResponse) 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 (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | The last time the campaign was modified.
getCampaignResponse_lastModificationTime :: Lens.Lens' GetCampaignResponse (Prelude.Maybe Prelude.UTCTime)
getCampaignResponse_lastModificationTime :: Lens' GetCampaignResponse (Maybe UTCTime)
getCampaignResponse_lastModificationTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetCampaignResponse' {Maybe POSIX
lastModificationTime :: Maybe POSIX
$sel:lastModificationTime:GetCampaignResponse' :: GetCampaignResponse -> Maybe POSIX
lastModificationTime} -> Maybe POSIX
lastModificationTime) (\s :: GetCampaignResponse
s@GetCampaignResponse' {} Maybe POSIX
a -> GetCampaignResponse
s {$sel:lastModificationTime:GetCampaignResponse' :: Maybe POSIX
lastModificationTime = Maybe POSIX
a} :: GetCampaignResponse) 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 (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | The name of the campaign.
getCampaignResponse_name :: Lens.Lens' GetCampaignResponse (Prelude.Maybe Prelude.Text)
getCampaignResponse_name :: Lens' GetCampaignResponse (Maybe Text)
getCampaignResponse_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetCampaignResponse' {Maybe Text
name :: Maybe Text
$sel:name:GetCampaignResponse' :: GetCampaignResponse -> Maybe Text
name} -> Maybe Text
name) (\s :: GetCampaignResponse
s@GetCampaignResponse' {} Maybe Text
a -> GetCampaignResponse
s {$sel:name:GetCampaignResponse' :: Maybe Text
name = Maybe Text
a} :: GetCampaignResponse)

-- | How long (in seconds) to collect raw data after a triggering event
-- initiates the collection.
getCampaignResponse_postTriggerCollectionDuration :: Lens.Lens' GetCampaignResponse (Prelude.Maybe Prelude.Natural)
getCampaignResponse_postTriggerCollectionDuration :: Lens' GetCampaignResponse (Maybe Natural)
getCampaignResponse_postTriggerCollectionDuration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetCampaignResponse' {Maybe Natural
postTriggerCollectionDuration :: Maybe Natural
$sel:postTriggerCollectionDuration:GetCampaignResponse' :: GetCampaignResponse -> Maybe Natural
postTriggerCollectionDuration} -> Maybe Natural
postTriggerCollectionDuration) (\s :: GetCampaignResponse
s@GetCampaignResponse' {} Maybe Natural
a -> GetCampaignResponse
s {$sel:postTriggerCollectionDuration:GetCampaignResponse' :: Maybe Natural
postTriggerCollectionDuration = Maybe Natural
a} :: GetCampaignResponse)

-- | A number indicating the priority of one campaign over another campaign
-- for a certain vehicle or fleet. A campaign with the lowest value is
-- deployed to vehicles before any other campaigns.
getCampaignResponse_priority :: Lens.Lens' GetCampaignResponse (Prelude.Maybe Prelude.Natural)
getCampaignResponse_priority :: Lens' GetCampaignResponse (Maybe Natural)
getCampaignResponse_priority = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetCampaignResponse' {Maybe Natural
priority :: Maybe Natural
$sel:priority:GetCampaignResponse' :: GetCampaignResponse -> Maybe Natural
priority} -> Maybe Natural
priority) (\s :: GetCampaignResponse
s@GetCampaignResponse' {} Maybe Natural
a -> GetCampaignResponse
s {$sel:priority:GetCampaignResponse' :: Maybe Natural
priority = Maybe Natural
a} :: GetCampaignResponse)

-- | The ARN of a signal catalog.
getCampaignResponse_signalCatalogArn :: Lens.Lens' GetCampaignResponse (Prelude.Maybe Prelude.Text)
getCampaignResponse_signalCatalogArn :: Lens' GetCampaignResponse (Maybe Text)
getCampaignResponse_signalCatalogArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetCampaignResponse' {Maybe Text
signalCatalogArn :: Maybe Text
$sel:signalCatalogArn:GetCampaignResponse' :: GetCampaignResponse -> Maybe Text
signalCatalogArn} -> Maybe Text
signalCatalogArn) (\s :: GetCampaignResponse
s@GetCampaignResponse' {} Maybe Text
a -> GetCampaignResponse
s {$sel:signalCatalogArn:GetCampaignResponse' :: Maybe Text
signalCatalogArn = Maybe Text
a} :: GetCampaignResponse)

-- | Information about a list of signals to collect data on.
getCampaignResponse_signalsToCollect :: Lens.Lens' GetCampaignResponse (Prelude.Maybe [SignalInformation])
getCampaignResponse_signalsToCollect :: Lens' GetCampaignResponse (Maybe [SignalInformation])
getCampaignResponse_signalsToCollect = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetCampaignResponse' {Maybe [SignalInformation]
signalsToCollect :: Maybe [SignalInformation]
$sel:signalsToCollect:GetCampaignResponse' :: GetCampaignResponse -> Maybe [SignalInformation]
signalsToCollect} -> Maybe [SignalInformation]
signalsToCollect) (\s :: GetCampaignResponse
s@GetCampaignResponse' {} Maybe [SignalInformation]
a -> GetCampaignResponse
s {$sel:signalsToCollect:GetCampaignResponse' :: Maybe [SignalInformation]
signalsToCollect = Maybe [SignalInformation]
a} :: GetCampaignResponse) 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

-- | Whether to store collected data after a vehicle lost a connection with
-- the cloud. After a connection is re-established, the data is
-- automatically forwarded to Amazon Web Services IoT FleetWise.
getCampaignResponse_spoolingMode :: Lens.Lens' GetCampaignResponse (Prelude.Maybe SpoolingMode)
getCampaignResponse_spoolingMode :: Lens' GetCampaignResponse (Maybe SpoolingMode)
getCampaignResponse_spoolingMode = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetCampaignResponse' {Maybe SpoolingMode
spoolingMode :: Maybe SpoolingMode
$sel:spoolingMode:GetCampaignResponse' :: GetCampaignResponse -> Maybe SpoolingMode
spoolingMode} -> Maybe SpoolingMode
spoolingMode) (\s :: GetCampaignResponse
s@GetCampaignResponse' {} Maybe SpoolingMode
a -> GetCampaignResponse
s {$sel:spoolingMode:GetCampaignResponse' :: Maybe SpoolingMode
spoolingMode = Maybe SpoolingMode
a} :: GetCampaignResponse)

-- | The time, in milliseconds, to deliver a campaign after it was approved.
getCampaignResponse_startTime :: Lens.Lens' GetCampaignResponse (Prelude.Maybe Prelude.UTCTime)
getCampaignResponse_startTime :: Lens' GetCampaignResponse (Maybe UTCTime)
getCampaignResponse_startTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetCampaignResponse' {Maybe POSIX
startTime :: Maybe POSIX
$sel:startTime:GetCampaignResponse' :: GetCampaignResponse -> Maybe POSIX
startTime} -> Maybe POSIX
startTime) (\s :: GetCampaignResponse
s@GetCampaignResponse' {} Maybe POSIX
a -> GetCampaignResponse
s {$sel:startTime:GetCampaignResponse' :: Maybe POSIX
startTime = Maybe POSIX
a} :: GetCampaignResponse) 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 (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | The state of the campaign. The status can be one of: @CREATING@,
-- @WAITING_FOR_APPROVAL@, @RUNNING@, and @SUSPENDED@.
getCampaignResponse_status :: Lens.Lens' GetCampaignResponse (Prelude.Maybe CampaignStatus)
getCampaignResponse_status :: Lens' GetCampaignResponse (Maybe CampaignStatus)
getCampaignResponse_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetCampaignResponse' {Maybe CampaignStatus
status :: Maybe CampaignStatus
$sel:status:GetCampaignResponse' :: GetCampaignResponse -> Maybe CampaignStatus
status} -> Maybe CampaignStatus
status) (\s :: GetCampaignResponse
s@GetCampaignResponse' {} Maybe CampaignStatus
a -> GetCampaignResponse
s {$sel:status:GetCampaignResponse' :: Maybe CampaignStatus
status = Maybe CampaignStatus
a} :: GetCampaignResponse)

-- | The ARN of the vehicle or the fleet targeted by the campaign.
getCampaignResponse_targetArn :: Lens.Lens' GetCampaignResponse (Prelude.Maybe Prelude.Text)
getCampaignResponse_targetArn :: Lens' GetCampaignResponse (Maybe Text)
getCampaignResponse_targetArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetCampaignResponse' {Maybe Text
targetArn :: Maybe Text
$sel:targetArn:GetCampaignResponse' :: GetCampaignResponse -> Maybe Text
targetArn} -> Maybe Text
targetArn) (\s :: GetCampaignResponse
s@GetCampaignResponse' {} Maybe Text
a -> GetCampaignResponse
s {$sel:targetArn:GetCampaignResponse' :: Maybe Text
targetArn = Maybe Text
a} :: GetCampaignResponse)

-- | The response's http status code.
getCampaignResponse_httpStatus :: Lens.Lens' GetCampaignResponse Prelude.Int
getCampaignResponse_httpStatus :: Lens' GetCampaignResponse Int
getCampaignResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetCampaignResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetCampaignResponse' :: GetCampaignResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetCampaignResponse
s@GetCampaignResponse' {} Int
a -> GetCampaignResponse
s {$sel:httpStatus:GetCampaignResponse' :: Int
httpStatus = Int
a} :: GetCampaignResponse)

instance Prelude.NFData GetCampaignResponse where
  rnf :: GetCampaignResponse -> ()
rnf GetCampaignResponse' {Int
Maybe Natural
Maybe [Text]
Maybe [SignalInformation]
Maybe Text
Maybe POSIX
Maybe CampaignStatus
Maybe Compression
Maybe DiagnosticsMode
Maybe SpoolingMode
Maybe CollectionScheme
httpStatus :: Int
targetArn :: Maybe Text
status :: Maybe CampaignStatus
startTime :: Maybe POSIX
spoolingMode :: Maybe SpoolingMode
signalsToCollect :: Maybe [SignalInformation]
signalCatalogArn :: Maybe Text
priority :: Maybe Natural
postTriggerCollectionDuration :: Maybe Natural
name :: Maybe Text
lastModificationTime :: Maybe POSIX
expiryTime :: Maybe POSIX
diagnosticsMode :: Maybe DiagnosticsMode
description :: Maybe Text
dataExtraDimensions :: Maybe [Text]
creationTime :: Maybe POSIX
compression :: Maybe Compression
collectionScheme :: Maybe CollectionScheme
arn :: Maybe Text
$sel:httpStatus:GetCampaignResponse' :: GetCampaignResponse -> Int
$sel:targetArn:GetCampaignResponse' :: GetCampaignResponse -> Maybe Text
$sel:status:GetCampaignResponse' :: GetCampaignResponse -> Maybe CampaignStatus
$sel:startTime:GetCampaignResponse' :: GetCampaignResponse -> Maybe POSIX
$sel:spoolingMode:GetCampaignResponse' :: GetCampaignResponse -> Maybe SpoolingMode
$sel:signalsToCollect:GetCampaignResponse' :: GetCampaignResponse -> Maybe [SignalInformation]
$sel:signalCatalogArn:GetCampaignResponse' :: GetCampaignResponse -> Maybe Text
$sel:priority:GetCampaignResponse' :: GetCampaignResponse -> Maybe Natural
$sel:postTriggerCollectionDuration:GetCampaignResponse' :: GetCampaignResponse -> Maybe Natural
$sel:name:GetCampaignResponse' :: GetCampaignResponse -> Maybe Text
$sel:lastModificationTime:GetCampaignResponse' :: GetCampaignResponse -> Maybe POSIX
$sel:expiryTime:GetCampaignResponse' :: GetCampaignResponse -> Maybe POSIX
$sel:diagnosticsMode:GetCampaignResponse' :: GetCampaignResponse -> Maybe DiagnosticsMode
$sel:description:GetCampaignResponse' :: GetCampaignResponse -> Maybe Text
$sel:dataExtraDimensions:GetCampaignResponse' :: GetCampaignResponse -> Maybe [Text]
$sel:creationTime:GetCampaignResponse' :: GetCampaignResponse -> Maybe POSIX
$sel:compression:GetCampaignResponse' :: GetCampaignResponse -> Maybe Compression
$sel:collectionScheme:GetCampaignResponse' :: GetCampaignResponse -> Maybe CollectionScheme
$sel:arn:GetCampaignResponse' :: GetCampaignResponse -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
arn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe CollectionScheme
collectionScheme
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Compression
compression
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
creationTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
dataExtraDimensions
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
description
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DiagnosticsMode
diagnosticsMode
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
expiryTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
lastModificationTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
name
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
postTriggerCollectionDuration
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
priority
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
signalCatalogArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [SignalInformation]
signalsToCollect
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe SpoolingMode
spoolingMode
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
startTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe CampaignStatus
status
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
targetArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus