{-# 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.Pipes.Types.PipeTargetParameters
-- 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.Pipes.Types.PipeTargetParameters where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Pipes.Types.PipeTargetBatchJobParameters
import Amazonka.Pipes.Types.PipeTargetCloudWatchLogsParameters
import Amazonka.Pipes.Types.PipeTargetEcsTaskParameters
import Amazonka.Pipes.Types.PipeTargetEventBridgeEventBusParameters
import Amazonka.Pipes.Types.PipeTargetHttpParameters
import Amazonka.Pipes.Types.PipeTargetKinesisStreamParameters
import Amazonka.Pipes.Types.PipeTargetLambdaFunctionParameters
import Amazonka.Pipes.Types.PipeTargetRedshiftDataParameters
import Amazonka.Pipes.Types.PipeTargetSageMakerPipelineParameters
import Amazonka.Pipes.Types.PipeTargetSqsQueueParameters
import Amazonka.Pipes.Types.PipeTargetStateMachineParameters
import qualified Amazonka.Prelude as Prelude

-- | The parameters required to set up a target for your pipe.
--
-- /See:/ 'newPipeTargetParameters' smart constructor.
data PipeTargetParameters = PipeTargetParameters'
  { -- | The parameters for using an Batch job as a target.
    PipeTargetParameters -> Maybe PipeTargetBatchJobParameters
batchJobParameters :: Prelude.Maybe PipeTargetBatchJobParameters,
    -- | The parameters for using an CloudWatch Logs log stream as a target.
    PipeTargetParameters -> Maybe PipeTargetCloudWatchLogsParameters
cloudWatchLogsParameters :: Prelude.Maybe PipeTargetCloudWatchLogsParameters,
    -- | The parameters for using an Amazon ECS task as a target.
    PipeTargetParameters -> Maybe PipeTargetEcsTaskParameters
ecsTaskParameters :: Prelude.Maybe PipeTargetEcsTaskParameters,
    -- | The parameters for using an EventBridge event bus as a target.
    PipeTargetParameters
-> Maybe PipeTargetEventBridgeEventBusParameters
eventBridgeEventBusParameters :: Prelude.Maybe PipeTargetEventBridgeEventBusParameters,
    -- | These are custom parameter to be used when the target is an API Gateway
    -- REST APIs or EventBridge ApiDestinations.
    PipeTargetParameters -> Maybe PipeTargetHttpParameters
httpParameters :: Prelude.Maybe PipeTargetHttpParameters,
    -- | Valid JSON text passed to the target. In this case, nothing from the
    -- event itself is passed to the target. For more information, see
    -- <http://www.rfc-editor.org/rfc/rfc7159.txt The JavaScript Object Notation (JSON) Data Interchange Format>.
    PipeTargetParameters -> Maybe (Sensitive Text)
inputTemplate :: Prelude.Maybe (Data.Sensitive Prelude.Text),
    -- | The parameters for using a Kinesis stream as a source.
    PipeTargetParameters -> Maybe PipeTargetKinesisStreamParameters
kinesisStreamParameters :: Prelude.Maybe PipeTargetKinesisStreamParameters,
    -- | The parameters for using a Lambda function as a target.
    PipeTargetParameters -> Maybe PipeTargetLambdaFunctionParameters
lambdaFunctionParameters :: Prelude.Maybe PipeTargetLambdaFunctionParameters,
    -- | These are custom parameters to be used when the target is a Amazon
    -- Redshift cluster to invoke the Amazon Redshift Data API
    -- ExecuteStatement.
    PipeTargetParameters -> Maybe PipeTargetRedshiftDataParameters
redshiftDataParameters :: Prelude.Maybe PipeTargetRedshiftDataParameters,
    -- | The parameters for using a SageMaker pipeline as a target.
    PipeTargetParameters -> Maybe PipeTargetSageMakerPipelineParameters
sageMakerPipelineParameters :: Prelude.Maybe PipeTargetSageMakerPipelineParameters,
    -- | The parameters for using a Amazon SQS stream as a source.
    PipeTargetParameters -> Maybe PipeTargetSqsQueueParameters
sqsQueueParameters :: Prelude.Maybe PipeTargetSqsQueueParameters,
    -- | The parameters for using a Step Functions state machine as a target.
    PipeTargetParameters -> Maybe PipeTargetStateMachineParameters
stepFunctionStateMachineParameters :: Prelude.Maybe PipeTargetStateMachineParameters
  }
  deriving (PipeTargetParameters -> PipeTargetParameters -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PipeTargetParameters -> PipeTargetParameters -> Bool
$c/= :: PipeTargetParameters -> PipeTargetParameters -> Bool
== :: PipeTargetParameters -> PipeTargetParameters -> Bool
$c== :: PipeTargetParameters -> PipeTargetParameters -> Bool
Prelude.Eq, Int -> PipeTargetParameters -> ShowS
[PipeTargetParameters] -> ShowS
PipeTargetParameters -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PipeTargetParameters] -> ShowS
$cshowList :: [PipeTargetParameters] -> ShowS
show :: PipeTargetParameters -> String
$cshow :: PipeTargetParameters -> String
showsPrec :: Int -> PipeTargetParameters -> ShowS
$cshowsPrec :: Int -> PipeTargetParameters -> ShowS
Prelude.Show, forall x. Rep PipeTargetParameters x -> PipeTargetParameters
forall x. PipeTargetParameters -> Rep PipeTargetParameters x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep PipeTargetParameters x -> PipeTargetParameters
$cfrom :: forall x. PipeTargetParameters -> Rep PipeTargetParameters x
Prelude.Generic)

