{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--aws-cloudwatch-compositealarm.json",
  "title": "AWSCloudWatchCompositeAlarmProperties",
  "description": "The AWS::CloudWatch::CompositeAlarm type specifies an alarm which aggregates the states of other Alarms (Metric or Composite Alarms) as defined by the AlarmRule expression. Source:- <https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudwatch.git>",
  "x-lintel": {
    "source": "https://raw.githubusercontent.com/lalcebo/json-schema/master/serverless/resources/cloudformation-modified/aws-cloudwatch-compositealarm.json",
    "sourceSha256": "41015e8b4a060bd15f2d213fcd30824e31b094d92d9a6b70ebdb019c1752f3e7"
  },
  "type": "object",
  "properties": {
    "AlarmName": {
      "oneOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 255
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "description": "The name of the Composite Alarm"
    },
    "AlarmRule": {
      "oneOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 10240
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "description": "Expression which aggregates the state of other Alarms (Metric or Composite Alarms)"
    },
    "AlarmDescription": {
      "oneOf": [
        {
          "type": "string",
          "minLength": 0,
          "maxLength": 1024
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "description": "The description of the alarm"
    },
    "ActionsEnabled": {
      "description": "Indicates whether actions should be executed during any changes to the alarm state. The default is TRUE.",
      "type": "boolean"
    },
    "OKActions": {
      "type": "array",
      "items": {
        "type": "string",
        "description": "Amazon Resource Name (ARN) of the action",
        "minLength": 1,
        "maxLength": 1024
      },
      "description": "The actions to execute when this alarm transitions to the OK state from any other state. Each action is specified as an Amazon Resource Name (ARN).",
      "maxItems": 5
    },
    "AlarmActions": {
      "type": "array",
      "items": {
        "type": "string",
        "description": "Amazon Resource Name (ARN) of the action",
        "minLength": 1,
        "maxLength": 1024
      },
      "description": "The list of actions to execute when this alarm transitions into an ALARM state from any other state. Specify each action as an Amazon Resource Name (ARN).",
      "maxItems": 5
    },
    "InsufficientDataActions": {
      "type": "array",
      "items": {
        "type": "string",
        "description": "Amazon Resource Name (ARN) of the action",
        "minLength": 1,
        "maxLength": 1024
      },
      "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).",
      "maxItems": 5
    },
    "ActionsSuppressor": {
      "oneOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 1600
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "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": {
      "description": "Actions will be suppressed if ExtensionPeriod is active. The length of time that actions are suppressed is in seconds.",
      "type": "integer",
      "minimum": 0
    },
    "ActionsSuppressorExtensionPeriod": {
      "description": "Actions will be suppressed if WaitPeriod is active. The length of time that actions are suppressed is in seconds.",
      "type": "integer",
      "minimum": 0
    }
  },
  "typeName": "AWS::CloudWatch::CompositeAlarm",
  "tagging": {
    "taggable": false
  },
  "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudwatch.git",
  "additionalProperties": false,
  "required": [
    "AlarmRule"
  ],
  "readOnlyProperties": [
    "/properties/Arn"
  ],
  "createOnlyProperties": [
    "/properties/AlarmName"
  ],
  "primaryIdentifier": [
    "/properties/AlarmName"
  ]
}
