import { Command as $Command } from "@smithy/core/client"; import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { IoTEventsClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../IoTEventsClient"; import type { CreateAlarmModelRequest, CreateAlarmModelResponse } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link CreateAlarmModelCommand}. */ export interface CreateAlarmModelCommandInput extends CreateAlarmModelRequest { } /** * @public * * The output of {@link CreateAlarmModelCommand}. */ export interface CreateAlarmModelCommandOutput extends CreateAlarmModelResponse, __MetadataBearer { } declare const CreateAlarmModelCommand_base: { new (input: CreateAlarmModelCommandInput): import("@smithy/core/client").CommandImpl; new (input: CreateAlarmModelCommandInput): import("@smithy/core/client").CommandImpl; getEndpointParameterInstructions(): { [x: string]: unknown; }; }; /** *

Creates an alarm model to monitor an AWS IoT Events input attribute. You can use the alarm to get * notified when the value is outside a specified range. For more information, see Create an * alarm model in the AWS IoT Events Developer Guide.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { IoTEventsClient, CreateAlarmModelCommand } from "@aws-sdk/client-iot-events"; // ES Modules import * // const { IoTEventsClient, CreateAlarmModelCommand } = require("@aws-sdk/client-iot-events"); // CommonJS import * // import type { IoTEventsClientConfig } from "@aws-sdk/client-iot-events"; * const config = {}; // type is IoTEventsClientConfig * const client = new IoTEventsClient(config); * const input = { // CreateAlarmModelRequest * alarmModelName: "STRING_VALUE", // required * alarmModelDescription: "STRING_VALUE", * roleArn: "STRING_VALUE", // required * tags: [ // Tags * { // Tag * key: "STRING_VALUE", // required * value: "STRING_VALUE", // required * }, * ], * key: "STRING_VALUE", * severity: Number("int"), * alarmRule: { // AlarmRule * simpleRule: { // SimpleRule * inputProperty: "STRING_VALUE", // required * comparisonOperator: "GREATER" || "GREATER_OR_EQUAL" || "LESS" || "LESS_OR_EQUAL" || "EQUAL" || "NOT_EQUAL", // required * threshold: "STRING_VALUE", // required * }, * }, * alarmNotification: { // AlarmNotification * notificationActions: [ // NotificationActions * { // NotificationAction * action: { // NotificationTargetActions * lambdaAction: { // LambdaAction * functionArn: "STRING_VALUE", // required * payload: { // Payload * contentExpression: "STRING_VALUE", // required * type: "STRING" || "JSON", // required * }, * }, * }, * smsConfigurations: [ // SMSConfigurations * { // SMSConfiguration * senderId: "STRING_VALUE", * additionalMessage: "STRING_VALUE", * recipients: [ // RecipientDetails // required * { // RecipientDetail * ssoIdentity: { // SSOIdentity * identityStoreId: "STRING_VALUE", // required * userId: "STRING_VALUE", * }, * }, * ], * }, * ], * emailConfigurations: [ // EmailConfigurations * { // EmailConfiguration * from: "STRING_VALUE", // required * content: { // EmailContent * subject: "STRING_VALUE", * additionalMessage: "STRING_VALUE", * }, * recipients: { // EmailRecipients * to: [ * { * ssoIdentity: { * identityStoreId: "STRING_VALUE", // required * userId: "STRING_VALUE", * }, * }, * ], * }, * }, * ], * }, * ], * }, * alarmEventActions: { // AlarmEventActions * alarmActions: [ // AlarmActions * { // AlarmAction * sns: { // SNSTopicPublishAction * targetArn: "STRING_VALUE", // required * payload: { * contentExpression: "STRING_VALUE", // required * type: "STRING" || "JSON", // required * }, * }, * iotTopicPublish: { // IotTopicPublishAction * mqttTopic: "STRING_VALUE", // required * payload: { * contentExpression: "STRING_VALUE", // required * type: "STRING" || "JSON", // required * }, * }, * lambda: { * functionArn: "STRING_VALUE", // required * payload: { * contentExpression: "STRING_VALUE", // required * type: "STRING" || "JSON", // required * }, * }, * iotEvents: { // IotEventsAction * inputName: "STRING_VALUE", // required * payload: { * contentExpression: "STRING_VALUE", // required * type: "STRING" || "JSON", // required * }, * }, * sqs: { // SqsAction * queueUrl: "STRING_VALUE", // required * useBase64: true || false, * payload: "", * }, * firehose: { // FirehoseAction * deliveryStreamName: "STRING_VALUE", // required * separator: "STRING_VALUE", * payload: "", * }, * dynamoDB: { // DynamoDBAction * hashKeyType: "STRING_VALUE", * hashKeyField: "STRING_VALUE", // required * hashKeyValue: "STRING_VALUE", // required * rangeKeyType: "STRING_VALUE", * rangeKeyField: "STRING_VALUE", * rangeKeyValue: "STRING_VALUE", * operation: "STRING_VALUE", * payloadField: "STRING_VALUE", * tableName: "STRING_VALUE", // required * payload: "", * }, * dynamoDBv2: { // DynamoDBv2Action * tableName: "STRING_VALUE", // required * payload: "", * }, * iotSiteWise: { // IotSiteWiseAction * entryId: "STRING_VALUE", * assetId: "STRING_VALUE", * propertyId: "STRING_VALUE", * propertyAlias: "STRING_VALUE", * propertyValue: { // AssetPropertyValue * value: { // AssetPropertyVariant * stringValue: "STRING_VALUE", * integerValue: "STRING_VALUE", * doubleValue: "STRING_VALUE", * booleanValue: "STRING_VALUE", * }, * timestamp: { // AssetPropertyTimestamp * timeInSeconds: "STRING_VALUE", // required * offsetInNanos: "STRING_VALUE", * }, * quality: "STRING_VALUE", * }, * }, * }, * ], * }, * alarmCapabilities: { // AlarmCapabilities * initializationConfiguration: { // InitializationConfiguration * disabledOnInitialization: true || false, // required * }, * acknowledgeFlow: { // AcknowledgeFlow * enabled: true || false, // required * }, * }, * }; * const command = new CreateAlarmModelCommand(input); * const response = await client.send(command); * // { // CreateAlarmModelResponse * // creationTime: new Date("TIMESTAMP"), * // alarmModelArn: "STRING_VALUE", * // alarmModelVersion: "STRING_VALUE", * // lastUpdateTime: new Date("TIMESTAMP"), * // status: "ACTIVE" || "ACTIVATING" || "INACTIVE" || "FAILED", * // }; * * ``` * * @param CreateAlarmModelCommandInput - {@link CreateAlarmModelCommandInput} * @returns {@link CreateAlarmModelCommandOutput} * @see {@link CreateAlarmModelCommandInput} for command's `input` shape. * @see {@link CreateAlarmModelCommandOutput} for command's `response` shape. * @see {@link IoTEventsClientResolvedConfig | config} for IoTEventsClient's `config` shape. * * @throws {@link InternalFailureException} (server fault) *

An internal failure occurred.

* * @throws {@link InvalidRequestException} (client fault) *

The request was invalid.

* * @throws {@link LimitExceededException} (client fault) *

A limit was exceeded.

* * @throws {@link ResourceAlreadyExistsException} (client fault) *

The resource already exists.

* * @throws {@link ResourceInUseException} (client fault) *

The resource is in use.

* * @throws {@link ServiceUnavailableException} (server fault) *

The service is currently unavailable.

* * @throws {@link ThrottlingException} (client fault) *

The request could not be completed due to throttling.

* * @throws {@link IoTEventsServiceException} *

Base exception class for all service exceptions from IoTEvents service.

* * * @public */ export declare class CreateAlarmModelCommand extends CreateAlarmModelCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: CreateAlarmModelRequest; output: CreateAlarmModelResponse; }; sdk: { input: CreateAlarmModelCommandInput; output: CreateAlarmModelCommandOutput; }; }; }