-- |
-- Create a value of 'PipeTargetParameters' 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:
--
-- 'batchJobParameters', 'pipeTargetParameters_batchJobParameters' - The parameters for using an Batch job as a target.
--
-- 'cloudWatchLogsParameters', 'pipeTargetParameters_cloudWatchLogsParameters' - The parameters for using an CloudWatch Logs log stream as a target.
--
-- 'ecsTaskParameters', 'pipeTargetParameters_ecsTaskParameters' - The parameters for using an Amazon ECS task as a target.
--
-- 'eventBridgeEventBusParameters', 'pipeTargetParameters_eventBridgeEventBusParameters' - The parameters for using an EventBridge event bus as a target.
--
-- 'httpParameters', 'pipeTargetParameters_httpParameters' - These are custom parameter to be used when the target is an API Gateway
-- REST APIs or EventBridge ApiDestinations.
--
-- 'inputTemplate', 'pipeTargetParameters_inputTemplate' - Valid JSON text passed to the target. In this case, nothing from the
-- event itself is passed to the target. For more information, see
-- <http://www.rfc-editor.org/rfc/rfc7159.txt The JavaScript Object Notation (JSON) Data Interchange Format>.
--
-- 'kinesisStreamParameters', 'pipeTargetParameters_kinesisStreamParameters' - The parameters for using a Kinesis stream as a source.
--
-- 'lambdaFunctionParameters', 'pipeTargetParameters_lambdaFunctionParameters' - The parameters for using a Lambda function as a target.
--
-- 'redshiftDataParameters', 'pipeTargetParameters_redshiftDataParameters' - These are custom parameters to be used when the target is a Amazon
-- Redshift cluster to invoke the Amazon Redshift Data API
-- ExecuteStatement.
--
-- 'sageMakerPipelineParameters', 'pipeTargetParameters_sageMakerPipelineParameters' - The parameters for using a SageMaker pipeline as a target.
--
-- 'sqsQueueParameters', 'pipeTargetParameters_sqsQueueParameters' - The parameters for using a Amazon SQS stream as a source.
--
-- 'stepFunctionStateMachineParameters', 'pipeTargetParameters_stepFunctionStateMachineParameters' - The parameters for using a Step Functions state machine as a target.
newPipeTargetParameters ::
  PipeTargetParameters
newPipeTargetParameters :: PipeTargetParameters
newPipeTargetParameters =
  PipeTargetParameters'
    { $sel:batchJobParameters:PipeTargetParameters' :: Maybe PipeTargetBatchJobParameters
batchJobParameters =
        forall a. Maybe a
Prelude.Nothing,
      $sel:cloudWatchLogsParameters:PipeTargetParameters' :: Maybe PipeTargetCloudWatchLogsParameters
cloudWatchLogsParameters = forall a. Maybe a
Prelude.Nothing,
      $sel:ecsTaskParameters:PipeTargetParameters' :: Maybe PipeTargetEcsTaskParameters
ecsTaskParameters = forall a. Maybe a
Prelude.Nothing,
      $sel:eventBridgeEventBusParameters:PipeTargetParameters' :: Maybe PipeTargetEventBridgeEventBusParameters
eventBridgeEventBusParameters = forall a. Maybe a
Prelude.Nothing,
      $sel:httpParameters:PipeTargetParameters' :: Maybe PipeTargetHttpParameters
httpParameters = forall a. Maybe a
Prelude.Nothing,
      $sel:inputTemplate:PipeTargetParameters' :: Maybe (Sensitive Text)
inputTemplate = forall a. Maybe a
Prelude.Nothing,
      $sel:kinesisStreamParameters:PipeTargetParameters' :: Maybe PipeTargetKinesisStreamParameters
kinesisStreamParameters = forall a. Maybe a
Prelude.Nothing,
      $sel:lambdaFunctionParameters:PipeTargetParameters' :: Maybe PipeTargetLambdaFunctionParameters
lambdaFunctionParameters = forall a. Maybe a
Prelude.Nothing,
      $sel:redshiftDataParameters:PipeTargetParameters' :: Maybe PipeTargetRedshiftDataParameters
redshiftDataParameters = forall a. Maybe a
Prelude.Nothing,
      $sel:sageMakerPipelineParameters:PipeTargetParameters' :: Maybe PipeTargetSageMakerPipelineParameters
sageMakerPipelineParameters = forall a. Maybe a
Prelude.Nothing,
      $sel:sqsQueueParameters:PipeTargetParameters' :: Maybe PipeTargetSqsQueueParameters
sqsQueueParameters = forall a. Maybe a
Prelude.Nothing,
      $sel:stepFunctionStateMachineParameters:PipeTargetParameters' :: Maybe PipeTargetStateMachineParameters
stepFunctionStateMachineParameters = forall a. Maybe a
Prelude.Nothing
    }

