{
  "version":"2.0",
  "metadata":{
    "apiVersion":"2015-10-07",
    "endpointPrefix":"events",
    "jsonVersion":"1.1",
    "serviceFullName":"Amazon CloudWatch Events",
    "signatureVersion":"v4",
    "targetPrefix":"AWSEvents",
    "protocol":"json"
  },
  "operations":{
    "DeleteRule":{
      "name":"DeleteRule",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DeleteRuleRequest"},
      "errors":[
        {
          "shape":"ConcurrentModificationException",
          "exception":true
        },
        {
          "shape":"InternalException",
          "exception":true,
          "fault":true
        }
      ]
    },
    "DescribeRule":{
      "name":"DescribeRule",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeRuleRequest"},
      "output":{"shape":"DescribeRuleResponse"},
      "errors":[
        {
          "shape":"ResourceNotFoundException",
          "exception":true
        },
        {
          "shape":"InternalException",
          "exception":true,
          "fault":true
        }
      ]
    },
    "DisableRule":{
      "name":"DisableRule",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DisableRuleRequest"},
      "errors":[
        {
          "shape":"ResourceNotFoundException",
          "exception":true
        },
        {
          "shape":"ConcurrentModificationException",
          "exception":true
        },
        {
          "shape":"InternalException",
          "exception":true,
          "fault":true
        }
      ]
    },
    "EnableRule":{
      "name":"EnableRule",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"EnableRuleRequest"},
      "errors":[
        {
          "shape":"ResourceNotFoundException",
          "exception":true
        },
        {
          "shape":"ConcurrentModificationException",
          "exception":true
        },
        {
          "shape":"InternalException",
          "exception":true,
          "fault":true
        }
      ]
    },
    "ListRuleNamesByTarget":{
      "name":"ListRuleNamesByTarget",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListRuleNamesByTargetRequest"},
      "output":{"shape":"ListRuleNamesByTargetResponse"},
      "errors":[
        {
          "shape":"InternalException",
          "exception":true,
          "fault":true
        }
      ]
    },
    "ListRules":{
      "name":"ListRules",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListRulesRequest"},
      "output":{"shape":"ListRulesResponse"},
      "errors":[
        {
          "shape":"InternalException",
          "exception":true,
          "fault":true
        }
      ]
    },
    "ListTargetsByRule":{
      "name":"ListTargetsByRule",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListTargetsByRuleRequest"},
      "output":{"shape":"ListTargetsByRuleResponse"},
      "errors":[
        {
          "shape":"ResourceNotFoundException",
          "exception":true
        },
        {
          "shape":"InternalException",
          "exception":true,
          "fault":true
        }
      ]
    },
    "PutEvents":{
      "name":"PutEvents",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"PutEventsRequest"},
      "output":{"shape":"PutEventsResponse"},
      "errors":[
        {
          "shape":"InternalException",
          "exception":true,
          "fault":true
        }
      ]
    },
    "PutRule":{
      "name":"PutRule",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"PutRuleRequest"},
      "output":{"shape":"PutRuleResponse"},
      "errors":[
        {
          "shape":"InvalidEventPatternException",
          "exception":true
        },
        {
          "shape":"LimitExceededException",
          "exception":true
        },
        {
          "shape":"ConcurrentModificationException",
          "exception":true
        },
        {
          "shape":"InternalException",
          "exception":true,
          "fault":true
        }
      ]
    },
    "PutTargets":{
      "name":"PutTargets",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"PutTargetsRequest"},
      "output":{"shape":"PutTargetsResponse"},
      "errors":[
        {
          "shape":"ResourceNotFoundException",
          "exception":true
        },
        {
          "shape":"ConcurrentModificationException",
          "exception":true
        },
        {
          "shape":"LimitExceededException",
          "exception":true
        },
        {
          "shape":"InternalException",
          "exception":true,
          "fault":true
        }
      ]
    },
    "RemoveTargets":{
      "name":"RemoveTargets",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"RemoveTargetsRequest"},
      "output":{"shape":"RemoveTargetsResponse"},
      "errors":[
        {
          "shape":"ResourceNotFoundException",
          "exception":true
        },
        {
          "shape":"ConcurrentModificationException",
          "exception":true
        },
        {
          "shape":"InternalException",
          "exception":true,
          "fault":true
        }
      ]
    },
    "TestEventPattern":{
      "name":"TestEventPattern",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"TestEventPatternRequest"},
      "output":{"shape":"TestEventPatternResponse"},
      "errors":[
        {
          "shape":"InvalidEventPatternException",
          "exception":true
        },
        {
          "shape":"InternalException",
          "exception":true,
          "fault":true
        }
      ]
    }
  },
  "shapes":{
    "Boolean":{"type":"boolean"},
    "ConcurrentModificationException":{
      "type":"structure",
      "members":{
      },
      "exception":true
    },
    "DeleteRuleRequest":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{"shape":"RuleName"}
      }
    },
    "DescribeRuleRequest":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{"shape":"RuleName"}
      }
    },
    "DescribeRuleResponse":{
      "type":"structure",
      "members":{
        "Name":{"shape":"RuleName"},
        "Arn":{"shape":"RuleArn"},
        "EventPattern":{"shape":"EventPattern"},
        "ScheduleExpression":{"shape":"ScheduleExpression"},
        "State":{"shape":"RuleState"},
        "Description":{"shape":"RuleDescription"},
        "RoleArn":{"shape":"RoleArn"}
      }
    },
    "DisableRuleRequest":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{"shape":"RuleName"}
      }
    },
    "EnableRuleRequest":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{"shape":"RuleName"}
      }
    },
    "ErrorCode":{"type":"string"},
    "ErrorMessage":{"type":"string"},
    "EventId":{"type":"string"},
    "EventPattern":{
      "type":"string",
      "max":2048
    },
    "EventResource":{"type":"string"},
    "EventResourceList":{
      "type":"list",
      "member":{"shape":"EventResource"}
    },
    "EventTime":{"type":"timestamp"},
    "Integer":{"type":"integer"},
    "InternalException":{
      "type":"structure",
      "members":{
      },
      "exception":true,
      "fault":true
    },
    "InvalidEventPatternException":{
      "type":"structure",
      "members":{
      },
      "exception":true
    },
    "LimitExceededException":{
      "type":"structure",
      "members":{
      },
      "exception":true
    },
    "LimitMax100":{
      "type":"integer",
      "min":1,
      "max":100
    },
    "ListRuleNamesByTargetRequest":{
      "type":"structure",
      "required":["TargetArn"],
      "members":{
        "TargetArn":{"shape":"TargetArn"},
        "NextToken":{"shape":"NextToken"},
        "Limit":{"shape":"LimitMax100"}
      }
    },
    "ListRuleNamesByTargetResponse":{
      "type":"structure",
      "members":{
        "RuleNames":{"shape":"RuleNameList"},
        "NextToken":{"shape":"NextToken"}
      }
    },
    "ListRulesRequest":{
      "type":"structure",
      "members":{
        "NamePrefix":{"shape":"RuleName"},
        "NextToken":{"shape":"NextToken"},
        "Limit":{"shape":"LimitMax100"}
      }
    },
    "ListRulesResponse":{
      "type":"structure",
      "members":{
        "Rules":{"shape":"RuleResponseList"},
        "NextToken":{"shape":"NextToken"}
      }
    },
    "ListTargetsByRuleRequest":{
      "type":"structure",
      "required":["Rule"],
      "members":{
        "Rule":{"shape":"RuleName"},
        "NextToken":{"shape":"NextToken"},
        "Limit":{"shape":"LimitMax100"}
      }
    },
    "ListTargetsByRuleResponse":{
      "type":"structure",
      "members":{
        "Targets":{"shape":"TargetList"},
        "NextToken":{"shape":"NextToken"}
      }
    },
    "NextToken":{
      "type":"string",
      "min":1,
      "max":2048
    },
    "PutEventsRequest":{
      "type":"structure",
      "required":["Entries"],
      "members":{
        "Entries":{"shape":"PutEventsRequestEntryList"}
      }
    },
    "PutEventsRequestEntry":{
      "type":"structure",
      "members":{
        "Time":{"shape":"EventTime"},
        "Source":{"shape":"String"},
        "Resources":{"shape":"EventResourceList"},
        "DetailType":{"shape":"String"},
        "Detail":{"shape":"String"}
      }
    },
    "PutEventsRequestEntryList":{
      "type":"list",
      "member":{"shape":"PutEventsRequestEntry"},
      "min":1,
      "max":10
    },
    "PutEventsResponse":{
      "type":"structure",
      "members":{
        "FailedEntryCount":{"shape":"Integer"},
        "Entries":{"shape":"PutEventsResultEntryList"}
      }
    },
    "PutEventsResultEntry":{
      "type":"structure",
      "members":{
        "EventId":{"shape":"EventId"},
        "ErrorCode":{"shape":"ErrorCode"},
        "ErrorMessage":{"shape":"ErrorMessage"}
      }
    },
    "PutEventsResultEntryList":{
      "type":"list",
      "member":{"shape":"PutEventsResultEntry"}
    },
    "PutRuleRequest":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{"shape":"RuleName"},
        "ScheduleExpression":{"shape":"ScheduleExpression"},
        "EventPattern":{"shape":"EventPattern"},
        "State":{"shape":"RuleState"},
        "Description":{"shape":"RuleDescription"},
        "RoleArn":{"shape":"RoleArn"}
      }
    },
    "PutRuleResponse":{
      "type":"structure",
      "members":{
        "RuleArn":{"shape":"RuleArn"}
      }
    },
    "PutTargetsRequest":{
      "type":"structure",
      "required":[
        "Rule",
        "Targets"
      ],
      "members":{
        "Rule":{"shape":"RuleName"},
        "Targets":{"shape":"TargetList"}
      }
    },
    "PutTargetsResponse":{
      "type":"structure",
      "members":{
        "FailedEntryCount":{"shape":"Integer"},
        "FailedEntries":{"shape":"PutTargetsResultEntryList"}
      }
    },
    "PutTargetsResultEntry":{
      "type":"structure",
      "members":{
        "TargetId":{"shape":"TargetId"},
        "ErrorCode":{"shape":"ErrorCode"},
        "ErrorMessage":{"shape":"ErrorMessage"}
      }
    },
    "PutTargetsResultEntryList":{
      "type":"list",
      "member":{"shape":"PutTargetsResultEntry"}
    },
    "RemoveTargetsRequest":{
      "type":"structure",
      "required":[
        "Rule",
        "Ids"
      ],
      "members":{
        "Rule":{"shape":"RuleName"},
        "Ids":{"shape":"TargetIdList"}
      }
    },
    "RemoveTargetsResponse":{
      "type":"structure",
      "members":{
        "FailedEntryCount":{"shape":"Integer"},
        "FailedEntries":{"shape":"RemoveTargetsResultEntryList"}
      }
    },
    "RemoveTargetsResultEntry":{
      "type":"structure",
      "members":{
        "TargetId":{"shape":"TargetId"},
        "ErrorCode":{"shape":"ErrorCode"},
        "ErrorMessage":{"shape":"ErrorMessage"}
      }
    },
    "RemoveTargetsResultEntryList":{
      "type":"list",
      "member":{"shape":"RemoveTargetsResultEntry"}
    },
    "ResourceNotFoundException":{
      "type":"structure",
      "members":{
      },
      "exception":true
    },
    "RoleArn":{
      "type":"string",
      "min":1,
      "max":1600
    },
    "Rule":{
      "type":"structure",
      "members":{
        "Name":{"shape":"RuleName"},
        "Arn":{"shape":"RuleArn"},
        "EventPattern":{"shape":"EventPattern"},
        "State":{"shape":"RuleState"},
        "Description":{"shape":"RuleDescription"},
        "ScheduleExpression":{"shape":"ScheduleExpression"},
        "RoleArn":{"shape":"RoleArn"}
      }
    },
    "RuleArn":{
      "type":"string",
      "min":1,
      "max":1600
    },
    "RuleDescription":{
      "type":"string",
      "max":512
    },
    "RuleName":{
      "type":"string",
      "min":1,
      "max":64,
      "pattern":"[\\.\\-_A-Za-z0-9]+"
    },
    "RuleNameList":{
      "type":"list",
      "member":{"shape":"RuleName"}
    },
    "RuleResponseList":{
      "type":"list",
      "member":{"shape":"Rule"}
    },
    "RuleState":{
      "type":"string",
      "enum":[
        "ENABLED",
        "DISABLED"
      ]
    },
    "ScheduleExpression":{
      "type":"string",
      "max":256
    },
    "String":{"type":"string"},
    "Target":{
      "type":"structure",
      "required":[
        "Id",
        "Arn"
      ],
      "members":{
        "Id":{"shape":"TargetId"},
        "Arn":{"shape":"TargetArn"},
        "Input":{"shape":"TargetInput"},
        "InputPath":{"shape":"TargetInputPath"}
      }
    },
    "TargetArn":{
      "type":"string",
      "min":1,
      "max":1600
    },
    "TargetId":{
      "type":"string",
      "min":1,
      "max":64,
      "pattern":"[\\.\\-_A-Za-z0-9]+"
    },
    "TargetIdList":{
      "type":"list",
      "member":{"shape":"TargetId"},
      "min":1,
      "max":100
    },
    "TargetInput":{
      "type":"string",
      "max":8192
    },
    "TargetInputPath":{
      "type":"string",
      "max":256
    },
    "TargetList":{
      "type":"list",
      "member":{"shape":"Target"}
    },
    "TestEventPatternRequest":{
      "type":"structure",
      "required":[
        "EventPattern",
        "Event"
      ],
      "members":{
        "EventPattern":{"shape":"EventPattern"},
        "Event":{"shape":"String"}
      }
    },
    "TestEventPatternResponse":{
      "type":"structure",
      "members":{
        "Result":{"shape":"Boolean"}
      }
    }
  }
}
