NAME

Paws::IoTEvents::UpdateDetectorModel - Arguments for method UpdateDetectorModel on Paws::IoTEvents

DESCRIPTION

This class represents the parameters used for calling the method UpdateDetectorModel on the AWS IoT Events service. Use the attributes of this class as arguments to method UpdateDetectorModel.

You shouldn't make instances of this class. Each attribute should be used as a named argument in the call to UpdateDetectorModel.

SYNOPSIS

my $iotevents = Paws->service('IoTEvents');
my $UpdateDetectorModelResponse = $iotevents->UpdateDetectorModel(
  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
);

# Results:
my $DetectorModelConfiguration =
  $UpdateDetectorModelResponse->DetectorModelConfiguration;

# Returns a L<Paws::IoTEvents::UpdateDetectorModelResponse> 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/UpdateDetectorModel

ATTRIBUTES

REQUIRED DetectorModelDefinition => Paws::IoTEvents::DetectorModelDefinition

Information that defines how a detector operates.

DetectorModelDescription => Str

A brief description of the detector model.

REQUIRED DetectorModelName => Str

The name of the detector model that is updated.

EvaluationMethod => Str

Information about the order in which events are evaluated and how actions are executed.

Valid values are: "BATCH", "SERIAL"

REQUIRED RoleArn => Str

The ARN of the role that grants permission to AWS IoT Events to perform its operations.

SEE ALSO

This class forms part of Paws, documenting arguments for method UpdateDetectorModel 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