-- | The parameters for using an Batch job as a target.
pipeTargetParameters_batchJobParameters :: Lens.Lens' PipeTargetParameters (Prelude.Maybe PipeTargetBatchJobParameters)
pipeTargetParameters_batchJobParameters :: Lens' PipeTargetParameters (Maybe PipeTargetBatchJobParameters)
pipeTargetParameters_batchJobParameters = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PipeTargetParameters' {Maybe PipeTargetBatchJobParameters
batchJobParameters :: Maybe PipeTargetBatchJobParameters
$sel:batchJobParameters:PipeTargetParameters' :: PipeTargetParameters -> Maybe PipeTargetBatchJobParameters
batchJobParameters} -> Maybe PipeTargetBatchJobParameters
batchJobParameters) (\s :: PipeTargetParameters
s@PipeTargetParameters' {} Maybe PipeTargetBatchJobParameters
a -> PipeTargetParameters
s {$sel:batchJobParameters:PipeTargetParameters' :: Maybe PipeTargetBatchJobParameters
batchJobParameters = Maybe PipeTargetBatchJobParameters
a} :: PipeTargetParameters)

-- | The parameters for using an CloudWatch Logs log stream as a target.
pipeTargetParameters_cloudWatchLogsParameters :: Lens.Lens' PipeTargetParameters (Prelude.Maybe PipeTargetCloudWatchLogsParameters)
pipeTargetParameters_cloudWatchLogsParameters :: Lens'
  PipeTargetParameters (Maybe PipeTargetCloudWatchLogsParameters)
pipeTargetParameters_cloudWatchLogsParameters = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PipeTargetParameters' {Maybe PipeTargetCloudWatchLogsParameters
cloudWatchLogsParameters :: Maybe PipeTargetCloudWatchLogsParameters
$sel:cloudWatchLogsParameters:PipeTargetParameters' :: PipeTargetParameters -> Maybe PipeTargetCloudWatchLogsParameters
cloudWatchLogsParameters} -> Maybe PipeTargetCloudWatchLogsParameters
cloudWatchLogsParameters) (\s :: PipeTargetParameters
s@PipeTargetParameters' {} Maybe PipeTargetCloudWatchLogsParameters
a -> PipeTargetParameters
s {$sel:cloudWatchLogsParameters:PipeTargetParameters' :: Maybe PipeTargetCloudWatchLogsParameters
cloudWatchLogsParameters = Maybe PipeTargetCloudWatchLogsParameters
a} :: PipeTargetParameters)

-- | The parameters for using an Amazon ECS task as a target.
pipeTargetParameters_ecsTaskParameters :: Lens.Lens' PipeTargetParameters (Prelude.Maybe PipeTargetEcsTaskParameters)
pipeTargetParameters_ecsTaskParameters :: Lens' PipeTargetParameters (Maybe PipeTargetEcsTaskParameters)
pipeTargetParameters_ecsTaskParameters = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PipeTargetParameters' {Maybe PipeTargetEcsTaskParameters
ecsTaskParameters :: Maybe PipeTargetEcsTaskParameters
$sel:ecsTaskParameters:PipeTargetParameters' :: PipeTargetParameters -> Maybe PipeTargetEcsTaskParameters
ecsTaskParameters} -> Maybe PipeTargetEcsTaskParameters
ecsTaskParameters) (\s :: PipeTargetParameters
s@PipeTargetParameters' {} Maybe PipeTargetEcsTaskParameters
a -> PipeTargetParameters
s {$sel:ecsTaskParameters:PipeTargetParameters' :: Maybe PipeTargetEcsTaskParameters
ecsTaskParameters = Maybe PipeTargetEcsTaskParameters
a} :: PipeTargetParameters)

-- | The parameters for using an EventBridge event bus as a target.
pipeTargetParameters_eventBridgeEventBusParameters :: Lens.Lens' PipeTargetParameters (Prelude.Maybe PipeTargetEventBridgeEventBusParameters)
pipeTargetParameters_eventBridgeEventBusParameters :: Lens'
  PipeTargetParameters
  (Maybe PipeTargetEventBridgeEventBusParameters)
pipeTargetParameters_eventBridgeEventBusParameters = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PipeTargetParameters' {Maybe PipeTargetEventBridgeEventBusParameters
eventBridgeEventBusParameters :: Maybe PipeTargetEventBridgeEventBusParameters
$sel:eventBridgeEventBusParameters:PipeTargetParameters' :: PipeTargetParameters
-> Maybe PipeTargetEventBridgeEventBusParameters
eventBridgeEventBusParameters} -> Maybe PipeTargetEventBridgeEventBusParameters
eventBridgeEventBusParameters) (\s :: PipeTargetParameters
s@PipeTargetParameters' {} Maybe PipeTargetEventBridgeEventBusParameters
a -> PipeTargetParameters
s {$sel:eventBridgeEventBusParameters:PipeTargetParameters' :: Maybe PipeTargetEventBridgeEventBusParameters
eventBridgeEventBusParameters = Maybe PipeTargetEventBridgeEventBusParameters
a} :: PipeTargetParameters)

