Amazon CloudWatch · Schema

PutCompositeAlarmInput

Amazon Web ServicesCloudWatchMonitoringObservabilityMetricsLogs

Properties

Name Type Description
ActionsEnabled boolean Indicates whether actions should be executed during any changes to the alarm state of the composite alarm. The default is TRUE.
AlarmActions array The actions to execute when this alarm transitions to the ALARM state from any other state. Each action is specified as an Amazon Resource Name (ARN). Valid Values: ] Amazon SNS actions: arn:aws:sns:r
AlarmDescription string The description for the composite alarm.
AlarmName string The name for the composite alarm. This name must be unique within the Region.
AlarmRule string An expression that specifies which other alarms are to be evaluated to determine this composite alarm's state. For each alarm that you reference, you designate a function that specifies whether that a
InsufficientDataActions array The actions to execute when this alarm transitions to the INSUFFICIENT_DATA state from any other state. Each action is specified as an Amazon Resource Name (ARN). Valid Values: ] Amazon SNS actions: a
OKActions array The actions to execute when this alarm transitions to an OK state from any other state. Each action is specified as an Amazon Resource Name (ARN). Valid Values: ] Amazon SNS actions: arn:aws:sns:regio
Tags array A list of key-value pairs to associate with the alarm. You can associate as many as 50 tags with an alarm. To be able to associate tags with the alarm when you create the alarm, you must have the clou
ActionsSuppressor string Actions will be suppressed if the suppressor alarm is in the ALARM state. ActionsSuppressor can be an AlarmName or an Amazon Resource Name (ARN) from an existing alarm.
ActionsSuppressorWaitPeriod integer The maximum time in seconds that the composite alarm waits for the suppressor alarm to go into the ALARM state. After this time, the composite alarm performs its actions. WaitPeriod is required only w
ActionsSuppressorExtensionPeriod integer The maximum time in seconds that the composite alarm waits after suppressor alarm goes out of the ALARM state. After this time, the composite alarm performs its actions. ExtensionPeriod is required on
ActionConfiguration object
View JSON Schema on GitHub

JSON Schema

