Paws::IoT::CreateTopicRule - Arguments for method CreateTopicRule on Paws::IoT
This class represents the parameters used for calling the method CreateTopicRule on the AWS IoT service. Use the attributes of this class as arguments to method CreateTopicRule.
You shouldn't make instances of this class. Each attribute should be used as a named argument in the call to CreateTopicRule.
my $iot = Paws->service('IoT'); $iot->CreateTopicRule( RuleName => 'MyRuleName', TopicRulePayload => { Actions => [ { CloudwatchAlarm => { AlarmName => 'MyAlarmName', RoleArn => 'MyAwsArn', StateReason => 'MyStateReason', StateValue => 'MyStateValue', }, # OPTIONAL CloudwatchMetric => { MetricName => 'MyString', MetricNamespace => 'MyString', MetricUnit => 'MyString', MetricValue => 'MyString', RoleArn => 'MyAwsArn', MetricTimestamp => 'MyString', }, # OPTIONAL DynamoDB => { HashKeyField => 'MyHashKeyField', HashKeyValue => 'MyHashKeyValue', RoleArn => 'MyAwsArn', TableName => 'MyTableName', HashKeyType => 'STRING', # values: STRING, NUMBER; OPTIONAL Operation => 'MyDynamoOperation', # OPTIONAL PayloadField => 'MyPayloadField', # OPTIONAL RangeKeyField => 'MyRangeKeyField', # OPTIONAL RangeKeyType => 'STRING', # values: STRING, NUMBER; OPTIONAL RangeKeyValue => 'MyRangeKeyValue', # OPTIONAL }, # OPTIONAL DynamoDBv2 => { PutItem => { TableName => 'MyTableName', }, RoleArn => 'MyAwsArn', }, # OPTIONAL Elasticsearch => { Endpoint => 'MyElasticsearchEndpoint', Id => 'MyElasticsearchId', Index => 'MyElasticsearchIndex', RoleArn => 'MyAwsArn', Type => 'MyElasticsearchType', }, # OPTIONAL Firehose => { DeliveryStreamName => 'MyDeliveryStreamName', RoleArn => 'MyAwsArn', Separator => 'MyFirehoseSeparator', # OPTIONAL }, # OPTIONAL IotAnalytics => { ChannelArn => 'MyAwsArn', ChannelName => 'MyChannelName', # OPTIONAL RoleArn => 'MyAwsArn', }, # OPTIONAL IotEvents => { InputName => 'MyInputName', # min: 1, max: 128 RoleArn => 'MyAwsArn', MessageId => 'MyMessageId', # max: 128; OPTIONAL }, # OPTIONAL Kinesis => { RoleArn => 'MyAwsArn', StreamName => 'MyStreamName', PartitionKey => 'MyPartitionKey', # OPTIONAL }, # OPTIONAL Lambda => { FunctionArn => 'MyFunctionArn', }, # OPTIONAL Republish => { RoleArn => 'MyAwsArn', Topic => 'MyTopicPattern', }, # OPTIONAL S3 => { BucketName => 'MyBucketName', Key => 'MyKey', RoleArn => 'MyAwsArn', CannedAcl => 'private' , # values: private, public-read, public-read-write, aws-exec-read, authenticated-read, bucket-owner-read, bucket-owner-full-control, log-delivery-write; OPTIONAL }, # OPTIONAL Salesforce => { Token => 'MySalesforceToken', # min: 40 Url => 'MySalesforceEndpoint', # max: 2000 }, # OPTIONAL Sns => { RoleArn => 'MyAwsArn', TargetArn => 'MyAwsArn', MessageFormat => 'RAW', # values: RAW, JSON; OPTIONAL }, # OPTIONAL Sqs => { QueueUrl => 'MyQueueUrl', RoleArn => 'MyAwsArn', UseBase64 => 1, # OPTIONAL }, # OPTIONAL StepFunctions => { RoleArn => 'MyAwsArn', StateMachineName => 'MyStateMachineName', ExecutionNamePrefix => 'MyExecutionNamePrefix', # OPTIONAL }, # OPTIONAL }, ... ], # max: 10 Sql => 'MySQL', AwsIotSqlVersion => 'MyAwsIotSqlVersion', # OPTIONAL Description => 'MyDescription', # OPTIONAL ErrorAction => { CloudwatchAlarm => { AlarmName => 'MyAlarmName', RoleArn => 'MyAwsArn', StateReason => 'MyStateReason', StateValue => 'MyStateValue', }, # OPTIONAL CloudwatchMetric => { MetricName => 'MyString', MetricNamespace => 'MyString', MetricUnit => 'MyString', MetricValue => 'MyString', RoleArn => 'MyAwsArn', MetricTimestamp => 'MyString', }, # OPTIONAL DynamoDB => { HashKeyField => 'MyHashKeyField', HashKeyValue => 'MyHashKeyValue', RoleArn => 'MyAwsArn', TableName => 'MyTableName', HashKeyType => 'STRING', # values: STRING, NUMBER; OPTIONAL Operation => 'MyDynamoOperation', # OPTIONAL PayloadField => 'MyPayloadField', # OPTIONAL RangeKeyField => 'MyRangeKeyField', # OPTIONAL RangeKeyType => 'STRING', # values: STRING, NUMBER; OPTIONAL RangeKeyValue => 'MyRangeKeyValue', # OPTIONAL }, # OPTIONAL DynamoDBv2 => { PutItem => { TableName => 'MyTableName', }, RoleArn => 'MyAwsArn', }, # OPTIONAL Elasticsearch => { Endpoint => 'MyElasticsearchEndpoint', Id => 'MyElasticsearchId', Index => 'MyElasticsearchIndex', RoleArn => 'MyAwsArn', Type => 'MyElasticsearchType', }, # OPTIONAL Firehose => { DeliveryStreamName => 'MyDeliveryStreamName', RoleArn => 'MyAwsArn', Separator => 'MyFirehoseSeparator', # OPTIONAL }, # OPTIONAL IotAnalytics => { ChannelArn => 'MyAwsArn', ChannelName => 'MyChannelName', # OPTIONAL RoleArn => 'MyAwsArn', }, # OPTIONAL IotEvents => { InputName => 'MyInputName', # min: 1, max: 128 RoleArn => 'MyAwsArn', MessageId => 'MyMessageId', # max: 128; OPTIONAL }, # OPTIONAL Kinesis => { RoleArn => 'MyAwsArn', StreamName => 'MyStreamName', PartitionKey => 'MyPartitionKey', # OPTIONAL }, # OPTIONAL Lambda => { FunctionArn => 'MyFunctionArn', }, # OPTIONAL Republish => { RoleArn => 'MyAwsArn', Topic => 'MyTopicPattern', }, # OPTIONAL S3 => { BucketName => 'MyBucketName', Key => 'MyKey', RoleArn => 'MyAwsArn', CannedAcl => 'private' , # values: private, public-read, public-read-write, aws-exec-read, authenticated-read, bucket-owner-read, bucket-owner-full-control, log-delivery-write; OPTIONAL }, # OPTIONAL Salesforce => { Token => 'MySalesforceToken', # min: 40 Url => 'MySalesforceEndpoint', # max: 2000 }, # OPTIONAL Sns => { RoleArn => 'MyAwsArn', TargetArn => 'MyAwsArn', MessageFormat => 'RAW', # values: RAW, JSON; OPTIONAL }, # OPTIONAL Sqs => { QueueUrl => 'MyQueueUrl', RoleArn => 'MyAwsArn', UseBase64 => 1, # OPTIONAL }, # OPTIONAL StepFunctions => { RoleArn => 'MyAwsArn', StateMachineName => 'MyStateMachineName', ExecutionNamePrefix => 'MyExecutionNamePrefix', # OPTIONAL }, # OPTIONAL }, RuleDisabled => 1, # OPTIONAL }, Tags => 'MyString', # OPTIONAL );
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/iot/CreateTopicRule
The name of the rule.
Metadata which can be used to manage the topic rule.
For URI Request parameters use format: ...key1=value1&key2=value2...
For the CLI command-line parameter use format: --tags "key1=value1&key2=value2..."
For the cli-input-json file use format: "tags": "key1=value1&key2=value2..."
The rule payload.
This class forms part of Paws, documenting arguments for method CreateTopicRule in Paws::IoT
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
To install Paws::SDK::Config, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Paws::SDK::Config
CPAN shell
perl -MCPAN -e shell install Paws::SDK::Config
For more information on module installation, please visit the detailed CPAN module installation guide.