-- | These are custom parameter to be used when the target is an API Gateway
-- REST APIs or EventBridge ApiDestinations.
pipeTargetParameters_httpParameters :: Lens.Lens' PipeTargetParameters (Prelude.Maybe PipeTargetHttpParameters)
pipeTargetParameters_httpParameters :: Lens' PipeTargetParameters (Maybe PipeTargetHttpParameters)
pipeTargetParameters_httpParameters = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PipeTargetParameters' {Maybe PipeTargetHttpParameters
httpParameters :: Maybe PipeTargetHttpParameters
$sel:httpParameters:PipeTargetParameters' :: PipeTargetParameters -> Maybe PipeTargetHttpParameters
httpParameters} -> Maybe PipeTargetHttpParameters
httpParameters) (\s :: PipeTargetParameters
s@PipeTargetParameters' {} Maybe PipeTargetHttpParameters
a -> PipeTargetParameters
s {$sel:httpParameters:PipeTargetParameters' :: Maybe PipeTargetHttpParameters
httpParameters = Maybe PipeTargetHttpParameters
a} :: PipeTargetParameters)

-- | Valid JSON text passed to the target. In this case, nothing from the
-- event itself is passed to the target. For more information, see
-- <http://www.rfc-editor.org/rfc/rfc7159.txt The JavaScript Object Notation (JSON) Data Interchange Format>.
pipeTargetParameters_inputTemplate :: Lens.Lens' PipeTargetParameters (Prelude.Maybe Prelude.Text)
pipeTargetParameters_inputTemplate :: Lens' PipeTargetParameters (Maybe Text)
pipeTargetParameters_inputTemplate = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PipeTargetParameters' {Maybe (Sensitive Text)
inputTemplate :: Maybe (Sensitive Text)
$sel:inputTemplate:PipeTargetParameters' :: PipeTargetParameters -> Maybe (Sensitive Text)
inputTemplate} -> Maybe (Sensitive Text)
inputTemplate) (\s :: PipeTargetParameters
s@PipeTargetParameters' {} Maybe (Sensitive Text)
a -> PipeTargetParameters
s {$sel:inputTemplate:PipeTargetParameters' :: Maybe (Sensitive Text)
inputTemplate = Maybe (Sensitive Text)
a} :: PipeTargetParameters) 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. Iso' (Sensitive a) a
Data._Sensitive

-- | The parameters for using a Kinesis stream as a source.
pipeTargetParameters_kinesisStreamParameters :: Lens.Lens' PipeTargetParameters (Prelude.Maybe PipeTargetKinesisStreamParameters)
pipeTargetParameters_kinesisStreamParameters :: Lens'
  PipeTargetParameters (Maybe PipeTargetKinesisStreamParameters)
pipeTargetParameters_kinesisStreamParameters = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PipeTargetParameters' {Maybe PipeTargetKinesisStreamParameters
kinesisStreamParameters :: Maybe PipeTargetKinesisStreamParameters
$sel:kinesisStreamParameters:PipeTargetParameters' :: PipeTargetParameters -> Maybe PipeTargetKinesisStreamParameters
kinesisStreamParameters} -> Maybe PipeTargetKinesisStreamParameters
kinesisStreamParameters) (\s :: PipeTargetParameters
s@PipeTargetParameters' {} Maybe PipeTargetKinesisStreamParameters
a -> PipeTargetParameters
s {$sel:kinesisStreamParameters:PipeTargetParameters' :: Maybe PipeTargetKinesisStreamParameters
kinesisStreamParameters = Maybe PipeTargetKinesisStreamParameters
a} :: PipeTargetParameters)

-- | The parameters for using a Lambda function as a target.
pipeTargetParameters_lambdaFunctionParameters :: Lens.Lens' PipeTargetParameters (Prelude.Maybe PipeTargetLambdaFunctionParameters)
pipeTargetParameters_lambdaFunctionParameters :: Lens'
  PipeTargetParameters (Maybe PipeTargetLambdaFunctionParameters)
pipeTargetParameters_lambdaFunctionParameters = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PipeTargetParameters' {Maybe PipeTargetLambdaFunctionParameters
lambdaFunctionParameters :: Maybe PipeTargetLambdaFunctionParameters
$sel:lambdaFunctionParameters:PipeTargetParameters' :: PipeTargetParameters -> Maybe PipeTargetLambdaFunctionParameters
lambdaFunctionParameters} -> Maybe PipeTargetLambdaFunctionParameters
lambdaFunctionParameters) (\s :: PipeTargetParameters
s@PipeTargetParameters' {} Maybe PipeTargetLambdaFunctionParameters
a -> PipeTargetParameters
s {$sel:lambdaFunctionParameters:PipeTargetParameters' :: Maybe PipeTargetLambdaFunctionParameters
lambdaFunctionParameters = Maybe PipeTargetLambdaFunctionParameters
a} :: PipeTargetParameters)

