UNPKG

@pulumi/aws-native

Version:

The Pulumi AWS Cloud Control Provider enables you to build, deploy, and manage [any AWS resource that's supported by the AWS Cloud Control API](https://github.com/pulumi/pulumi-aws-native/blob/master/provider/cmd/pulumi-gen-aws-native/supported-types.txt)

273 lines (272 loc) • 9.97 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Resource Type definition for AWS::IoTAnalytics::Pipeline * * ## Example Usage * ### Example * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws_native from "@pulumi/aws-native"; * * const pipeline = new aws_native.iotanalytics.Pipeline("pipeline", { * pipelineName: "SimplePipeline", * pipelineActivities: [{ * channel: { * name: "ChannelActivity", * channelName: "SimpleChannel", * next: "DatastoreActivity", * }, * datastore: { * name: "DatastoreActivity", * datastoreName: "SimpleDatastore", * }, * }], * }); * * ``` * ### Example * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws_native from "@pulumi/aws-native"; * * const pipeline = new aws_native.iotanalytics.Pipeline("pipeline", { * pipelineName: "SimplePipeline", * pipelineActivities: [{ * channel: { * name: "ChannelActivity", * channelName: "SimpleChannel", * next: "DatastoreActivity", * }, * datastore: { * name: "DatastoreActivity", * datastoreName: "SimpleDatastore", * }, * }], * }); * * ``` * ### Example * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws_native from "@pulumi/aws-native"; * * const pipeline = new aws_native.iotanalytics.Pipeline("pipeline", { * pipelineName: "ComplexPipeline", * pipelineActivities: [{ * channel: { * name: "ChannelActivity", * channelName: "Channel", * next: "LambdaActivity", * }, * lambda: { * name: "LambdaActivity", * lambdaName: "Lambda", * batchSize: 1, * next: "AddAttributesActivity", * }, * addAttributes: { * name: "AddAttributesActivity", * attributes: { * key1: "attribute1", * key2: "attribute2", * }, * next: "RemoveAttributesActivity", * }, * removeAttributes: { * name: "RemoveAttributesActivity", * attributes: [ * "attribute1", * "attribute2", * ], * next: "SelectAttributesActivity", * }, * selectAttributes: { * name: "SelectAttributesActivity", * attributes: [ * "attribute1", * "attribute2", * ], * next: "FilterActivity", * }, * filter: { * name: "FilterActivity", * filter: "attribute1 > 40 AND attribute2 < 20", * next: "MathActivity", * }, * math: { * name: "MathActivity", * attribute: "attribute", * math: "attribute - 10", * next: "DeviceRegistryEnrichActivity", * }, * deviceRegistryEnrich: { * name: "DeviceRegistryEnrichActivity", * attribute: "attribute", * thingName: "thingName", * roleArn: "arn:aws:iam::<your_Account_Id>:role/Enrich", * next: "DeviceShadowEnrichActivity", * }, * deviceShadowEnrich: { * name: "DeviceShadowEnrichActivity", * attribute: "attribute", * thingName: "thingName", * roleArn: "arn:aws:iam::<your_Account_Id>:role/Enrich", * next: "DatastoreActivity", * }, * datastore: { * name: "DatastoreActivity", * datastoreName: "Datastore", * }, * }], * }); * * ``` * ### Example * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws_native from "@pulumi/aws-native"; * * const pipeline = new aws_native.iotanalytics.Pipeline("pipeline", { * pipelineName: "ComplexPipeline", * pipelineActivities: [{ * channel: { * name: "ChannelActivity", * channelName: "Channel", * next: "LambdaActivity", * }, * lambda: { * name: "LambdaActivity", * lambdaName: "Lambda", * batchSize: 1, * next: "AddAttributesActivity", * }, * addAttributes: { * name: "AddAttributesActivity", * attributes: { * key1: "attribute1", * key2: "attribute2", * }, * next: "RemoveAttributesActivity", * }, * removeAttributes: { * name: "RemoveAttributesActivity", * attributes: [ * "attribute1", * "attribute2", * ], * next: "SelectAttributesActivity", * }, * selectAttributes: { * name: "SelectAttributesActivity", * attributes: [ * "attribute1", * "attribute2", * ], * next: "FilterActivity", * }, * filter: { * name: "FilterActivity", * filter: "attribute1 > 40 AND attribute2 < 20", * next: "MathActivity", * }, * math: { * name: "MathActivity", * attribute: "attribute", * math: "attribute - 10", * next: "DeviceRegistryEnrichActivity", * }, * deviceRegistryEnrich: { * name: "DeviceRegistryEnrichActivity", * attribute: "attribute", * thingName: "thingName", * roleArn: "arn:aws:iam::<your_Account_Id>:role/Enrich", * next: "DeviceShadowEnrichActivity", * }, * deviceShadowEnrich: { * name: "DeviceShadowEnrichActivity", * attribute: "attribute", * thingName: "thingName", * roleArn: "arn:aws:iam::<your_Account_Id>:role/Enrich", * next: "DatastoreActivity", * }, * datastore: { * name: "DatastoreActivity", * datastoreName: "Datastore", * }, * }], * }); * * ``` */ export declare class Pipeline extends pulumi.CustomResource { /** * Get an existing Pipeline resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): Pipeline; /** * Returns true if the given object is an instance of Pipeline. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Pipeline; readonly awsId: pulumi.Output<string>; /** * 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": { ... } }, ... ]` */ readonly pipelineActivities: pulumi.Output<outputs.iotanalytics.PipelineActivity[]>; /** * The name of the pipeline. */ readonly pipelineName: pulumi.Output<string | undefined>; /** * Metadata which can be used to manage the pipeline. * * For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) . */ readonly tags: pulumi.Output<outputs.Tag[] | undefined>; /** * Create a Pipeline resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: PipelineArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a Pipeline resource. */ export interface PipelineArgs { /** * 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": { ... } }, ... ]` */ pipelineActivities: pulumi.Input<pulumi.Input<inputs.iotanalytics.PipelineActivityArgs>[]>; /** * The name of the pipeline. */ pipelineName?: pulumi.Input<string>; /** * Metadata which can be used to manage the pipeline. * * For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) . */ tags?: pulumi.Input<pulumi.Input<inputs.TagArgs>[]>; }