@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)
101 lines (100 loc) • 6.61 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
import * as enums from "../types/enums";
/**
* The AWS::IoTEvents::DetectorModel resource creates a detector model. You create a *detector model* (a model of your equipment or process) using *states*. For each state, you define conditional (Boolean) logic that evaluates the incoming inputs to detect significant events. When an event is detected, it can change the state or trigger custom-built or predefined actions using other AWS services. You can define additional events that trigger actions when entering or exiting a state and, optionally, when a condition is met. For more information, see [How to Use](https://docs.aws.amazon.com/iotevents/latest/developerguide/how-to-use-iotevents.html) in the *Developer Guide*.
* When you successfully update a detector model (using the ITE console, ITE API or CLI commands, or CFN) all detector instances created by the model are reset to their initial states. (The detector's ``state``, and the values of any variables and timers are reset.)
* When you successfully update a detector model (using the ITE console, ITE API or CLI commands, or CFN) the version number of the detector model is incremented. (A detector model with version number 1 before the update has version number 2 after the update succeeds.)
* If you attempt to update a detector model using CFN and the update does not succeed, the system may, in some cases, restore the original detector model. When this occurs, the detector model's version is incremented twice (for example, from version 1 to version 3) and the detector instances are reset.
* Also, be aware that if you attempt to update several detector models at once using CFN, some updates may succeed and others fail. In this case, the effects on each detector model's detector instances and version number depend on whether the update succeeded or failed, with the results as stated.
*/
export declare class DetectorModel extends pulumi.CustomResource {
/**
* Get an existing DetectorModel 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): DetectorModel;
/**
* Returns true if the given object is an instance of DetectorModel. 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 DetectorModel;
/**
* Information that defines how a detector operates.
*/
readonly detectorModelDefinition: pulumi.Output<outputs.iotevents.DetectorModelDefinition>;
/**
* A brief description of the detector model.
*/
readonly detectorModelDescription: pulumi.Output<string | undefined>;
/**
* The name of the detector model.
*/
readonly detectorModelName: pulumi.Output<string | undefined>;
/**
* Information about the order in which events are evaluated and how actions are executed.
*/
readonly evaluationMethod: pulumi.Output<enums.iotevents.DetectorModelEvaluationMethod | undefined>;
/**
* The value used to identify a detector instance. When a device or system sends input, a new detector instance with a unique key value is created. ITE can continue to route input to its corresponding detector instance based on this identifying information.
* This parameter uses a JSON-path expression to select the attribute-value pair in the message payload that is used for identification. To route the message to the correct detector instance, the device must send a message payload that contains the same attribute-value.
*/
readonly key: pulumi.Output<string | undefined>;
/**
* The ARN of the role that grants permission to ITE to perform its operations.
*/
readonly roleArn: pulumi.Output<string>;
/**
* An array of key-value pairs to apply to this resource.
* 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 DetectorModel 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: DetectorModelArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* The set of arguments for constructing a DetectorModel resource.
*/
export interface DetectorModelArgs {
/**
* Information that defines how a detector operates.
*/
detectorModelDefinition: pulumi.Input<inputs.iotevents.DetectorModelDefinitionArgs>;
/**
* A brief description of the detector model.
*/
detectorModelDescription?: pulumi.Input<string>;
/**
* The name of the detector model.
*/
detectorModelName?: pulumi.Input<string>;
/**
* Information about the order in which events are evaluated and how actions are executed.
*/
evaluationMethod?: pulumi.Input<enums.iotevents.DetectorModelEvaluationMethod>;
/**
* The value used to identify a detector instance. When a device or system sends input, a new detector instance with a unique key value is created. ITE can continue to route input to its corresponding detector instance based on this identifying information.
* This parameter uses a JSON-path expression to select the attribute-value pair in the message payload that is used for identification. To route the message to the correct detector instance, the device must send a message payload that contains the same attribute-value.
*/
key?: pulumi.Input<string>;
/**
* The ARN of the role that grants permission to ITE to perform its operations.
*/
roleArn: pulumi.Input<string>;
/**
* An array of key-value pairs to apply to this resource.
* 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>[]>;
}