-- | These are custom parameters to be used when the target is a Amazon
-- Redshift cluster to invoke the Amazon Redshift Data API
-- ExecuteStatement.
pipeTargetParameters_redshiftDataParameters :: Lens.Lens' PipeTargetParameters (Prelude.Maybe PipeTargetRedshiftDataParameters)
pipeTargetParameters_redshiftDataParameters :: Lens' PipeTargetParameters (Maybe PipeTargetRedshiftDataParameters)
pipeTargetParameters_redshiftDataParameters = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PipeTargetParameters' {Maybe PipeTargetRedshiftDataParameters
redshiftDataParameters :: Maybe PipeTargetRedshiftDataParameters
$sel:redshiftDataParameters:PipeTargetParameters' :: PipeTargetParameters -> Maybe PipeTargetRedshiftDataParameters
redshiftDataParameters} -> Maybe PipeTargetRedshiftDataParameters
redshiftDataParameters) (\s :: PipeTargetParameters
s@PipeTargetParameters' {} Maybe PipeTargetRedshiftDataParameters
a -> PipeTargetParameters
s {$sel:redshiftDataParameters:PipeTargetParameters' :: Maybe PipeTargetRedshiftDataParameters
redshiftDataParameters = Maybe PipeTargetRedshiftDataParameters
a} :: PipeTargetParameters)

-- | The parameters for using a SageMaker pipeline as a target.
pipeTargetParameters_sageMakerPipelineParameters :: Lens.Lens' PipeTargetParameters (Prelude.Maybe PipeTargetSageMakerPipelineParameters)
pipeTargetParameters_sageMakerPipelineParameters :: Lens'
  PipeTargetParameters (Maybe PipeTargetSageMakerPipelineParameters)
pipeTargetParameters_sageMakerPipelineParameters = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PipeTargetParameters' {Maybe PipeTargetSageMakerPipelineParameters
sageMakerPipelineParameters :: Maybe PipeTargetSageMakerPipelineParameters
$sel:sageMakerPipelineParameters:PipeTargetParameters' :: PipeTargetParameters -> Maybe PipeTargetSageMakerPipelineParameters
sageMakerPipelineParameters} -> Maybe PipeTargetSageMakerPipelineParameters
sageMakerPipelineParameters) (\s :: PipeTargetParameters
s@PipeTargetParameters' {} Maybe PipeTargetSageMakerPipelineParameters
a -> PipeTargetParameters
s {$sel:sageMakerPipelineParameters:PipeTargetParameters' :: Maybe PipeTargetSageMakerPipelineParameters
sageMakerPipelineParameters = Maybe PipeTargetSageMakerPipelineParameters
a} :: PipeTargetParameters)

-- | The parameters for using a Amazon SQS stream as a source.
pipeTargetParameters_sqsQueueParameters :: Lens.Lens' PipeTargetParameters (Prelude.Maybe PipeTargetSqsQueueParameters)
pipeTargetParameters_sqsQueueParameters :: Lens' PipeTargetParameters (Maybe PipeTargetSqsQueueParameters)
pipeTargetParameters_sqsQueueParameters = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PipeTargetParameters' {Maybe PipeTargetSqsQueueParameters
sqsQueueParameters :: Maybe PipeTargetSqsQueueParameters
$sel:sqsQueueParameters:PipeTargetParameters' :: PipeTargetParameters -> Maybe PipeTargetSqsQueueParameters
sqsQueueParameters} -> Maybe PipeTargetSqsQueueParameters
sqsQueueParameters) (\s :: PipeTargetParameters
s@PipeTargetParameters' {} Maybe PipeTargetSqsQueueParameters
a -> PipeTargetParameters
s {$sel:sqsQueueParameters:PipeTargetParameters' :: Maybe PipeTargetSqsQueueParameters
sqsQueueParameters = Maybe PipeTargetSqsQueueParameters
a} :: PipeTargetParameters)

-- | The parameters for using a Step Functions state machine as a target.
pipeTargetParameters_stepFunctionStateMachineParameters :: Lens.Lens' PipeTargetParameters (Prelude.Maybe PipeTargetStateMachineParameters)
pipeTargetParameters_stepFunctionStateMachineParameters :: Lens' PipeTargetParameters (Maybe PipeTargetStateMachineParameters)
pipeTargetParameters_stepFunctionStateMachineParameters = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PipeTargetParameters' {Maybe PipeTargetStateMachineParameters
stepFunctionStateMachineParameters :: Maybe PipeTargetStateMachineParameters
$sel:stepFunctionStateMachineParameters:PipeTargetParameters' :: PipeTargetParameters -> Maybe PipeTargetStateMachineParameters
stepFunctionStateMachineParameters} -> Maybe PipeTargetStateMachineParameters
stepFunctionStateMachineParameters) (\s :: PipeTargetParameters
s@PipeTargetParameters' {} Maybe PipeTargetStateMachineParameters
a -> PipeTargetParameters
s {$sel:stepFunctionStateMachineParameters:PipeTargetParameters' :: Maybe PipeTargetStateMachineParameters
stepFunctionStateMachineParameters = Maybe PipeTargetStateMachineParameters
a} :: PipeTargetParameters)

