aws-cdk-lib.aws_pipes.CfnPipeProps

interface CfnPipeProps

LanguageType name
.NETAmazon.CDK.AWS.Pipes.CfnPipeProps
Gogithub.com/aws/aws-cdk-go/awscdk/v2/awspipes#CfnPipeProps
Javasoftware.amazon.awscdk.services.pipes.CfnPipeProps
Pythonaws_cdk.aws_pipes.CfnPipeProps
TypeScript aws-cdk-lib » aws_pipes » CfnPipeProps

Properties for defining a CfnPipe.

Example

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_pipes as pipes } from 'aws-cdk-lib';
const cfnPipeProps: pipes.CfnPipeProps = {
  roleArn: 'roleArn',
  source: 'source',
  target: 'target',

  // the properties below are optional
  description: 'description',
  desiredState: 'desiredState',
  enrichment: 'enrichment',
  enrichmentParameters: {
    httpParameters: {
      headerParameters: {
        headerParametersKey: 'headerParameters',
      },
      pathParameterValues: ['pathParameterValues'],
      queryStringParameters: {
        queryStringParametersKey: 'queryStringParameters',
      },
    },
    inputTemplate: 'inputTemplate',
  },
  name: 'name',
  sourceParameters: {
    activeMqBrokerParameters: {
      credentials: {
        basicAuth: 'basicAuth',
      },
      queueName: 'queueName',

      // the properties below are optional
      batchSize: 123,
      maximumBatchingWindowInSeconds: 123,
    },
    dynamoDbStreamParameters: {
      startingPosition: 'startingPosition',

      // the properties below are optional
      batchSize: 123,
      deadLetterConfig: {
        arn: 'arn',
      },
      maximumBatchingWindowInSeconds: 123,
      maximumRecordAgeInSeconds: 123,
      maximumRetryAttempts: 123,
      onPartialBatchItemFailure: 'onPartialBatchItemFailure',
      parallelizationFactor: 123,
    },
    filterCriteria: {
      filters: [{
        pattern: 'pattern',
      }],
    },
    kinesisStreamParameters: {
      startingPosition: 'startingPosition',

      // the properties below are optional
      batchSize: 123,
      deadLetterConfig: {
        arn: 'arn',
      },
      maximumBatchingWindowInSeconds: 123,
      maximumRecordAgeInSeconds: 123,
      maximumRetryAttempts: 123,
      onPartialBatchItemFailure: 'onPartialBatchItemFailure',
      parallelizationFactor: 123,
      startingPositionTimestamp: 'startingPositionTimestamp',
    },
    managedStreamingKafkaParameters: {
      topicName: 'topicName',

      // the properties below are optional
      batchSize: 123,
      consumerGroupId: 'consumerGroupId',
      credentials: {
        clientCertificateTlsAuth: 'clientCertificateTlsAuth',
        saslScram512Auth: 'saslScram512Auth',
      },
      maximumBatchingWindowInSeconds: 123,
      startingPosition: 'startingPosition',
    },
    rabbitMqBrokerParameters: {
      credentials: {
        basicAuth: 'basicAuth',
      },
      queueName: 'queueName',

      // the properties below are optional
      batchSize: 123,
      maximumBatchingWindowInSeconds: 123,
      virtualHost: 'virtualHost',
    },
    selfManagedKafkaParameters: {
      topicName: 'topicName',

      // the properties below are optional
      additionalBootstrapServers: ['additionalBootstrapServers'],
      batchSize: 123,
      consumerGroupId: 'consumerGroupId',
      credentials: {
        basicAuth: 'basicAuth',
        clientCertificateTlsAuth: 'clientCertificateTlsAuth',
        saslScram256Auth: 'saslScram256Auth',
        saslScram512Auth: 'saslScram512Auth',
      },
      maximumBatchingWindowInSeconds: 123,
      serverRootCaCertificate: 'serverRootCaCertificate',
      startingPosition: 'startingPosition',
      vpc: {
        securityGroup: ['securityGroup'],
        subnets: ['subnets'],
      },
    },
    sqsQueueParameters: {
      batchSize: 123,
      maximumBatchingWindowInSeconds: 123,
    },
  },
  tags: {
    tagsKey: 'tags',
  },
  targetParameters: {
    batchJobParameters: {
      jobDefinition: 'jobDefinition',
      jobName: 'jobName',

      // the properties below are optional
      arrayProperties: {
        size: 123,
      },
      containerOverrides: {
        command: ['command'],
        environment: [{
          name: 'name',
          value: 'value',
        }],
        instanceType: 'instanceType',
        resourceRequirements: [{
          type: 'type',
          value: 'value',
        }],
      },
      dependsOn: [{
        jobId: 'jobId',
        type: 'type',
      }],
      parameters: {
        parametersKey: 'parameters',
      },
      retryStrategy: {
        attempts: 123,
      },
    },
    cloudWatchLogsParameters: {
      logStreamName: 'logStreamName',
      timestamp: 'timestamp',
    },
    ecsTaskParameters: {
      taskDefinitionArn: 'taskDefinitionArn',

      // the properties below are optional
      capacityProviderStrategy: [{
        capacityProvider: 'capacityProvider',

        // the properties below are optional
        base: 123,
        weight: 123,
      }],
      enableEcsManagedTags: false,
      enableExecuteCommand: false,
      group: 'group',
      launchType: 'launchType',
      networkConfiguration: {
        awsvpcConfiguration: {
          subnets: ['subnets'],

          // the properties below are optional
          assignPublicIp: 'assignPublicIp',
          securityGroups: ['securityGroups'],
        },
      },
      overrides: {
        containerOverrides: [{
          command: ['command'],
          cpu: 123,
          environment: [{
            name: 'name',
            value: 'value',
          }],
          environmentFiles: [{
            type: 'type',
            value: 'value',
          }],
          memory: 123,
          memoryReservation: 123,
          name: 'name',
          resourceRequirements: [{
            type: 'type',
            value: 'value',
          }],
        }],
        cpu: 'cpu',
        ephemeralStorage: {
          sizeInGiB: 123,
        },
        executionRoleArn: 'executionRoleArn',
        inferenceAcceleratorOverrides: [{
          deviceName: 'deviceName',
          deviceType: 'deviceType',
        }],
        memory: 'memory',
        taskRoleArn: 'taskRoleArn',
      },
      placementConstraints: [{
        expression: 'expression',
        type: 'type',
      }],
      placementStrategy: [{
        field: 'field',
        type: 'type',
      }],
      platformVersion: 'platformVersion',
      propagateTags: 'propagateTags',
      referenceId: 'referenceId',
      tags: [{
        key: 'key',
        value: 'value',
      }],
      taskCount: 123,
    },
    eventBridgeEventBusParameters: {
      detailType: 'detailType',
      endpointId: 'endpointId',
      resources: ['resources'],
      source: 'source',
      time: 'time',
    },
    httpParameters: {
      headerParameters: {
        headerParametersKey: 'headerParameters',
      },
      pathParameterValues: ['pathParameterValues'],
      queryStringParameters: {
        queryStringParametersKey: 'queryStringParameters',
      },
    },
    inputTemplate: 'inputTemplate',
    kinesisStreamParameters: {
      partitionKey: 'partitionKey',
    },
    lambdaFunctionParameters: {
      invocationType: 'invocationType',
    },
    redshiftDataParameters: {
      database: 'database',
      sqls: ['sqls'],

      // the properties below are optional
      dbUser: 'dbUser',
      secretManagerArn: 'secretManagerArn',
      statementName: 'statementName',
      withEvent: false,
    },
    sageMakerPipelineParameters: {
      pipelineParameterList: [{
        name: 'name',
        value: 'value',
      }],
    },
    sqsQueueParameters: {
      messageDeduplicationId: 'messageDeduplicationId',
      messageGroupId: 'messageGroupId',
    },
    stepFunctionStateMachineParameters: {
      invocationType: 'invocationType',
    },
  },
};

