|
NAMEPaws::IoTEvents::CreateDetectorModel - Arguments for method CreateDetectorModel on Paws::IoTEvents DESCRIPTIONThis 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> ATTRIBUTESREQUIRED DetectorModelDefinition => Paws::IoTEvents::DetectorModelDefinitionInformation that defines how the detectors operate. DetectorModelDescription => StrA brief description of the detector model. REQUIRED DetectorModelName => StrThe name of the detector model. EvaluationMethod => StrInformation about the order in which events are evaluated and how actions are executed. Valid values are: "BATCH", "SERIAL" Key => StrThe 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 => StrThe 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 ALSOThis class forms part of Paws, documenting arguments for method CreateDetectorModel in Paws::IoTEvents BUGS and CONTRIBUTIONSThe source code is located here: <https://github.com/pplu/aws-sdk-perl> Please report bugs to: <https://github.com/pplu/aws-sdk-perl/issues>
|