amazon-cloudwatch-put-composite-alarm-input-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/amazon-cloudwatch/json-schema/amazon-cloudwatch-put-composite-alarm-input-schema.json",
  "title": "PutCompositeAlarmInput",
  "x-generated": "2026-11-11",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/amazon-cloudwatch-amazon-cloudwatch-api-api-openapi.yml#/components/schemas/PutCompositeAlarmInput",
  "type": "object",
  "properties": {
    "ActionsEnabled": {
      "type": "boolean",
      "description": "Indicates whether actions should be executed during any changes to the alarm state of the composite alarm. The default is TRUE."
    },
    "AlarmActions": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The actions to execute when this alarm transitions to the ALARM state from any other state. Each action is specified as an Amazon Resource Name (ARN). Valid Values: ] Amazon SNS actions: arn:aws:sns:region:account-id:sns-topic-name Lambda actions: Invoke the latest version of a Lambda function: arn:aws:lambda:region:account-id:function:function-name Invoke a specific version of a Lambda function: arn:aws:lambda:region:account-id:function:function-name:version-number Invoke a function by using an alias Lambda function: arn:aws:lambda:region:account-id:function:function-name:alias-name Systems M"
    },
    "AlarmDescription": {
      "type": "string",
      "description": "The description for the composite alarm."
    },
    "AlarmName": {
      "type": "string",
      "description": "The name for the composite alarm. This name must be unique within the Region."
    },
    "AlarmRule": {
      "type": "string",
      "description": "An expression that specifies which other alarms are to be evaluated to determine this composite alarm's state. For each alarm that you reference, you designate a function that specifies whether that alarm needs to be in ALARM state, OK state, or INSUFFICIENT_DATA state. You can use operators (AND, OR and NOT) to combine multiple functions in a single expression. You can use parenthesis to logically group the functions in your expression. You can use either alarm names or ARNs to reference the other alarms that are to be evaluated. Functions can include the following: ALARM(\"alarm-name or alarm"
    },
    "InsufficientDataActions": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The actions to execute when this alarm transitions to the INSUFFICIENT_DATA state from any other state. Each action is specified as an Amazon Resource Name (ARN). Valid Values: ] Amazon SNS actions: arn:aws:sns:region:account-id:sns-topic-name Lambda actions: Invoke the latest version of a Lambda function: arn:aws:lambda:region:account-id:function:function-name Invoke a specific version of a Lambda function: arn:aws:lambda:region:account-id:function:function-name:version-number Invoke a function by using an alias Lambda function: arn:aws:lambda:region:account-id:function:function-name:alias-na"
    },
    "OKActions": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The actions to execute when this alarm transitions to an OK state from any other state. Each action is specified as an Amazon Resource Name (ARN). Valid Values: ] Amazon SNS actions: arn:aws:sns:region:account-id:sns-topic-name Lambda actions: Invoke the latest version of a Lambda function: arn:aws:lambda:region:account-id:function:function-name Invoke a specific version of a Lambda function: arn:aws:lambda:region:account-id:function:function-name:version-number Invoke a function by using an alias Lambda function: arn:aws:lambda:region:account-id:function:function-name:alias-name"
    },
    "Tags": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/Tag"
      },
      "description": "A list of key-value pairs to associate with the alarm. You can associate as many as 50 tags with an alarm. To be able to associate tags with the alarm when you create the alarm, you must have the cloudwatch:TagResource permission. Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values. If you are using this operation to update an existing alarm, any tags you specify in this parameter are ignored. To change the tags of an existing alarm, use TagResource or "
    },
    "ActionsSuppressor": {
      "type": "string",
      "description": "Actions will be suppressed if the suppressor alarm is in the ALARM state. ActionsSuppressor can be an AlarmName or an Amazon Resource Name (ARN) from an existing alarm."
    },
    "ActionsSuppressorWaitPeriod": {
      "type": "integer",
      "description": "The maximum time in seconds that the composite alarm waits for the suppressor alarm to go into the ALARM state. After this time, the composite alarm performs its actions. WaitPeriod is required only when ActionsSuppressor is specified."
    },
    "ActionsSuppressorExtensionPeriod": {
      "type": "integer",
      "description": "The maximum time in seconds that the composite alarm waits after suppressor alarm goes out of the ALARM state. After this time, the composite alarm performs its actions. ExtensionPeriod is required only when ActionsSuppressor is specified."
    },
    "ActionConfiguration": {
      "$ref": "#/$defs/ActionConfiguration"
    }
  },
  "required": [
    "AlarmName",
    "AlarmRule"
  ],
  "$defs": {
    "ActionConfiguration": {
      "type": "object",
      "properties": {
        "AlarmTagsPropagation": {
          "$ref": "#/$defs/AlarmTagsPropagation"
        }
      }
    },
    "AlarmTagsPropagation": {
      "type": "object",
      "properties": {
        "Enabled": {
          "type": "boolean",
          "description": "Set to true to include the alarm's tags. Set to false to stop including them. When this is true, you must have the cloudwatch:ListTagsForResource permission on the alarm to create or update it."
        },
        "IncludedTagKeys": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The tag keys to include. Only the alarm's tags with these keys are included. You can specify 1 to 50 tag keys. Each tag key must be 1 to 128 characters long. You can't specify both IncludedTagKeys and ExcludedTagKeys."
        },
        "ExcludedTagKeys": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The tag keys to exclude. All of the alarm's tags except those with these keys are included. You can specify 1 to 50 tag keys. Each tag key must be 1 to 128 characters long. You can't specify both IncludedTagKeys and ExcludedTagKeys."
        }
      },
      "required": [
        "Enabled"
      ]
    },
    "Tag": {
      "type": "object",
      "properties": {
        "Key": {
          "type": "string",
          "description": "A string that you can use to assign a value. The combination of tag keys and values can help you organize and categorize your resources."
        },
        "Value": {
          "type": "string",
          "description": "The value for the specified tag key."
        }
      },
      "required": [
        "Key",
        "Value"
      ]
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/amazon-cloudwatch-put-composite-alarm-input"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.