instance Data.FromJSON PipeTargetParameters where
  parseJSON :: Value -> Parser PipeTargetParameters
parseJSON =
    forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
      String
"PipeTargetParameters"
      ( \Object
x ->
          Maybe PipeTargetBatchJobParameters
-> Maybe PipeTargetCloudWatchLogsParameters
-> Maybe PipeTargetEcsTaskParameters
-> Maybe PipeTargetEventBridgeEventBusParameters
-> Maybe PipeTargetHttpParameters
-> Maybe (Sensitive Text)
-> Maybe PipeTargetKinesisStreamParameters
-> Maybe PipeTargetLambdaFunctionParameters
-> Maybe PipeTargetRedshiftDataParameters
-> Maybe PipeTargetSageMakerPipelineParameters
-> Maybe PipeTargetSqsQueueParameters
-> Maybe PipeTargetStateMachineParameters
-> PipeTargetParameters
PipeTargetParameters'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"BatchJobParameters")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"CloudWatchLogsParameters")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"EcsTaskParameters")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"EventBridgeEventBusParameters")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"HttpParameters")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"InputTemplate")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"KinesisStreamParameters")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"LambdaFunctionParameters")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"RedshiftDataParameters")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"SageMakerPipelineParameters")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"SqsQueueParameters")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"StepFunctionStateMachineParameters")
      )

instance Prelude.Hashable PipeTargetParameters where
  hashWithSalt :: Int -> PipeTargetParameters -> Int
hashWithSalt Int
_salt PipeTargetParameters' {Maybe (Sensitive Text)
Maybe PipeTargetBatchJobParameters
Maybe PipeTargetCloudWatchLogsParameters
Maybe PipeTargetEventBridgeEventBusParameters
Maybe PipeTargetHttpParameters
Maybe PipeTargetKinesisStreamParameters
Maybe PipeTargetLambdaFunctionParameters
Maybe PipeTargetRedshiftDataParameters
Maybe PipeTargetSqsQueueParameters
Maybe PipeTargetStateMachineParameters
Maybe PipeTargetSageMakerPipelineParameters
Maybe PipeTargetEcsTaskParameters
stepFunctionStateMachineParameters :: Maybe PipeTargetStateMachineParameters
sqsQueueParameters :: Maybe PipeTargetSqsQueueParameters
sageMakerPipelineParameters :: Maybe PipeTargetSageMakerPipelineParameters
redshiftDataParameters :: Maybe PipeTargetRedshiftDataParameters
lambdaFunctionParameters :: Maybe PipeTargetLambdaFunctionParameters
kinesisStreamParameters :: Maybe PipeTargetKinesisStreamParameters
inputTemplate :: Maybe (Sensitive Text)
httpParameters :: Maybe PipeTargetHttpParameters
eventBridgeEventBusParameters :: Maybe PipeTargetEventBridgeEventBusParameters
ecsTaskParameters :: Maybe PipeTargetEcsTaskParameters
cloudWatchLogsParameters :: Maybe PipeTargetCloudWatchLogsParameters
batchJobParameters :: Maybe PipeTargetBatchJobParameters
$sel:stepFunctionStateMachineParameters:PipeTargetParameters' :: PipeTargetParameters -> Maybe PipeTargetStateMachineParameters
$sel:sqsQueueParameters:PipeTargetParameters' :: PipeTargetParameters -> Maybe PipeTargetSqsQueueParameters
$sel:sageMakerPipelineParameters:PipeTargetParameters' :: PipeTargetParameters -> Maybe PipeTargetSageMakerPipelineParameters
$sel:redshiftDataParameters:PipeTargetParameters' :: PipeTargetParameters -> Maybe PipeTargetRedshiftDataParameters
$sel:lambdaFunctionParameters:PipeTargetParameters' :: PipeTargetParameters -> Maybe PipeTargetLambdaFunctionParameters
$sel:kinesisStreamParameters:PipeTargetParameters' :: PipeTargetParameters -> Maybe PipeTargetKinesisStreamParameters
$sel:inputTemplate:PipeTargetParameters' :: PipeTargetParameters -> Maybe (Sensitive Text)
$sel:httpParameters:PipeTargetParameters' :: PipeTargetParameters -> Maybe PipeTargetHttpParameters
$sel:eventBridgeEventBusParameters:PipeTargetParameters' :: PipeTargetParameters
-> Maybe PipeTargetEventBridgeEventBusParameters
$sel:ecsTaskParameters:PipeTargetParameters' :: PipeTargetParameters -> Maybe PipeTargetEcsTaskParameters
$sel:cloudWatchLogsParameters:PipeTargetParameters' :: PipeTargetParameters -> Maybe PipeTargetCloudWatchLogsParameters
$sel:batchJobParameters:PipeTargetParameters' :: PipeTargetParameters -> Maybe PipeTargetBatchJobParameters
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe PipeTargetBatchJobParameters
batchJobParameters
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe PipeTargetCloudWatchLogsParameters
cloudWatchLogsParameters
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe PipeTargetEcsTaskParameters
ecsTaskParameters
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe PipeTargetEventBridgeEventBusParameters
eventBridgeEventBusParameters
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe PipeTargetHttpParameters
httpParameters
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (Sensitive Text)
inputTemplate
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe PipeTargetKinesisStreamParameters
kinesisStreamParameters
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe PipeTargetLambdaFunctionParameters
lambdaFunctionParameters
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe PipeTargetRedshiftDataParameters
redshiftDataParameters
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe PipeTargetSageMakerPipelineParameters
sageMakerPipelineParameters
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe PipeTargetSqsQueueParameters
sqsQueueParameters
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe PipeTargetStateMachineParameters
stepFunctionStateMachineParameters

