NAME
Paws::IoTEvents::CreateDetectorModel - Arguments for method CreateDetectorModel on Paws::IoTEvents
DESCRIPTION
This class represents the parameters used for calling the method CreateDetectorModel on the AWS IoT Events service. Use the attributes of this class as arguments to method CreateDetectorModel.
You shouldn't make instances of this class. Each attribute should be used as a named argument in the call to CreateDetectorModel.
SYNOPSIS
my $iotevents = Paws->service('IoTEvents');
my $CreateDetectorModelResponse = $iotevents->CreateDetectorModel(
DetectorModelDefinition => {
InitialStateName => 'MyStateName', # min: 1, max: 128
States => [
{
StateName => 'MyStateName', # min: 1, max: 128
OnEnter => {
Events => [
{
EventName => 'MyEventName', # max: 128
Actions => [
{
ClearTimer => {
TimerName => 'MyTimerName', # min: 1, max: 128
}, # OPTIONAL
DynamoDB => {
HashKeyField => 'MyDynamoKeyField',
HashKeyValue => 'MyDynamoKeyValue',
TableName => 'MyDynamoTableName',
HashKeyType => 'MyDynamoKeyType', # OPTIONAL
Operation => 'MyDynamoOperation', # OPTIONAL
Payload => {
ContentExpression => 'MyContentExpression', # min: 1
Type => 'STRING', # values: STRING, JSON
}, # OPTIONAL
PayloadField => 'MyDynamoKeyField',
RangeKeyField => 'MyDynamoKeyField',
RangeKeyType => 'MyDynamoKeyType', # OPTIONAL
RangeKeyValue => 'MyDynamoKeyValue',
}, # OPTIONAL
DynamoDBv2 => {
TableName => 'MyDynamoTableName',
Payload => {
ContentExpression => 'MyContentExpression', # min: 1
Type => 'STRING', # values: STRING, JSON
}, # OPTIONAL
}, # OPTIONAL
Firehose => {
DeliveryStreamName => 'MyDeliveryStreamName',
Payload => {
ContentExpression => 'MyContentExpression', # min: 1
Type => 'STRING', # values: STRING, JSON
}, # OPTIONAL
Separator => 'MyFirehoseSeparator', # OPTIONAL
}, # OPTIONAL
IotEvents => {
InputName => 'MyInputName', # min: 1, max: 128
Payload => {
ContentExpression => 'MyContentExpression', # min: 1
Type => 'STRING', # values: STRING, JSON
}, # OPTIONAL
}, # OPTIONAL
IotSiteWise => {
AssetId => 'MyAssetId', # OPTIONAL
EntryId => 'MyAssetPropertyEntryId', # OPTIONAL
PropertyAlias => 'MyAssetPropertyAlias', # OPTIONAL
PropertyId => 'MyAssetPropertyId', # OPTIONAL
PropertyValue => {
Quality => 'MyAssetPropertyQuality', # OPTIONAL
Timestamp => {
TimeInSeconds => 'MyAssetPropertyTimeInSeconds',
OffsetInNanos =>
'MyAssetPropertyOffsetInNanos', # OPTIONAL
}, # OPTIONAL
Value => {
BooleanValue =>
'MyAssetPropertyBooleanValue', # OPTIONAL
DoubleValue =>
'MyAssetPropertyDoubleValue', # OPTIONAL
IntegerValue =>
'MyAssetPropertyIntegerValue', # OPTIONAL
StringValue =>
'MyAssetPropertyStringValue', # OPTIONAL
}, # OPTIONAL
}, # OPTIONAL
}, # OPTIONAL
IotTopicPublish => {
MqttTopic => 'MyMQTTTopic', # min: 1, max: 128
Payload => {
ContentExpression => 'MyContentExpression', # min: 1
Type => 'STRING', # values: STRING, JSON
}, # OPTIONAL
}, # OPTIONAL
Lambda => {
FunctionArn =>
'MyAmazonResourceName', # min: 1, max: 2048
Payload => {
ContentExpression => 'MyContentExpression', # min: 1
Type => 'STRING', # values: STRING, JSON
}, # OPTIONAL
}, # OPTIONAL
ResetTimer => {
TimerName => 'MyTimerName', # min: 1, max: 128
}, # OPTIONAL
SetTimer => {
TimerName => 'MyTimerName', # min: 1, max: 128
DurationExpression =>
'MyVariableValue', # min: 1, max: 1024; OPTIONAL
Seconds => 1, # min: 1, max: 31622400; OPTIONAL
}, # OPTIONAL
SetVariable => {
Value =>
'MyVariableValue', # min: 1, max: 1024; OPTIONAL
VariableName => 'MyVariableName', # min: 1, max: 128
}, # OPTIONAL
Sns => {
TargetArn => 'MyAmazonResourceName', # min: 1, max: 2048
Payload => {
ContentExpression => 'MyContentExpression', # min: 1
Type => 'STRING', # values: STRING, JSON
}, # OPTIONAL
}, # OPTIONAL
Sqs => {
QueueUrl => 'MyQueueUrl',
Payload => {
ContentExpression => 'MyContentExpression', # min: 1
Type => 'STRING', # values: STRING, JSON
}, # OPTIONAL
UseBase64 => 1, # OPTIONAL
}, # OPTIONAL
},
...
], # OPTIONAL
Condition => 'MyCondition', # max: 512; OPTIONAL
},
...
], # OPTIONAL
}, # OPTIONAL
OnExit => {
Events => [
{
EventName => 'MyEventName', # max: 128
Actions => [
{
ClearTimer => {
TimerName => 'MyTimerName', # min: 1, max: 128
}, # OPTIONAL
DynamoDB => {
HashKeyField => 'MyDynamoKeyField',
HashKeyValue => 'MyDynamoKeyValue',
TableName => 'MyDynamoTableName',
HashKeyType => 'MyDynamoKeyType', # OPTIONAL
Operation => 'MyDynamoOperation', # OPTIONAL
Payload => {
ContentExpression => 'MyContentExpression', # min: 1
Type => 'STRING', # values: STRING, JSON
}, # OPTIONAL
PayloadField => 'MyDynamoKeyField',
RangeKeyField => 'MyDynamoKeyField',
RangeKeyType => 'MyDynamoKeyType', # OPTIONAL
RangeKeyValue => 'MyDynamoKeyValue',
}, # OPTIONAL
DynamoDBv2 => {
TableName => 'MyDynamoTableName',
Payload => {
ContentExpression => 'MyContentExpression', # min: 1
Type => 'STRING', # values: STRING, JSON
}, # OPTIONAL
}, # OPTIONAL
Firehose => {
DeliveryStreamName => 'MyDeliveryStreamName',
Payload => {
ContentExpression => 'MyContentExpression', # min: 1
Type => 'STRING', # values: STRING, JSON
}, # OPTIONAL
Separator => 'MyFirehoseSeparator', # OPTIONAL
}, # OPTIONAL
IotEvents => {
InputName => 'MyInputName', # min: 1, max: 128
Payload => {
ContentExpression => 'MyContentExpression', # min: 1
Type => 'STRING', # values: STRING, JSON
}, # OPTIONAL
}, # OPTIONAL
IotSiteWise => {
AssetId => 'MyAssetId', # OPTIONAL
EntryId => 'MyAssetPropertyEntryId', # OPTIONAL
PropertyAlias => 'MyAssetPropertyAlias', # OPTIONAL
PropertyId => 'MyAssetPropertyId', # OPTIONAL
PropertyValue => {
Quality => 'MyAssetPropertyQuality', # OPTIONAL
Timestamp => {
TimeInSeconds => 'MyAssetPropertyTimeInSeconds',
OffsetInNanos =>
'MyAssetPropertyOffsetInNanos', # OPTIONAL
}, # OPTIONAL
Value => {
BooleanValue =>
'MyAssetPropertyBooleanValue', # OPTIONAL
DoubleValue =>
'MyAssetPropertyDoubleValue', # OPTIONAL
IntegerValue =>
'MyAssetPropertyIntegerValue', # OPTIONAL
StringValue =>
'MyAssetPropertyStringValue', # OPTIONAL
}, # OPTIONAL
}, # OPTIONAL
}, # OPTIONAL
IotTopicPublish => {
MqttTopic => 'MyMQTTTopic', # min: 1, max: 128
Payload => {
ContentExpression => 'MyContentExpression', # min: 1
Type => 'STRING', # values: STRING, JSON
}, # OPTIONAL
}, # OPTIONAL
Lambda => {
FunctionArn =>
'MyAmazonResourceName', # min: 1, max: 2048
Payload => {
ContentExpression => 'MyContentExpression', # min: 1
Type => 'STRING', # values: STRING, JSON
}, # OPTIONAL
}, # OPTIONAL
ResetTimer => {
TimerName => 'MyTimerName', # min: 1, max: 128
}, # OPTIONAL
SetTimer => {
TimerName => 'MyTimerName', # min: 1, max: 128
DurationExpression =>
'MyVariableValue', # min: 1, max: 1024; OPTIONAL
Seconds => 1, # min: 1, max: 31622400; OPTIONAL
}, # OPTIONAL
SetVariable => {
Value =>
'MyVariableValue', # min: 1, max: 1024; OPTIONAL
VariableName => 'MyVariableName', # min: 1, max: 128
}, # OPTIONAL
Sns => {
TargetArn => 'MyAmazonResourceName', # min: 1, max: 2048
Payload => {
ContentExpression => 'MyContentExpression', # min: 1
Type => 'STRING', # values: STRING, JSON
}, # OPTIONAL
}, # OPTIONAL
Sqs => {
QueueUrl => 'MyQueueUrl',
Payload => {
ContentExpression => 'MyContentExpression', # min: 1
Type => 'STRING', # values: STRING, JSON
}, # OPTIONAL
UseBase64 => 1, # OPTIONAL
}, # OPTIONAL
},
...
], # OPTIONAL
Condition => 'MyCondition', # max: 512; OPTIONAL
},
...
], # OPTIONAL
}, # OPTIONAL
OnInput => {
Events => [
{
EventName => 'MyEventName', # max: 128
Actions => [
{
ClearTimer => {
TimerName => 'MyTimerName', # min: 1, max: 128
}, # OPTIONAL
DynamoDB => {
HashKeyField => 'MyDynamoKeyField',
HashKeyValue => 'MyDynamoKeyValue',
TableName => 'MyDynamoTableName',
HashKeyType => 'MyDynamoKeyType', # OPTIONAL
Operation => 'MyDynamoOperation', # OPTIONAL
Payload => {
ContentExpression => 'MyContentExpression', # min: 1
Type => 'STRING', # values: STRING, JSON
}, # OPTIONAL
PayloadField => 'MyDynamoKeyField',
RangeKeyField => 'MyDynamoKeyField',
RangeKeyType => 'MyDynamoKeyType', # OPTIONAL
RangeKeyValue => 'MyDynamoKeyValue',
}, # OPTIONAL
DynamoDBv2 => {
TableName => 'MyDynamoTableName',
Payload => {
ContentExpression => 'MyContentExpression', # min: 1
Type => 'STRING', # values: STRING, JSON
}, # OPTIONAL
}, # OPTIONAL
Firehose => {
DeliveryStreamName => 'MyDeliveryStreamName',
Payload => {
ContentExpression => 'MyContentExpression', # min: 1
Type => 'STRING', # values: STRING, JSON
}, # OPTIONAL
Separator => 'MyFirehoseSeparator', # OPTIONAL
}, # OPTIONAL
IotEvents => {
InputName => 'MyInputName', # min: 1, max: 128
Payload => {
ContentExpression => 'MyContentExpression', # min: 1
Type => 'STRING', # values: STRING, JSON
}, # OPTIONAL
}, # OPTIONAL
IotSiteWise => {
AssetId => 'MyAssetId', # OPTIONAL
EntryId => 'MyAssetPropertyEntryId', # OPTIONAL
PropertyAlias => 'MyAssetPropertyAlias', # OPTIONAL
PropertyId => 'MyAssetPropertyId', # OPTIONAL
PropertyValue => {
Quality => 'MyAssetPropertyQuality', # OPTIONAL
Timestamp => {
TimeInSeconds => 'MyAssetPropertyTimeInSeconds',
OffsetInNanos =>
'MyAssetPropertyOffsetInNanos', # OPTIONAL
}, # OPTIONAL
Value => {
BooleanValue =>
'MyAssetPropertyBooleanValue', # OPTIONAL
DoubleValue =>
'MyAssetPropertyDoubleValue', # OPTIONAL
IntegerValue =>
'MyAssetPropertyIntegerValue', # OPTIONAL
StringValue =>
'MyAssetPropertyStringValue', # OPTIONAL
}, # OPTIONAL
}, # OPTIONAL
}, # OPTIONAL
IotTopicPublish => {
MqttTopic => 'MyMQTTTopic', # min: 1, max: 128
Payload => {
ContentExpression => 'MyContentExpression', # min: 1
Type => 'STRING', # values: STRING, JSON
}, # OPTIONAL
}, # OPTIONAL
Lambda => {
FunctionArn =>
'MyAmazonResourceName', # min: 1, max: 2048
Payload => {
ContentExpression => 'MyContentExpression', # min: 1
Type => 'STRING', # values: STRING, JSON
}, # OPTIONAL
}, # OPTIONAL
ResetTimer => {
TimerName => 'MyTimerName', # min: 1, max: 128
}, # OPTIONAL
SetTimer => {
TimerName => 'MyTimerName', # min: 1, max: 128
DurationExpression =>
'MyVariableValue', # min: 1, max: 1024; OPTIONAL
Seconds => 1, # min: 1, max: 31622400; OPTIONAL
}, # OPTIONAL
SetVariable => {
Value =>
'MyVariableValue', # min: 1, max: 1024; OPTIONAL
VariableName => 'MyVariableName', # min: 1, max: 128
}, # OPTIONAL
Sns => {
TargetArn => 'MyAmazonResourceName', # min: 1, max: 2048
Payload => {
ContentExpression => 'MyContentExpression', # min: 1
Type => 'STRING', # values: STRING, JSON
}, # OPTIONAL
}, # OPTIONAL
Sqs => {
QueueUrl => 'MyQueueUrl',
Payload => {
ContentExpression => 'MyContentExpression', # min: 1
Type => 'STRING', # values: STRING, JSON
}, # OPTIONAL
UseBase64 => 1, # OPTIONAL
}, # OPTIONAL
},
...
], # OPTIONAL
Condition => 'MyCondition', # max: 512; OPTIONAL
},
...
], # OPTIONAL
TransitionEvents => [
{
Condition => 'MyCondition', # max: 512; OPTIONAL
EventName => 'MyEventName', # max: 128
NextState => 'MyStateName', # min: 1, max: 128
Actions => [
{
ClearTimer => {
TimerName => 'MyTimerName', # min: 1, max: 128
}, # OPTIONAL
DynamoDB => {
HashKeyField => 'MyDynamoKeyField',
HashKeyValue => 'MyDynamoKeyValue',
TableName => 'MyDynamoTableName',
HashKeyType => 'MyDynamoKeyType', # OPTIONAL
Operation => 'MyDynamoOperation', # OPTIONAL
Payload => {
ContentExpression => 'MyContentExpression', # min: 1
Type => 'STRING', # values: STRING, JSON
}, # OPTIONAL
PayloadField => 'MyDynamoKeyField',
RangeKeyField => 'MyDynamoKeyField',
RangeKeyType => 'MyDynamoKeyType', # OPTIONAL
RangeKeyValue => 'MyDynamoKeyValue',
}, # OPTIONAL
DynamoDBv2 => {
TableName => 'MyDynamoTableName',
Payload => {
ContentExpression => 'MyContentExpression', # min: 1
Type => 'STRING', # values: STRING, JSON
}, # OPTIONAL
}, # OPTIONAL
Firehose => {
DeliveryStreamName => 'MyDeliveryStreamName',
Payload => {
ContentExpression => 'MyContentExpression', # min: 1
Type => 'STRING', # values: STRING, JSON
}, # OPTIONAL
Separator => 'MyFirehoseSeparator', # OPTIONAL
}, # OPTIONAL
IotEvents => {
InputName => 'MyInputName', # min: 1, max: 128
Payload => {
ContentExpression => 'MyContentExpression', # min: 1
Type => 'STRING', # values: STRING, JSON
}, # OPTIONAL
}, # OPTIONAL
IotSiteWise => {
AssetId => 'MyAssetId', # OPTIONAL
EntryId => 'MyAssetPropertyEntryId', # OPTIONAL
PropertyAlias => 'MyAssetPropertyAlias', # OPTIONAL
PropertyId => 'MyAssetPropertyId', # OPTIONAL
PropertyValue => {
Quality => 'MyAssetPropertyQuality', # OPTIONAL
Timestamp => {
TimeInSeconds => 'MyAssetPropertyTimeInSeconds',
OffsetInNanos =>
'MyAssetPropertyOffsetInNanos', # OPTIONAL
}, # OPTIONAL
Value => {
BooleanValue =>
'MyAssetPropertyBooleanValue', # OPTIONAL
DoubleValue =>
'MyAssetPropertyDoubleValue', # OPTIONAL
IntegerValue =>
'MyAssetPropertyIntegerValue', # OPTIONAL
StringValue =>
'MyAssetPropertyStringValue', # OPTIONAL
}, # OPTIONAL
}, # OPTIONAL
}, # OPTIONAL
IotTopicPublish => {
MqttTopic => 'MyMQTTTopic', # min: 1, max: 128
Payload => {
ContentExpression => 'MyContentExpression', # min: 1
Type => 'STRING', # values: STRING, JSON
}, # OPTIONAL
}, # OPTIONAL
Lambda => {
FunctionArn =>
'MyAmazonResourceName', # min: 1, max: 2048
Payload => {
ContentExpression => 'MyContentExpression', # min: 1
Type => 'STRING', # values: STRING, JSON
}, # OPTIONAL
}, # OPTIONAL
ResetTimer => {
TimerName => 'MyTimerName', # min: 1, max: 128
}, # OPTIONAL
SetTimer => {
TimerName => 'MyTimerName', # min: 1, max: 128
DurationExpression =>
'MyVariableValue', # min: 1, max: 1024; OPTIONAL
Seconds => 1, # min: 1, max: 31622400; OPTIONAL
}, # OPTIONAL
SetVariable => {
Value =>
'MyVariableValue', # min: 1, max: 1024; OPTIONAL
VariableName => 'MyVariableName', # min: 1, max: 128
}, # OPTIONAL
Sns => {
TargetArn => 'MyAmazonResourceName', # min: 1, max: 2048
Payload => {
ContentExpression => 'MyContentExpression', # min: 1
Type => 'STRING', # values: STRING, JSON
}, # OPTIONAL
}, # OPTIONAL
Sqs => {
QueueUrl => 'MyQueueUrl',
Payload => {
ContentExpression => 'MyContentExpression', # min: 1
Type => 'STRING', # values: STRING, JSON
}, # OPTIONAL
UseBase64 => 1, # OPTIONAL
}, # OPTIONAL
},
...
], # OPTIONAL
},
...
], # OPTIONAL
}, # OPTIONAL
},
...
], # min: 1
},
DetectorModelName => 'MyDetectorModelName',
RoleArn => 'MyAmazonResourceName',
DetectorModelDescription => 'MyDetectorModelDescription', # OPTIONAL
EvaluationMethod => 'BATCH', # OPTIONAL
Key => 'MyAttributeJsonPath', # OPTIONAL
Tags => [
{
Key => 'MyTagKey', # min: 1, max: 128
Value => 'MyTagValue', # max: 256
},
...
], # OPTIONAL
);
# Results:
my $DetectorModelConfiguration =
$CreateDetectorModelResponse->DetectorModelConfiguration;
# Returns a L<Paws::IoTEvents::CreateDetectorModelResponse> object.
Values for attributes that are native types (Int, String, Float, etc) can passed as-is (scalar values). Values for complex Types (objects) can be passed as a HashRef. The keys and values of the hashref will be used to instance the underlying object. For the AWS API documentation, see https://docs.aws.amazon.com/goto/WebAPI/iotevents/CreateDetectorModel
ATTRIBUTES
REQUIRED DetectorModelDefinition => Paws::IoTEvents::DetectorModelDefinition
Information that defines how the detectors operate.
DetectorModelDescription => Str
A brief description of the detector model.
REQUIRED DetectorModelName => Str
The name of the detector model.
EvaluationMethod => Str
Information about the order in which events are evaluated and how actions are executed.
Valid values are: "BATCH"
, "SERIAL"
Key => Str
The input attribute key used to identify a device or system to create a detector (an instance of the detector model) and then to route each input received to the appropriate detector (instance). This parameter uses a JSON-path expression in the message payload of each input to specify the attribute-value pair that is used to identify the device associated with the input.
REQUIRED RoleArn => Str
The ARN of the role that grants permission to AWS IoT Events to perform its operations.
Tags => ArrayRef[Paws::IoTEvents::Tag]
Metadata that can be used to manage the detector model.
SEE ALSO
This class forms part of Paws, documenting arguments for method CreateDetectorModel in Paws::IoTEvents
BUGS and CONTRIBUTIONS
The source code is located here: https://github.com/pplu/aws-sdk-perl
Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues