@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
TypeScript
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>[]>;
}