1{ 2 "service": { 3 "has": { 4 "Alarm": { 5 "resource": { 6 "type": "Alarm", 7 "identifiers": [ 8 { 9 "target": "Name", 10 "source": "input" 11 } 12 ] 13 } 14 }, 15 "Metric": { 16 "resource": { 17 "type": "Metric", 18 "identifiers": [ 19 { 20 "target": "Namespace", 21 "source": "input" 22 }, 23 { 24 "target": "Name", 25 "source": "input" 26 } 27 ] 28 } 29 } 30 }, 31 "hasMany": { 32 "Alarms": { 33 "request": { "operation": "DescribeAlarms" }, 34 "resource": { 35 "type": "Alarm", 36 "identifiers": [ 37 { 38 "target": "Name", 39 "source": "response", 40 "path": "MetricAlarms[].AlarmName" 41 } 42 ], 43 "path": "MetricAlarms[]" 44 } 45 }, 46 "Metrics": { 47 "request": { "operation": "ListMetrics" }, 48 "resource": { 49 "type": "Metric", 50 "identifiers": [ 51 { 52 "target": "Namespace", 53 "source": "response", 54 "path": "Metrics[].Namespace" 55 }, 56 { 57 "target": "Name", 58 "source": "response", 59 "path": "Metrics[].MetricName" 60 } 61 ], 62 "path": "Metrics[]" 63 } 64 } 65 } 66 }, 67 "resources": { 68 "Alarm": { 69 "identifiers": [ 70 { 71 "name": "Name", 72 "memberName": "AlarmName" 73 } 74 ], 75 "shape": "MetricAlarm", 76 "load": { 77 "request": { 78 "operation": "DescribeAlarms", 79 "params": [ 80 { 81 "target": "AlarmNames[0]", 82 "source": "identifier", 83 "name": "Name" 84 } 85 ] 86 }, 87 "path": "MetricAlarms[0]" 88 }, 89 "actions": { 90 "Delete": { 91 "request": { 92 "operation": "DeleteAlarms", 93 "params": [ 94 { 95 "target": "AlarmNames[0]", 96 "source": "identifier", 97 "name": "Name" 98 } 99 ] 100 } 101 }, 102 "DescribeHistory": { 103 "request": { 104 "operation": "DescribeAlarmHistory", 105 "params": [ 106 { 107 "target": "AlarmName", 108 "source": "identifier", 109 "name": "Name" 110 } 111 ] 112 } 113 }, 114 "DisableActions": { 115 "request": { 116 "operation": "DisableAlarmActions", 117 "params": [ 118 { 119 "target": "AlarmNames[0]", 120 "source": "identifier", 121 "name": "Name" 122 } 123 ] 124 } 125 }, 126 "EnableActions": { 127 "request": { 128 "operation": "EnableAlarmActions", 129 "params": [ 130 { 131 "target": "AlarmNames[0]", 132 "source": "identifier", 133 "name": "Name" 134 } 135 ] 136 } 137 }, 138 "SetState": { 139 "request": { 140 "operation": "SetAlarmState", 141 "params": [ 142 { 143 "target": "AlarmName", 144 "source": "identifier", 145 "name": "Name" 146 } 147 ] 148 } 149 } 150 }, 151 "batchActions": { 152 "Delete": { 153 "request": { 154 "operation": "DeleteAlarms", 155 "params": [ 156 { 157 "target": "AlarmNames[]", 158 "source": "identifier", 159 "name": "Name" 160 } 161 ] 162 } 163 }, 164 "DisableActions": { 165 "request": { 166 "operation": "DisableAlarmActions", 167 "params": [ 168 { 169 "target": "AlarmNames[]", 170 "source": "identifier", 171 "name": "Name" 172 } 173 ] 174 } 175 }, 176 "EnableActions": { 177 "request": { 178 "operation": "EnableAlarmActions", 179 "params": [ 180 { 181 "target": "AlarmNames[]", 182 "source": "identifier", 183 "name": "Name" 184 } 185 ] 186 } 187 } 188 }, 189 "has": { 190 "Metric": { 191 "resource": { 192 "type": "Metric", 193 "identifiers": [ 194 { 195 "target": "Namespace", 196 "source": "data", 197 "path": "Namespace" 198 }, 199 { 200 "target": "Name", 201 "source": "data", 202 "path": "MetricName" 203 } 204 ] 205 } 206 } 207 } 208 }, 209 "Metric": { 210 "identifiers": [ 211 { 212 "name": "Namespace", 213 "memberName": "Namespace" 214 }, 215 { 216 "name": "Name", 217 "memberName": "MetricName" 218 } 219 ], 220 "shape": "Metric", 221 "load": { 222 "request": { 223 "operation": "ListMetrics", 224 "params": [ 225 { 226 "target": "MetricName", 227 "source": "identifier", 228 "name": "Name" 229 }, 230 { 231 "target": "Namespace", 232 "source": "identifier", 233 "name": "Namespace" 234 } 235 ] 236 }, 237 "path": "Metrics[0]" 238 }, 239 "actions": { 240 "GetStatistics": { 241 "request": { 242 "operation": "GetMetricStatistics", 243 "params": [ 244 { 245 "target": "Namespace", 246 "source": "identifier", 247 "name": "Namespace" 248 }, 249 { 250 "target": "MetricName", 251 "source": "identifier", 252 "name": "Name" 253 } 254 ] 255 } 256 }, 257 "PutAlarm": { 258 "request": { 259 "operation": "PutMetricAlarm", 260 "params": [ 261 { 262 "target": "Namespace", 263 "source": "identifier", 264 "name": "Namespace" 265 }, 266 { 267 "target": "MetricName", 268 "source": "identifier", 269 "name": "Name" 270 } 271 ] 272 }, 273 "resource": { 274 "type": "Alarm", 275 "identifiers": [ 276 { 277 "target": "Name", 278 "source": "requestParameter", 279 "path": "AlarmName" 280 } 281 ] 282 } 283 }, 284 "PutData": { 285 "request": { 286 "operation": "PutMetricData", 287 "params": [ 288 { 289 "target": "Namespace", 290 "source": "identifier", 291 "name": "Namespace" 292 }, 293 { 294 "target": "MetricData[].MetricName", 295 "source": "identifier", 296 "name": "Name" 297 } 298 ] 299 } 300 } 301 }, 302 "hasMany": { 303 "Alarms": { 304 "request": { 305 "operation": "DescribeAlarmsForMetric", 306 "params": [ 307 { 308 "target": "Namespace", 309 "source": "identifier", 310 "name": "Namespace" 311 }, 312 { 313 "target": "MetricName", 314 "source": "identifier", 315 "name": "Name" 316 } 317 ] 318 }, 319 "resource": { 320 "type": "Alarm", 321 "identifiers": [ 322 { 323 "target": "Name", 324 "source": "response", 325 "path": "MetricAlarms[].AlarmName" 326 } 327 ], 328 "path": "MetricAlarms[]" 329 } 330 } 331 } 332 } 333 } 334} 335