Properties

NameTypeDescription
roleArnstringThe ARN of the role that allows the pipe to send data to the target.
sourcestringThe ARN of the source resource.
targetstringThe ARN of the target resource.
description?stringA description of the pipe.
desiredState?stringThe state the pipe should be in.
enrichment?stringThe ARN of the enrichment resource.
enrichmentParameters?IResolvable | PipeEnrichmentParametersPropertyThe parameters required to set up enrichment on your pipe.
name?stringThe name of the pipe.
sourceParameters?IResolvable | PipeSourceParametersPropertyThe parameters required to set up a source for your pipe.
tags?{ [string]: string }The list of key-value pairs to associate with the pipe.
targetParameters?IResolvable | PipeTargetParametersPropertyThe parameters required to set up a target for your pipe.

roleArn

Type: string

The ARN of the role that allows the pipe to send data to the target.


source

Type: string

The ARN of the source resource.


target

Type: string

The ARN of the target resource.


description?

Type: string (optional)

A description of the pipe.


desiredState?

Type: string (optional)

The state the pipe should be in.


enrichment?

Type: string (optional)

The ARN of the enrichment resource.


enrichmentParameters?

Type: IResolvable | PipeEnrichmentParametersProperty (optional)

The parameters required to set up enrichment on your pipe.


name?

Type: string (optional)

The name of the pipe.


sourceParameters?

Type: IResolvable | PipeSourceParametersProperty (optional)

The parameters required to set up a source for your pipe.


tags?

Type: { [string]: string } (optional)

The list of key-value pairs to associate with the pipe.


targetParameters?

Type: IResolvable | PipeTargetParametersProperty (optional)

The parameters required to set up a target for your pipe.

For more information about pipe target parameters, including how to use dynamic path parameters, see Target parameters in the Amazon EventBridge User Guide .