java.lang.Object
software.amazon.jsii.JsiiObject
All Implemented Interfaces:
IConstruct, IDependable, IInspectable, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:29:57.794Z") @Stability(Stable) public class CfnPipeline extends CfnResource implements IInspectable
A CloudFormation AWS::IoTAnalytics::Pipeline.

The AWS::IoTAnalytics::Pipeline resource consumes messages from one or more channels and allows you to process the messages before storing them in a data store. You must specify both a channel and a datastore activity and, optionally, as many as 23 additional activities in the pipelineActivities array. For more information, see How to Use AWS IoT Analytics in the AWS IoT Analytics User Guide .

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.iotanalytics.*;
 CfnPipeline cfnPipeline = CfnPipeline.Builder.create(this, "MyCfnPipeline")
         .pipelineActivities(List.of(ActivityProperty.builder()
                 .addAttributes(AddAttributesProperty.builder()
                         .attributes(Map.of(
                                 "attributesKey", "attributes"))
                         .name("name")
                         // the properties below are optional
                         .next("next")
                         .build())
                 .channel(ChannelProperty.builder()
                         .channelName("channelName")
                         .name("name")
                         // the properties below are optional
                         .next("next")
                         .build())
                 .datastore(DatastoreProperty.builder()
                         .datastoreName("datastoreName")
                         .name("name")
                         .build())
                 .deviceRegistryEnrich(DeviceRegistryEnrichProperty.builder()
                         .attribute("attribute")
                         .name("name")
                         .roleArn("roleArn")
                         .thingName("thingName")
                         // the properties below are optional
                         .next("next")
                         .build())
                 .deviceShadowEnrich(DeviceShadowEnrichProperty.builder()
                         .attribute("attribute")
                         .name("name")
                         .roleArn("roleArn")
                         .thingName("thingName")
                         // the properties below are optional
                         .next("next")
                         .build())
                 .filter(FilterProperty.builder()
                         .filter("filter")
                         .name("name")
                         // the properties below are optional
                         .next("next")
                         .build())
                 .lambda(LambdaProperty.builder()
                         .batchSize(123)
                         .lambdaName("lambdaName")
                         .name("name")
                         // the properties below are optional
                         .next("next")
                         .build())
                 .math(MathProperty.builder()
                         .attribute("attribute")
                         .math("math")
                         .name("name")
                         // the properties below are optional
                         .next("next")
                         .build())
                 .removeAttributes(RemoveAttributesProperty.builder()
                         .attributes(List.of("attributes"))
                         .name("name")
                         // the properties below are optional
                         .next("next")
                         .build())
                 .selectAttributes(SelectAttributesProperty.builder()
                         .attributes(List.of("attributes"))
                         .name("name")
                         // the properties below are optional
                         .next("next")
                         .build())
                 .build()))
         // the properties below are optional
         .pipelineName("pipelineName")
         .tags(List.of(CfnTag.builder()
                 .key("key")
                 .value("value")
                 .build()))
         .build();
 
  • Field Details

    • CFN_RESOURCE_TYPE_NAME

      @Stability(Stable) public static final String CFN_RESOURCE_TYPE_NAME
      The CloudFormation resource type name for this resource class.
  • Constructor Details

    • CfnPipeline

      protected CfnPipeline(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnPipeline

      protected CfnPipeline(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnPipeline

      @Stability(Stable) public CfnPipeline(@NotNull Construct scope, @NotNull String id, @NotNull CfnPipelineProps props)
      Create a new AWS::IoTAnalytics::Pipeline.

      Parameters:
      scope -
      • scope in which this resource is defined.
      This parameter is required.
      id -
      • scoped id of the resource.
      This parameter is required.
      props -
      • resource properties.
      This parameter is required.
  • Method Details

    • inspect

      @Stability(Stable) public void inspect(@NotNull TreeInspector inspector)
      Examines the CloudFormation resource and discloses attributes.

      Specified by:
      inspect in interface IInspectable
      Parameters:
      inspector -
      • tree inspector to collect and process attributes.
      This parameter is required.
    • renderProperties

      @Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String,Object> props)
      Overrides:
      renderProperties in class CfnResource
      Parameters:
      props - This parameter is required.
    • getAttrId

      @Stability(Stable) @NotNull public String getAttrId()
    • getCfnProperties

      @Stability(Stable) @NotNull protected Map<String,Object> getCfnProperties()
      Overrides:
      getCfnProperties in class CfnResource
    • getTags

      @Stability(Stable) @NotNull public TagManager getTags()
      Metadata which can be used to manage the pipeline.

      For more information, see Tag .

    • getPipelineActivities

      @Stability(Stable) @NotNull public Object getPipelineActivities()
      A list of "PipelineActivity" objects.

      Activities perform transformations on your messages, such as removing, renaming or adding message attributes; filtering messages based on attribute values; invoking your Lambda functions on messages for advanced processing; or performing mathematical transformations to normalize device data.

      The list can be 2-25 PipelineActivity objects and must contain both a channel and a datastore activity. Each entry in the list must contain only one activity, for example:

      pipelineActivities = [ { "channel": { ... } }, { "lambda": { ... } }, ... ]

    • setPipelineActivities

      @Stability(Stable) public void setPipelineActivities(@NotNull IResolvable value)
      A list of "PipelineActivity" objects.

      Activities perform transformations on your messages, such as removing, renaming or adding message attributes; filtering messages based on attribute values; invoking your Lambda functions on messages for advanced processing; or performing mathematical transformations to normalize device data.

      The list can be 2-25 PipelineActivity objects and must contain both a channel and a datastore activity. Each entry in the list must contain only one activity, for example:

      pipelineActivities = [ { "channel": { ... } }, { "lambda": { ... } }, ... ]

    • setPipelineActivities

      @Stability(Stable) public void setPipelineActivities(@NotNull List<Object> value)
      A list of "PipelineActivity" objects.

      Activities perform transformations on your messages, such as removing, renaming or adding message attributes; filtering messages based on attribute values; invoking your Lambda functions on messages for advanced processing; or performing mathematical transformations to normalize device data.

      The list can be 2-25 PipelineActivity objects and must contain both a channel and a datastore activity. Each entry in the list must contain only one activity, for example:

      pipelineActivities = [ { "channel": { ... } }, { "lambda": { ... } }, ... ]

    • getPipelineName

      @Stability(Stable) @Nullable public String getPipelineName()
      The name of the pipeline.
    • setPipelineName

      @Stability(Stable) public void setPipelineName(@Nullable String value)
      The name of the pipeline.