instance Prelude.NFData PipeTargetParameters where
  rnf :: PipeTargetParameters -> ()
rnf PipeTargetParameters' {Maybe (Sensitive Text)
Maybe PipeTargetBatchJobParameters
Maybe PipeTargetCloudWatchLogsParameters
Maybe PipeTargetEventBridgeEventBusParameters
Maybe PipeTargetHttpParameters
Maybe PipeTargetKinesisStreamParameters
Maybe PipeTargetLambdaFunctionParameters
Maybe PipeTargetRedshiftDataParameters
Maybe PipeTargetSqsQueueParameters
Maybe PipeTargetStateMachineParameters
Maybe PipeTargetSageMakerPipelineParameters
Maybe PipeTargetEcsTaskParameters
stepFunctionStateMachineParameters :: Maybe PipeTargetStateMachineParameters
sqsQueueParameters :: Maybe PipeTargetSqsQueueParameters
sageMakerPipelineParameters :: Maybe PipeTargetSageMakerPipelineParameters
redshiftDataParameters :: Maybe PipeTargetRedshiftDataParameters
lambdaFunctionParameters :: Maybe PipeTargetLambdaFunctionParameters
kinesisStreamParameters :: Maybe PipeTargetKinesisStreamParameters
inputTemplate :: Maybe (Sensitive Text)
httpParameters :: Maybe PipeTargetHttpParameters
eventBridgeEventBusParameters :: Maybe PipeTargetEventBridgeEventBusParameters
ecsTaskParameters :: Maybe PipeTargetEcsTaskParameters
cloudWatchLogsParameters :: Maybe PipeTargetCloudWatchLogsParameters
batchJobParameters :: Maybe PipeTargetBatchJobParameters
$sel:stepFunctionStateMachineParameters:PipeTargetParameters' :: PipeTargetParameters -> Maybe PipeTargetStateMachineParameters
$sel:sqsQueueParameters:PipeTargetParameters' :: PipeTargetParameters -> Maybe PipeTargetSqsQueueParameters
$sel:sageMakerPipelineParameters:PipeTargetParameters' :: PipeTargetParameters -> Maybe PipeTargetSageMakerPipelineParameters
$sel:redshiftDataParameters:PipeTargetParameters' :: PipeTargetParameters -> Maybe PipeTargetRedshiftDataParameters
$sel:lambdaFunctionParameters:PipeTargetParameters' :: PipeTargetParameters -> Maybe PipeTargetLambdaFunctionParameters
$sel:kinesisStreamParameters:PipeTargetParameters' :: PipeTargetParameters -> Maybe PipeTargetKinesisStreamParameters
$sel:inputTemplate:PipeTargetParameters' :: PipeTargetParameters -> Maybe (Sensitive Text)
$sel:httpParameters:PipeTargetParameters' :: PipeTargetParameters -> Maybe PipeTargetHttpParameters
$sel:eventBridgeEventBusParameters:PipeTargetParameters' :: PipeTargetParameters
-> Maybe PipeTargetEventBridgeEventBusParameters
$sel:ecsTaskParameters:PipeTargetParameters' :: PipeTargetParameters -> Maybe PipeTargetEcsTaskParameters
$sel:cloudWatchLogsParameters:PipeTargetParameters' :: PipeTargetParameters -> Maybe PipeTargetCloudWatchLogsParameters
$sel:batchJobParameters:PipeTargetParameters' :: PipeTargetParameters -> Maybe PipeTargetBatchJobParameters
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe PipeTargetBatchJobParameters
batchJobParameters
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe PipeTargetCloudWatchLogsParameters
cloudWatchLogsParameters
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe PipeTargetEcsTaskParameters
ecsTaskParameters
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe PipeTargetEventBridgeEventBusParameters
eventBridgeEventBusParameters
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe PipeTargetHttpParameters
httpParameters
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (Sensitive Text)
inputTemplate
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe PipeTargetKinesisStreamParameters
kinesisStreamParameters
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe PipeTargetLambdaFunctionParameters
lambdaFunctionParameters
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe PipeTargetRedshiftDataParameters
redshiftDataParameters
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe PipeTargetSageMakerPipelineParameters
sageMakerPipelineParameters
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe PipeTargetSqsQueueParameters
sqsQueueParameters
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe PipeTargetStateMachineParameters
stepFunctionStateMachineParameters

