class Aws::IoTEvents::Types::CreateAlarmModelRequest

@note When making an API call, you may pass CreateAlarmModelRequest

data as a hash:

    {
      alarm_model_name: "AlarmModelName", # required
      alarm_model_description: "AlarmModelDescription",
      role_arn: "AmazonResourceName", # required
      tags: [
        {
          key: "TagKey", # required
          value: "TagValue", # required
        },
      ],
      key: "AttributeJsonPath",
      severity: 1,
      alarm_rule: { # required
        simple_rule: {
          input_property: "InputProperty", # required
          comparison_operator: "GREATER", # required, accepts GREATER, GREATER_OR_EQUAL, LESS, LESS_OR_EQUAL, EQUAL, NOT_EQUAL
          threshold: "Threshold", # required
        },
      },
      alarm_notification: {
        notification_actions: [
          {
            action: { # required
              lambda_action: {
                function_arn: "AmazonResourceName", # required
                payload: {
                  content_expression: "ContentExpression", # required
                  type: "STRING", # required, accepts STRING, JSON
                },
              },
            },
            sms_configurations: [
              {
                sender_id: "SMSSenderId",
                additional_message: "NotificationAdditionalMessage",
                recipients: [ # required
                  {
                    sso_identity: {
                      identity_store_id: "IdentityStoreId", # required
                      user_id: "SSOReferenceId",
                    },
                  },
                ],
              },
            ],
            email_configurations: [
              {
                from: "FromEmail", # required
                content: {
                  subject: "EmailSubject",
                  additional_message: "NotificationAdditionalMessage",
                },
                recipients: { # required
                  to: [
                    {
                      sso_identity: {
                        identity_store_id: "IdentityStoreId", # required
                        user_id: "SSOReferenceId",
                      },
                    },
                  ],
                },
              },
            ],
          },
        ],
      },
      alarm_event_actions: {
        alarm_actions: [
          {
            sns: {
              target_arn: "AmazonResourceName", # required
              payload: {
                content_expression: "ContentExpression", # required
                type: "STRING", # required, accepts STRING, JSON
              },
            },
            iot_topic_publish: {
              mqtt_topic: "MQTTTopic", # required
              payload: {
                content_expression: "ContentExpression", # required
                type: "STRING", # required, accepts STRING, JSON
              },
            },
            lambda: {
              function_arn: "AmazonResourceName", # required
              payload: {
                content_expression: "ContentExpression", # required
                type: "STRING", # required, accepts STRING, JSON
              },
            },
            iot_events: {
              input_name: "InputName", # required
              payload: {
                content_expression: "ContentExpression", # required
                type: "STRING", # required, accepts STRING, JSON
              },
            },
            sqs: {
              queue_url: "QueueUrl", # required
              use_base_64: false,
              payload: {
                content_expression: "ContentExpression", # required
                type: "STRING", # required, accepts STRING, JSON
              },
            },
            firehose: {
              delivery_stream_name: "DeliveryStreamName", # required
              separator: "FirehoseSeparator",
              payload: {
                content_expression: "ContentExpression", # required
                type: "STRING", # required, accepts STRING, JSON
              },
            },
            dynamo_db: {
              hash_key_type: "DynamoKeyType",
              hash_key_field: "DynamoKeyField", # required
              hash_key_value: "DynamoKeyValue", # required
              range_key_type: "DynamoKeyType",
              range_key_field: "DynamoKeyField",
              range_key_value: "DynamoKeyValue",
              operation: "DynamoOperation",
              payload_field: "DynamoKeyField",
              table_name: "DynamoTableName", # required
              payload: {
                content_expression: "ContentExpression", # required
                type: "STRING", # required, accepts STRING, JSON
              },
            },
            dynamo_d_bv_2: {
              table_name: "DynamoTableName", # required
              payload: {
                content_expression: "ContentExpression", # required
                type: "STRING", # required, accepts STRING, JSON
              },
            },
            iot_site_wise: {
              entry_id: "AssetPropertyEntryId",
              asset_id: "AssetId",
              property_id: "AssetPropertyId",
              property_alias: "AssetPropertyAlias",
              property_value: {
                value: {
                  string_value: "AssetPropertyStringValue",
                  integer_value: "AssetPropertyIntegerValue",
                  double_value: "AssetPropertyDoubleValue",
                  boolean_value: "AssetPropertyBooleanValue",
                },
                timestamp: {
                  time_in_seconds: "AssetPropertyTimeInSeconds", # required
                  offset_in_nanos: "AssetPropertyOffsetInNanos",
                },
                quality: "AssetPropertyQuality",
              },
            },
          },
        ],
      },
      alarm_capabilities: {
        initialization_configuration: {
          disabled_on_initialization: false, # required
        },
        acknowledge_flow: {
          enabled: false, # required
        },
      },
    }

@!attribute [rw] alarm_model_name

A unique name that helps you identify the alarm model. You can't
change this name after you create the alarm model.
@return [String]

@!attribute [rw] alarm_model_description

A description that tells you what the alarm model detects.
@return [String]

@!attribute [rw] role_arn

The ARN of the IAM role that allows the alarm to perform actions and
access AWS resources. For more information, see [Amazon Resource
Names (ARNs)][1] in the *AWS General Reference*.

[1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
@return [String]

@!attribute [rw] tags

A list of key-value pairs that contain metadata for the alarm model.
The tags help you manage the alarm model. For more information, see
[Tagging your AWS IoT Events resources][1] in the *AWS IoT Events
Developer Guide*.

You can create up to 50 tags for one alarm model.

[1]: https://docs.aws.amazon.com/iotevents/latest/developerguide/tagging-iotevents.html
@return [Array<Types::Tag>]

@!attribute [rw] key

An input attribute used as a key to create an alarm. AWS IoT Events
routes [inputs][1] associated with this key to the alarm.

[1]: https://docs.aws.amazon.com/iotevents/latest/apireference/API_Input.html
@return [String]

@!attribute [rw] severity

A non-negative integer that reflects the severity level of the
alarm.
@return [Integer]

@!attribute [rw] alarm_rule

Defines when your alarm is invoked.
@return [Types::AlarmRule]

@!attribute [rw] alarm_notification

Contains information about one or more notification actions.
@return [Types::AlarmNotification]

@!attribute [rw] alarm_event_actions

Contains information about one or more alarm actions.
@return [Types::AlarmEventActions]

@!attribute [rw] alarm_capabilities

Contains the configuration information of alarm state changes.
@return [Types::AlarmCapabilities]

Constants

SENSITIVE