instance Data.ToJSON PipeTargetParameters where
  toJSON :: PipeTargetParameters -> Value
toJSON PipeTargetParameters' {Maybe (Sensitive Text)
Maybe PipeTargetBatchJobParameters
Maybe PipeTargetCloudWatchLogsParameters
Maybe PipeTargetEventBridgeEventBusParameters
Maybe PipeTargetHttpParameters
Maybe PipeTargetKinesisStreamParameters
Maybe PipeTargetLambdaFunctionParameters
Maybe PipeTargetRedshiftDataParameters
Maybe PipeTargetSqsQueueParameters
Maybe PipeTargetStateMachineParameters
Maybe PipeTargetSageMakerPipelineParameters
Maybe PipeTargetEcsTaskParameters
stepFunctionStateMachineParameters :: Maybe PipeTargetStateMachineParameters
sqsQueueParameters :: Maybe PipeTargetSqsQueueParameters
sageMakerPipelineParameters :: Maybe PipeTargetSageMakerPipelineParameters
redshiftDataParameters :: Maybe PipeTargetRedshiftDataParameters
lambdaFunctionParameters :: Maybe PipeTargetLambdaFunctionParameters
kinesisStreamParameters :: Maybe PipeTargetKinesisStreamParameters
inputTemplate :: Maybe (Sensitive Text)
httpParameters :: Maybe PipeTargetHttpParameters
eventBridgeEventBusParameters :: Maybe PipeTargetEventBridgeEventBusParameters
ecsTaskParameters :: Maybe PipeTargetEcsTaskParameters
cloudWatchLogsParameters :: Maybe PipeTargetCloudWatchLogsParameters
batchJobParameters :: Maybe PipeTargetBatchJobParameters
$sel:stepFunctionStateMachineParameters:PipeTargetParameters' :: PipeTargetParameters -> Maybe PipeTargetStateMachineParameters
$sel:sqsQueueParameters:PipeTargetParameters' :: PipeTargetParameters -> Maybe PipeTargetSqsQueueParameters
$sel:sageMakerPipelineParameters:PipeTargetParameters' :: PipeTargetParameters -> Maybe PipeTargetSageMakerPipelineParameters
$sel:redshiftDataParameters:PipeTargetParameters' :: PipeTargetParameters -> Maybe PipeTargetRedshiftDataParameters
$sel:lambdaFunctionParameters:PipeTargetParameters' :: PipeTargetParameters -> Maybe PipeTargetLambdaFunctionParameters
$sel:kinesisStreamParameters:PipeTargetParameters' :: PipeTargetParameters -> Maybe PipeTargetKinesisStreamParameters
$sel:inputTemplate:PipeTargetParameters' :: PipeTargetParameters -> Maybe (Sensitive Text)
$sel:httpParameters:PipeTargetParameters' :: PipeTargetParameters -> Maybe PipeTargetHttpParameters
$sel:eventBridgeEventBusParameters:PipeTargetParameters' :: PipeTargetParameters
-> Maybe PipeTargetEventBridgeEventBusParameters
$sel:ecsTaskParameters:PipeTargetParameters' :: PipeTargetParameters -> Maybe PipeTargetEcsTaskParameters
$sel:cloudWatchLogsParameters:PipeTargetParameters' :: PipeTargetParameters -> Maybe PipeTargetCloudWatchLogsParameters
$sel:batchJobParameters:PipeTargetParameters' :: PipeTargetParameters -> Maybe PipeTargetBatchJobParameters
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"BatchJobParameters" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe PipeTargetBatchJobParameters
batchJobParameters,
            (Key
"CloudWatchLogsParameters" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe PipeTargetCloudWatchLogsParameters
cloudWatchLogsParameters,
            (Key
"EcsTaskParameters" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe PipeTargetEcsTaskParameters
ecsTaskParameters,
            (Key
"EventBridgeEventBusParameters" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe PipeTargetEventBridgeEventBusParameters
eventBridgeEventBusParameters,
            (Key
"HttpParameters" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe PipeTargetHttpParameters
httpParameters,
            (Key
"InputTemplate" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Sensitive Text)
inputTemplate,
            (Key
"KinesisStreamParameters" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe PipeTargetKinesisStreamParameters
kinesisStreamParameters,
            (Key
"LambdaFunctionParameters" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe PipeTargetLambdaFunctionParameters
lambdaFunctionParameters,
            (Key
"RedshiftDataParameters" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe PipeTargetRedshiftDataParameters
redshiftDataParameters,
            (Key
"SageMakerPipelineParameters" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe PipeTargetSageMakerPipelineParameters
sageMakerPipelineParameters,
            (Key
"SqsQueueParameters" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe PipeTargetSqsQueueParameters
sqsQueueParameters,
            (Key
"StepFunctionStateMachineParameters" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe PipeTargetStateMachineParameters
stepFunctionStateMachineParameters
          ]
      )