1{ 2 "version":"2.0", 3 "metadata":{ 4 "apiVersion":"2023-08-01", 5 "endpointPrefix":"networkmonitor", 6 "jsonVersion":"1.1", 7 "protocol":"rest-json", 8 "serviceFullName":"Amazon CloudWatch Network Monitor", 9 "serviceId":"NetworkMonitor", 10 "signatureVersion":"v4", 11 "signingName":"networkmonitor", 12 "uid":"networkmonitor-2023-08-01" 13 }, 14 "operations":{ 15 "CreateMonitor":{ 16 "name":"CreateMonitor", 17 "http":{ 18 "method":"POST", 19 "requestUri":"/monitors", 20 "responseCode":200 21 }, 22 "input":{"shape":"CreateMonitorInput"}, 23 "output":{"shape":"CreateMonitorOutput"}, 24 "errors":[ 25 {"shape":"AccessDeniedException"}, 26 {"shape":"ThrottlingException"}, 27 {"shape":"ValidationException"}, 28 {"shape":"InternalServerException"}, 29 {"shape":"ConflictException"}, 30 {"shape":"ServiceQuotaExceededException"} 31 ], 32 "documentation":"<p>Creates a monitor between a source subnet and destination IP address. Within a monitor you'll create one or more probes that monitor network traffic between your source Amazon Web Services VPC subnets and your destination IP addresses. Each probe then aggregates and sends metrics to Amazon CloudWatch.</p>", 33 "idempotent":true 34 }, 35 "CreateProbe":{ 36 "name":"CreateProbe", 37 "http":{ 38 "method":"POST", 39 "requestUri":"/monitors/{monitorName}/probes", 40 "responseCode":200 41 }, 42 "input":{"shape":"CreateProbeInput"}, 43 "output":{"shape":"CreateProbeOutput"}, 44 "errors":[ 45 {"shape":"AccessDeniedException"}, 46 {"shape":"ResourceNotFoundException"}, 47 {"shape":"ThrottlingException"}, 48 {"shape":"ValidationException"}, 49 {"shape":"InternalServerException"}, 50 {"shape":"ServiceQuotaExceededException"} 51 ], 52 "documentation":"<p>Create a probe within a monitor. Once you create a probe, and it begins monitoring your network traffic, you'll incur billing charges for that probe. </p>", 53 "idempotent":true 54 }, 55 "DeleteMonitor":{ 56 "name":"DeleteMonitor", 57 "http":{ 58 "method":"DELETE", 59 "requestUri":"/monitors/{monitorName}", 60 "responseCode":200 61 }, 62 "input":{"shape":"DeleteMonitorInput"}, 63 "output":{"shape":"DeleteMonitorOutput"}, 64 "errors":[ 65 {"shape":"AccessDeniedException"}, 66 {"shape":"ResourceNotFoundException"}, 67 {"shape":"ThrottlingException"}, 68 {"shape":"ValidationException"}, 69 {"shape":"InternalServerException"} 70 ], 71 "documentation":"<p>Deletes a specified monitor.</p>", 72 "idempotent":true 73 }, 74 "DeleteProbe":{ 75 "name":"DeleteProbe", 76 "http":{ 77 "method":"DELETE", 78 "requestUri":"/monitors/{monitorName}/probes/{probeId}", 79 "responseCode":200 80 }, 81 "input":{"shape":"DeleteProbeInput"}, 82 "output":{"shape":"DeleteProbeOutput"}, 83 "errors":[ 84 {"shape":"AccessDeniedException"}, 85 {"shape":"ResourceNotFoundException"}, 86 {"shape":"ThrottlingException"}, 87 {"shape":"ValidationException"}, 88 {"shape":"InternalServerException"}, 89 {"shape":"ServiceQuotaExceededException"} 90 ], 91 "documentation":"<p>Deletes the specified monitor. Once a probe is deleted you'll no longer incur any billing fees for that probe.</p>", 92 "idempotent":true 93 }, 94 "GetMonitor":{ 95 "name":"GetMonitor", 96 "http":{ 97 "method":"GET", 98 "requestUri":"/monitors/{monitorName}", 99 "responseCode":200 100 }, 101 "input":{"shape":"GetMonitorInput"}, 102 "output":{"shape":"GetMonitorOutput"}, 103 "errors":[ 104 {"shape":"AccessDeniedException"}, 105 {"shape":"ResourceNotFoundException"}, 106 {"shape":"ThrottlingException"}, 107 {"shape":"ValidationException"}, 108 {"shape":"InternalServerException"} 109 ], 110 "documentation":"<p>Returns details about a specific monitor.</p>" 111 }, 112 "GetProbe":{ 113 "name":"GetProbe", 114 "http":{ 115 "method":"GET", 116 "requestUri":"/monitors/{monitorName}/probes/{probeId}", 117 "responseCode":200 118 }, 119 "input":{"shape":"GetProbeInput"}, 120 "output":{"shape":"GetProbeOutput"}, 121 "errors":[ 122 {"shape":"AccessDeniedException"}, 123 {"shape":"ResourceNotFoundException"}, 124 {"shape":"ThrottlingException"}, 125 {"shape":"ValidationException"}, 126 {"shape":"InternalServerException"} 127 ], 128 "documentation":"<p>Returns the details about a probe. You'll need both the <code>monitorName</code> and <code>probeId</code>. </p>" 129 }, 130 "ListMonitors":{ 131 "name":"ListMonitors", 132 "http":{ 133 "method":"GET", 134 "requestUri":"/monitors", 135 "responseCode":200 136 }, 137 "input":{"shape":"ListMonitorsInput"}, 138 "output":{"shape":"ListMonitorsOutput"}, 139 "errors":[ 140 {"shape":"AccessDeniedException"}, 141 {"shape":"ThrottlingException"}, 142 {"shape":"ValidationException"}, 143 {"shape":"InternalServerException"} 144 ], 145 "documentation":"<p>Returns a list of all of your monitors.</p>" 146 }, 147 "ListTagsForResource":{ 148 "name":"ListTagsForResource", 149 "http":{ 150 "method":"GET", 151 "requestUri":"/tags/{resourceArn}", 152 "responseCode":200 153 }, 154 "input":{"shape":"ListTagsForResourceInput"}, 155 "output":{"shape":"ListTagsForResourceOutput"}, 156 "errors":[ 157 {"shape":"AccessDeniedException"}, 158 {"shape":"ResourceNotFoundException"}, 159 {"shape":"ThrottlingException"}, 160 {"shape":"ValidationException"}, 161 {"shape":"InternalServerException"}, 162 {"shape":"ConflictException"} 163 ], 164 "documentation":"<p>Lists the tags assigned to this resource.</p>" 165 }, 166 "TagResource":{ 167 "name":"TagResource", 168 "http":{ 169 "method":"POST", 170 "requestUri":"/tags/{resourceArn}", 171 "responseCode":200 172 }, 173 "input":{"shape":"TagResourceInput"}, 174 "output":{"shape":"TagResourceOutput"}, 175 "errors":[ 176 {"shape":"AccessDeniedException"}, 177 {"shape":"ResourceNotFoundException"}, 178 {"shape":"ThrottlingException"}, 179 {"shape":"ValidationException"}, 180 {"shape":"InternalServerException"}, 181 {"shape":"ConflictException"} 182 ], 183 "documentation":"<p>Adds key-value pairs to a monitor or probe.</p>", 184 "idempotent":true 185 }, 186 "UntagResource":{ 187 "name":"UntagResource", 188 "http":{ 189 "method":"DELETE", 190 "requestUri":"/tags/{resourceArn}", 191 "responseCode":200 192 }, 193 "input":{"shape":"UntagResourceInput"}, 194 "output":{"shape":"UntagResourceOutput"}, 195 "errors":[ 196 {"shape":"AccessDeniedException"}, 197 {"shape":"ResourceNotFoundException"}, 198 {"shape":"ThrottlingException"}, 199 {"shape":"ValidationException"}, 200 {"shape":"InternalServerException"}, 201 {"shape":"ConflictException"} 202 ], 203 "documentation":"<p>Removes a key-value pair from a monitor or probe.</p>", 204 "idempotent":true 205 }, 206 "UpdateMonitor":{ 207 "name":"UpdateMonitor", 208 "http":{ 209 "method":"PATCH", 210 "requestUri":"/monitors/{monitorName}", 211 "responseCode":200 212 }, 213 "input":{"shape":"UpdateMonitorInput"}, 214 "output":{"shape":"UpdateMonitorOutput"}, 215 "errors":[ 216 {"shape":"AccessDeniedException"}, 217 {"shape":"ResourceNotFoundException"}, 218 {"shape":"ThrottlingException"}, 219 {"shape":"ValidationException"}, 220 {"shape":"InternalServerException"}, 221 {"shape":"ServiceQuotaExceededException"} 222 ], 223 "documentation":"<p>Updates the <code>aggregationPeriod</code> for a monitor. Monitors support an <code>aggregationPeriod</code> of either <code>30</code> or <code>60</code> seconds.</p>", 224 "idempotent":true 225 }, 226 "UpdateProbe":{ 227 "name":"UpdateProbe", 228 "http":{ 229 "method":"PATCH", 230 "requestUri":"/monitors/{monitorName}/probes/{probeId}", 231 "responseCode":200 232 }, 233 "input":{"shape":"UpdateProbeInput"}, 234 "output":{"shape":"UpdateProbeOutput"}, 235 "errors":[ 236 {"shape":"AccessDeniedException"}, 237 {"shape":"ResourceNotFoundException"}, 238 {"shape":"ThrottlingException"}, 239 {"shape":"ValidationException"}, 240 {"shape":"InternalServerException"}, 241 {"shape":"ServiceQuotaExceededException"} 242 ], 243 "documentation":"<p>Updates a monitor probe. This action requires both the <code>monitorName</code> and <code>probeId</code> parameters. Run <code>ListMonitors</code> to get a list of monitor names. Run <code>GetMonitor</code> to get a list of probes and probe IDs. </p>", 244 "idempotent":true 245 } 246 }, 247 "shapes":{ 248 "AccessDeniedException":{ 249 "type":"structure", 250 "members":{ 251 "message":{"shape":"String"} 252 }, 253 "documentation":"<p>You do not have sufficient access to perform this action.</p>", 254 "error":{ 255 "httpStatusCode":403, 256 "senderFault":true 257 }, 258 "exception":true 259 }, 260 "AddressFamily":{ 261 "type":"string", 262 "enum":[ 263 "IPV4", 264 "IPV6" 265 ] 266 }, 267 "AggregationPeriod":{ 268 "type":"long", 269 "box":true, 270 "min":30 271 }, 272 "Arn":{ 273 "type":"string", 274 "max":2048, 275 "min":20, 276 "pattern":"arn:.*" 277 }, 278 "ConflictException":{ 279 "type":"structure", 280 "members":{ 281 "message":{"shape":"String"} 282 }, 283 "documentation":"<p>This operation attempted to create a resource that already exists.</p>", 284 "error":{ 285 "httpStatusCode":409, 286 "senderFault":true 287 }, 288 "exception":true 289 }, 290 "CreateMonitorInput":{ 291 "type":"structure", 292 "required":["monitorName"], 293 "members":{ 294 "monitorName":{ 295 "shape":"ResourceName", 296 "documentation":"<p>The name identifying the monitor. It can contain only letters, underscores (_), or dashes (-), and can be up to 255 characters.</p>" 297 }, 298 "probes":{ 299 "shape":"CreateMonitorProbeInputList", 300 "documentation":"<p>Displays a list of all of the probes created for a monitor.</p>" 301 }, 302 "aggregationPeriod":{ 303 "shape":"AggregationPeriod", 304 "documentation":"<p>The time, in seconds, that metrics are aggregated and sent to Amazon CloudWatch. Valid values are either <code>30</code> or <code>60</code>. </p>" 305 }, 306 "clientToken":{ 307 "shape":"String", 308 "documentation":"<p>Unique, case-sensitive identifier to ensure the idempotency of the request. Only returned if a client token was provided in the request.</p>", 309 "idempotencyToken":true 310 }, 311 "tags":{ 312 "shape":"TagMap", 313 "documentation":"<p>The list of key-value pairs created and assigned to the monitor.</p>" 314 } 315 } 316 }, 317 "CreateMonitorOutput":{ 318 "type":"structure", 319 "required":[ 320 "monitorArn", 321 "monitorName", 322 "state" 323 ], 324 "members":{ 325 "monitorArn":{ 326 "shape":"MonitorArn", 327 "documentation":"<p>The ARN of the monitor.</p>" 328 }, 329 "monitorName":{ 330 "shape":"ResourceName", 331 "documentation":"<p>The name of the monitor.</p>" 332 }, 333 "state":{ 334 "shape":"MonitorState", 335 "documentation":"<p>The state of the monitor.</p>" 336 }, 337 "aggregationPeriod":{ 338 "shape":"AggregationPeriod", 339 "documentation":"<p>The number of seconds that metrics are aggregated by and sent to Amazon CloudWatch. This will be either <code>30</code> or <code>60</code>. </p>" 340 }, 341 "tags":{ 342 "shape":"TagMap", 343 "documentation":"<p>The list of key-value pairs assigned to the monitor.</p>" 344 } 345 } 346 }, 347 "CreateMonitorProbeInput":{ 348 "type":"structure", 349 "required":[ 350 "sourceArn", 351 "destination", 352 "protocol" 353 ], 354 "members":{ 355 "sourceArn":{ 356 "shape":"Arn", 357 "documentation":"<p>The ARN of the subnet.</p>" 358 }, 359 "destination":{ 360 "shape":"Destination", 361 "documentation":"<p>The destination IP address. This will be either <code>IPV4</code> or <code>IPV6</code>.</p>" 362 }, 363 "destinationPort":{ 364 "shape":"Port", 365 "documentation":"<p>The port associated with the <code>destination</code>. This is required only if the <code>protocol</code> is <code>TCP</code> and must be a number between <code>1</code> and <code>65536</code>.</p>" 366 }, 367 "protocol":{ 368 "shape":"Protocol", 369 "documentation":"<p>The protocol used for the network traffic between the <code>source</code> and <code>destination</code>. This will be either <code>TCP</code> or <code>ICMP</code>.</p>" 370 }, 371 "packetSize":{ 372 "shape":"PacketSize", 373 "documentation":"<p>The size of the packets sent between the source and destination. This will be a number between <code>56</code> and <code>8500</code>.</p>" 374 }, 375 "probeTags":{ 376 "shape":"TagMap", 377 "documentation":"<p>The list of key-value pairs created and assigned to the monitor.</p>" 378 } 379 }, 380 "documentation":"<p>Creates a monitor probe.</p>" 381 }, 382 "CreateMonitorProbeInputList":{ 383 "type":"list", 384 "member":{"shape":"CreateMonitorProbeInput"} 385 }, 386 "CreateProbeInput":{ 387 "type":"structure", 388 "required":[ 389 "monitorName", 390 "probe" 391 ], 392 "members":{ 393 "monitorName":{ 394 "shape":"ResourceName", 395 "documentation":"<p>The name of the monitor to associated with the probe. To get a list of available monitors, use <code>ListMonitors</code>.</p>", 396 "location":"uri", 397 "locationName":"monitorName" 398 }, 399 "probe":{ 400 "shape":"ProbeInput", 401 "documentation":"<p>Describes the details of an individual probe for a monitor.</p>" 402 }, 403 "clientToken":{ 404 "shape":"String", 405 "documentation":"<p>Unique, case-sensitive identifier to ensure the idempotency of the request. Only returned if a client token was provided in the request.</p>", 406 "idempotencyToken":true 407 }, 408 "tags":{ 409 "shape":"TagMap", 410 "documentation":"<p>The list of key-value pairs created and assigned to the probe.</p>" 411 } 412 } 413 }, 414 "CreateProbeOutput":{ 415 "type":"structure", 416 "required":[ 417 "sourceArn", 418 "destination", 419 "protocol" 420 ], 421 "members":{ 422 "probeId":{ 423 "shape":"ProbeId", 424 "documentation":"<p>The ID of the probe for which details are returned.</p>" 425 }, 426 "probeArn":{ 427 "shape":"Arn", 428 "documentation":"<p>The ARN of the probe.</p>" 429 }, 430 "sourceArn":{ 431 "shape":"Arn", 432 "documentation":"<p>The ARN of the probe.</p>" 433 }, 434 "destination":{ 435 "shape":"Destination", 436 "documentation":"<p>The destination IP address for the monitor. This will be either an IPv4 or IPv6 address.</p>" 437 }, 438 "destinationPort":{ 439 "shape":"Port", 440 "documentation":"<p>The port associated with the <code>destination</code>. This is required only if the <code>protocol</code> is <code>TCP</code> and must be a number between <code>1</code> and <code>65536</code>.</p>" 441 }, 442 "protocol":{ 443 "shape":"Protocol", 444 "documentation":"<p>The protocol used for the network traffic between the <code>source</code> and <code>destination</code>. This will be either <code>TCP</code> or <code>ICMP</code>.</p>" 445 }, 446 "packetSize":{ 447 "shape":"PacketSize", 448 "documentation":"<p>The size of the packets sent between the source and destination. This will be a number between <code>56</code> and <code>8500</code>.</p>" 449 }, 450 "addressFamily":{ 451 "shape":"AddressFamily", 452 "documentation":"<p>Indicates whether the IP address is <code>IPV4</code> or <code>IPV6</code>.</p>" 453 }, 454 "vpcId":{ 455 "shape":"VpcId", 456 "documentation":"<p>The ID of the source VPC or subnet.</p>" 457 }, 458 "state":{ 459 "shape":"ProbeState", 460 "documentation":"<p>The state of the probe.</p>" 461 }, 462 "createdAt":{ 463 "shape":"Iso8601Timestamp", 464 "documentation":"<p>The time and date that the probe was created.</p>" 465 }, 466 "modifiedAt":{ 467 "shape":"Iso8601Timestamp", 468 "documentation":"<p>The time and date when the probe was last modified. </p>" 469 }, 470 "tags":{ 471 "shape":"TagMap", 472 "documentation":"<p>The list of key-value pairs assigned to the probe.</p>" 473 } 474 } 475 }, 476 "DeleteMonitorInput":{ 477 "type":"structure", 478 "required":["monitorName"], 479 "members":{ 480 "monitorName":{ 481 "shape":"ResourceName", 482 "documentation":"<p>The name of the monitor to delete. Use the <code>ListMonitors</code> action to get a list of your current monitors. </p>", 483 "location":"uri", 484 "locationName":"monitorName" 485 } 486 } 487 }, 488 "DeleteMonitorOutput":{ 489 "type":"structure", 490 "members":{ 491 } 492 }, 493 "DeleteProbeInput":{ 494 "type":"structure", 495 "required":[ 496 "monitorName", 497 "probeId" 498 ], 499 "members":{ 500 "monitorName":{ 501 "shape":"ResourceName", 502 "documentation":"<p>The name of the monitor to delete. For a list of the available monitors, use the <code>ListMonitors</code> action.</p>", 503 "location":"uri", 504 "locationName":"monitorName" 505 }, 506 "probeId":{ 507 "shape":"ProbeId", 508 "documentation":"<p>The ID of the probe to delete. Run <code>GetMonitor</code> to get a lst of all probes and probe IDs associated with the monitor.</p>", 509 "location":"uri", 510 "locationName":"probeId" 511 } 512 } 513 }, 514 "DeleteProbeOutput":{ 515 "type":"structure", 516 "members":{ 517 } 518 }, 519 "Destination":{ 520 "type":"string", 521 "max":255, 522 "min":1 523 }, 524 "GetMonitorInput":{ 525 "type":"structure", 526 "required":["monitorName"], 527 "members":{ 528 "monitorName":{ 529 "shape":"ResourceName", 530 "documentation":"<p>The name of the monitor that details are returned for.</p>", 531 "location":"uri", 532 "locationName":"monitorName" 533 } 534 } 535 }, 536 "GetMonitorOutput":{ 537 "type":"structure", 538 "required":[ 539 "monitorArn", 540 "monitorName", 541 "state", 542 "aggregationPeriod", 543 "createdAt", 544 "modifiedAt" 545 ], 546 "members":{ 547 "monitorArn":{ 548 "shape":"MonitorArn", 549 "documentation":"<p>The ARN of the selected monitor.</p>" 550 }, 551 "monitorName":{ 552 "shape":"ResourceName", 553 "documentation":"<p>The name of the monitor. To get a list of the current monitors and their names, use the <code>ListMonitors</code> action.</p>" 554 }, 555 "state":{ 556 "shape":"MonitorState", 557 "documentation":"<p>Returns a list of the state of each monitor. </p>" 558 }, 559 "aggregationPeriod":{ 560 "shape":"AggregationPeriod", 561 "documentation":"<p>The aggregation period for the specified monitor.</p>" 562 }, 563 "tags":{ 564 "shape":"TagMap", 565 "documentation":"<p>The list of key-value pairs assigned to the monitor.</p>" 566 }, 567 "probes":{ 568 "shape":"ProbeList", 569 "documentation":"<p>The details about each probe associated with that monitor. </p>" 570 }, 571 "createdAt":{ 572 "shape":"Iso8601Timestamp", 573 "documentation":"<p>The time and date when the monitor was created.</p>" 574 }, 575 "modifiedAt":{ 576 "shape":"Iso8601Timestamp", 577 "documentation":"<p>The time and date when the monitor was last modified.</p>" 578 } 579 } 580 }, 581 "GetProbeInput":{ 582 "type":"structure", 583 "required":[ 584 "monitorName", 585 "probeId" 586 ], 587 "members":{ 588 "monitorName":{ 589 "shape":"ResourceName", 590 "documentation":"<p>The name of the monitor associated with the probe. Run <code>ListMonitors</code> to get a list of monitor names.</p>", 591 "location":"uri", 592 "locationName":"monitorName" 593 }, 594 "probeId":{ 595 "shape":"ProbeId", 596 "documentation":"<p>The ID of the probe to get information about. Run <code>GetMonitor</code> action to get a list of probes and probe IDs for the monitor.</p>", 597 "location":"uri", 598 "locationName":"probeId" 599 } 600 } 601 }, 602 "GetProbeOutput":{ 603 "type":"structure", 604 "required":[ 605 "sourceArn", 606 "destination", 607 "protocol" 608 ], 609 "members":{ 610 "probeId":{ 611 "shape":"ProbeId", 612 "documentation":"<p>The ID of the probe for which details are returned.</p>" 613 }, 614 "probeArn":{ 615 "shape":"Arn", 616 "documentation":"<p>The ARN of the probe.</p>" 617 }, 618 "sourceArn":{ 619 "shape":"Arn", 620 "documentation":"<p>The ARN of the probe.</p>" 621 }, 622 "destination":{ 623 "shape":"Destination", 624 "documentation":"<p>The destination IP address for the monitor. This will be either an IPv4 or IPv6 address.</p>" 625 }, 626 "destinationPort":{ 627 "shape":"Port", 628 "documentation":"<p>The port associated with the <code>destination</code>. This is required only if the <code>protocol</code> is <code>TCP</code> and must be a number between <code>1</code> and <code>65536</code>.</p>" 629 }, 630 "protocol":{ 631 "shape":"Protocol", 632 "documentation":"<p>The protocol used for the network traffic between the <code>source</code> and <code>destination</code>. This will be either <code>TCP</code> or <code>ICMP</code>.</p>" 633 }, 634 "packetSize":{ 635 "shape":"PacketSize", 636 "documentation":"<p>The size of the packets sent between the source and destination. This will be a number between <code>56</code> and <code>8500</code>.</p>" 637 }, 638 "addressFamily":{ 639 "shape":"AddressFamily", 640 "documentation":"<p>Indicates whether the IP address is <code>IPV4</code> or <code>IPV6</code>.</p>" 641 }, 642 "vpcId":{ 643 "shape":"VpcId", 644 "documentation":"<p>The ID of the source VPC or subnet.</p>" 645 }, 646 "state":{ 647 "shape":"ProbeState", 648 "documentation":"<p>The state of the probe.</p>" 649 }, 650 "createdAt":{ 651 "shape":"Iso8601Timestamp", 652 "documentation":"<p>The time and date that the probe was created.</p>" 653 }, 654 "modifiedAt":{ 655 "shape":"Iso8601Timestamp", 656 "documentation":"<p>The time and date that the probe was last modified.</p>" 657 }, 658 "tags":{ 659 "shape":"TagMap", 660 "documentation":"<p>The list of key-value pairs assigned to the probe.</p>" 661 } 662 } 663 }, 664 "InternalServerException":{ 665 "type":"structure", 666 "members":{ 667 "message":{"shape":"String"} 668 }, 669 "documentation":"<p>The request processing has failed because of an unknown error, exception or failure.</p>", 670 "error":{"httpStatusCode":500}, 671 "exception":true, 672 "fault":true, 673 "retryable":{"throttling":false} 674 }, 675 "Iso8601Timestamp":{"type":"timestamp"}, 676 "ListMonitorsInput":{ 677 "type":"structure", 678 "members":{ 679 "nextToken":{ 680 "shape":"PaginationToken", 681 "documentation":"<p>The token for the next page of results.</p>", 682 "location":"querystring", 683 "locationName":"nextToken" 684 }, 685 "maxResults":{ 686 "shape":"MaxResults", 687 "documentation":"<p>The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned <code>nextToken</code> value.</p> <p>If <code>MaxResults</code> is given a value larger than 100, only 100 results are returned.</p>", 688 "location":"querystring", 689 "locationName":"maxResults" 690 }, 691 "state":{ 692 "shape":"String", 693 "documentation":"<p>The list of all monitors and their states.</p>", 694 "location":"querystring", 695 "locationName":"state" 696 } 697 } 698 }, 699 "ListMonitorsOutput":{ 700 "type":"structure", 701 "required":["monitors"], 702 "members":{ 703 "monitors":{ 704 "shape":"MonitorList", 705 "documentation":"<p>Lists individual details about each of your monitors.</p>" 706 }, 707 "nextToken":{ 708 "shape":"String", 709 "documentation":"<p>The token for the next page of results.</p>" 710 } 711 } 712 }, 713 "ListTagsForResourceInput":{ 714 "type":"structure", 715 "required":["resourceArn"], 716 "members":{ 717 "resourceArn":{ 718 "shape":"Arn", 719 "documentation":"<p>The </p>", 720 "location":"uri", 721 "locationName":"resourceArn" 722 } 723 } 724 }, 725 "ListTagsForResourceOutput":{ 726 "type":"structure", 727 "members":{ 728 "tags":{ 729 "shape":"TagMap", 730 "documentation":"<p>Lists the tags assigned to the resource.</p>" 731 } 732 } 733 }, 734 "MaxResults":{ 735 "type":"integer", 736 "box":true, 737 "max":25, 738 "min":1 739 }, 740 "MonitorArn":{ 741 "type":"string", 742 "max":512, 743 "min":20, 744 "pattern":"arn:.*" 745 }, 746 "MonitorList":{ 747 "type":"list", 748 "member":{"shape":"MonitorSummary"} 749 }, 750 "MonitorState":{ 751 "type":"string", 752 "enum":[ 753 "PENDING", 754 "ACTIVE", 755 "INACTIVE", 756 "ERROR", 757 "DELETING" 758 ] 759 }, 760 "MonitorSummary":{ 761 "type":"structure", 762 "required":[ 763 "monitorArn", 764 "monitorName", 765 "state" 766 ], 767 "members":{ 768 "monitorArn":{ 769 "shape":"MonitorArn", 770 "documentation":"<p>The ARN of the monitor.</p>" 771 }, 772 "monitorName":{ 773 "shape":"ResourceName", 774 "documentation":"<p>The name of the monitor.</p>" 775 }, 776 "state":{ 777 "shape":"MonitorState", 778 "documentation":"<p>The state of the monitor.</p>" 779 }, 780 "aggregationPeriod":{ 781 "shape":"AggregationPeriod", 782 "documentation":"<p>The time, in seconds, that metrics are collected and sent to Amazon CloudWatch. Valid values are either <code>30</code> or <code>60</code>.</p>" 783 }, 784 "tags":{ 785 "shape":"TagMap", 786 "documentation":"<p>The list of key-value pairs assigned to the monitor.</p>" 787 } 788 }, 789 "documentation":"<p>Displays summary information about a monitor.</p>" 790 }, 791 "PacketSize":{ 792 "type":"integer", 793 "box":true, 794 "max":8500, 795 "min":56 796 }, 797 "PaginationToken":{ 798 "type":"string", 799 "max":4096, 800 "min":0 801 }, 802 "Port":{ 803 "type":"integer", 804 "box":true, 805 "max":65536, 806 "min":0 807 }, 808 "Probe":{ 809 "type":"structure", 810 "required":[ 811 "sourceArn", 812 "destination", 813 "protocol" 814 ], 815 "members":{ 816 "probeId":{ 817 "shape":"ProbeId", 818 "documentation":"<p>The ID of the probe.</p>" 819 }, 820 "probeArn":{ 821 "shape":"Arn", 822 "documentation":"<p>The ARN of the probe.</p>" 823 }, 824 "sourceArn":{ 825 "shape":"Arn", 826 "documentation":"<p>The ARN of the probe source subnet.</p>" 827 }, 828 "destination":{ 829 "shape":"Destination", 830 "documentation":"<p>The destination for the probe. This should be either an <code>IPV4</code> or <code>IPV6</code>.</p>" 831 }, 832 "destinationPort":{ 833 "shape":"Port", 834 "documentation":"<p>The destination port for the probe. This is required only if the <code>protocol</code> is <code>TCP</code> and must be a number between <code>1</code> and <code>65536</code>.</p>" 835 }, 836 "protocol":{ 837 "shape":"Protocol", 838 "documentation":"<p>The network protocol for the destination. This can be either <code>TCP</code> or <code>ICMP</code>. If the protocol is <code>TCP</code>, then <code>port</code> is also required.</p>" 839 }, 840 "packetSize":{ 841 "shape":"PacketSize", 842 "documentation":"<p>The size of the packets traveling between the <code>source</code> and <code>destination</code>. This must be a number between <code>56</code> and </p>" 843 }, 844 "addressFamily":{ 845 "shape":"AddressFamily", 846 "documentation":"<p>The IPv4 or IPv6 address for the probe.</p>" 847 }, 848 "vpcId":{ 849 "shape":"VpcId", 850 "documentation":"<p>The ID of the source VPC subnet.</p>" 851 }, 852 "state":{ 853 "shape":"ProbeState", 854 "documentation":"<p>The state of the probe.</p>" 855 }, 856 "createdAt":{ 857 "shape":"Iso8601Timestamp", 858 "documentation":"<p>The time and date the probe was created.</p>" 859 }, 860 "modifiedAt":{ 861 "shape":"Iso8601Timestamp", 862 "documentation":"<p>The time and date that the probe was last modified.</p>" 863 }, 864 "tags":{ 865 "shape":"TagMap", 866 "documentation":"<p>The list of key-value pairs created and assigned to the probe.</p>" 867 } 868 }, 869 "documentation":"<p>Describes information about a monitor probe.</p>" 870 }, 871 "ProbeId":{ 872 "type":"string", 873 "pattern":"probe-[a-z0-9A-Z-]{21,64}" 874 }, 875 "ProbeInput":{ 876 "type":"structure", 877 "required":[ 878 "sourceArn", 879 "destination", 880 "protocol" 881 ], 882 "members":{ 883 "sourceArn":{ 884 "shape":"Arn", 885 "documentation":"<p>The ARN of the subnet.</p>" 886 }, 887 "destination":{ 888 "shape":"Destination", 889 "documentation":"<p>The destination IP address. This will be either <code>IPV4</code> or <code>IPV6</code>.</p>" 890 }, 891 "destinationPort":{ 892 "shape":"Port", 893 "documentation":"<p>The port associated with the <code>destination</code>. This is required only if the <code>protocol</code> is <code>TCP</code> and must be a number between <code>1</code> and <code>65536</code>.</p>" 894 }, 895 "protocol":{ 896 "shape":"Protocol", 897 "documentation":"<p>The protocol used for the network traffic between the <code>source</code> and <code>destination</code>. This will be either <code>TCP</code> or <code>ICMP</code>.</p>" 898 }, 899 "packetSize":{ 900 "shape":"PacketSize", 901 "documentation":"<p>The size of the packets sent between the source and destination. This will be a number between <code>56</code> and <code>8500</code>.</p>" 902 }, 903 "tags":{ 904 "shape":"TagMap", 905 "documentation":"<p>The list of key-value pairs created and assigned to the monitor.</p>" 906 } 907 }, 908 "documentation":"<p>Defines a probe when creating a probe or monitor.</p>" 909 }, 910 "ProbeList":{ 911 "type":"list", 912 "member":{"shape":"Probe"} 913 }, 914 "ProbeState":{ 915 "type":"string", 916 "enum":[ 917 "PENDING", 918 "ACTIVE", 919 "INACTIVE", 920 "ERROR", 921 "DELETING", 922 "DELETED" 923 ] 924 }, 925 "Protocol":{ 926 "type":"string", 927 "enum":[ 928 "TCP", 929 "ICMP" 930 ] 931 }, 932 "ResourceName":{ 933 "type":"string", 934 "max":255, 935 "min":1, 936 "pattern":"[a-zA-Z0-9_-]+" 937 }, 938 "ResourceNotFoundException":{ 939 "type":"structure", 940 "members":{ 941 "message":{"shape":"String"} 942 }, 943 "documentation":"<p>The specified resource does not exist.</p>", 944 "error":{ 945 "httpStatusCode":404, 946 "senderFault":true 947 }, 948 "exception":true 949 }, 950 "ServiceQuotaExceededException":{ 951 "type":"structure", 952 "members":{ 953 "message":{"shape":"String"} 954 }, 955 "documentation":"<p>This request exceeds a service quota.</p>", 956 "error":{ 957 "httpStatusCode":402, 958 "senderFault":true 959 }, 960 "exception":true 961 }, 962 "String":{"type":"string"}, 963 "TagKey":{ 964 "type":"string", 965 "max":128, 966 "min":1 967 }, 968 "TagKeyList":{ 969 "type":"list", 970 "member":{"shape":"TagKey"}, 971 "max":200, 972 "min":0 973 }, 974 "TagMap":{ 975 "type":"map", 976 "key":{"shape":"TagKey"}, 977 "value":{"shape":"TagValue"}, 978 "max":200, 979 "min":0 980 }, 981 "TagResourceInput":{ 982 "type":"structure", 983 "required":[ 984 "resourceArn", 985 "tags" 986 ], 987 "members":{ 988 "resourceArn":{ 989 "shape":"Arn", 990 "documentation":"<p>The ARN of the monitor or probe to tag.</p>", 991 "location":"uri", 992 "locationName":"resourceArn" 993 }, 994 "tags":{ 995 "shape":"TagMap", 996 "documentation":"<p>The list of key-value pairs assigned to the monitor or probe.</p>" 997 } 998 } 999 }, 1000 "TagResourceOutput":{ 1001 "type":"structure", 1002 "members":{ 1003 } 1004 }, 1005 "TagValue":{ 1006 "type":"string", 1007 "max":256, 1008 "min":0 1009 }, 1010 "ThrottlingException":{ 1011 "type":"structure", 1012 "members":{ 1013 "message":{"shape":"String"} 1014 }, 1015 "documentation":"<p>The request was denied due to request throttling</p>", 1016 "error":{ 1017 "httpStatusCode":429, 1018 "senderFault":true 1019 }, 1020 "exception":true, 1021 "retryable":{"throttling":true} 1022 }, 1023 "UntagResourceInput":{ 1024 "type":"structure", 1025 "required":[ 1026 "resourceArn", 1027 "tagKeys" 1028 ], 1029 "members":{ 1030 "resourceArn":{ 1031 "shape":"Arn", 1032 "documentation":"<p>The ARN of the monitor or probe that the tag should be removed from. </p>", 1033 "location":"uri", 1034 "locationName":"resourceArn" 1035 }, 1036 "tagKeys":{ 1037 "shape":"TagKeyList", 1038 "documentation":"<p>The key-value pa</p>", 1039 "location":"querystring", 1040 "locationName":"tagKeys" 1041 } 1042 } 1043 }, 1044 "UntagResourceOutput":{ 1045 "type":"structure", 1046 "members":{ 1047 } 1048 }, 1049 "UpdateMonitorInput":{ 1050 "type":"structure", 1051 "required":[ 1052 "monitorName", 1053 "aggregationPeriod" 1054 ], 1055 "members":{ 1056 "monitorName":{ 1057 "shape":"ResourceName", 1058 "documentation":"<p>The name of the monitor to update. Run <code>ListMonitors</code> to get a list of monitor names.</p>", 1059 "location":"uri", 1060 "locationName":"monitorName" 1061 }, 1062 "aggregationPeriod":{ 1063 "shape":"AggregationPeriod", 1064 "documentation":"<p>The aggregation time, in seconds, to change to. This must be either <code>30</code> or <code>60</code>. </p>" 1065 } 1066 } 1067 }, 1068 "UpdateMonitorOutput":{ 1069 "type":"structure", 1070 "required":[ 1071 "monitorArn", 1072 "monitorName", 1073 "state" 1074 ], 1075 "members":{ 1076 "monitorArn":{ 1077 "shape":"MonitorArn", 1078 "documentation":"<p>The ARN of the monitor that was updated.</p>" 1079 }, 1080 "monitorName":{ 1081 "shape":"ResourceName", 1082 "documentation":"<p>The name of the monitor that was updated.</p>" 1083 }, 1084 "state":{ 1085 "shape":"MonitorState", 1086 "documentation":"<p>The state of the updated monitor.</p>" 1087 }, 1088 "aggregationPeriod":{ 1089 "shape":"AggregationPeriod", 1090 "documentation":"<p>The changed aggregation period.</p>" 1091 }, 1092 "tags":{ 1093 "shape":"TagMap", 1094 "documentation":"<p>The list of key-value pairs associated with the monitor.</p>" 1095 } 1096 } 1097 }, 1098 "UpdateProbeInput":{ 1099 "type":"structure", 1100 "required":[ 1101 "monitorName", 1102 "probeId" 1103 ], 1104 "members":{ 1105 "monitorName":{ 1106 "shape":"ResourceName", 1107 "documentation":"<p>The name of the monitor that the probe was updated for.</p>", 1108 "location":"uri", 1109 "locationName":"monitorName" 1110 }, 1111 "probeId":{ 1112 "shape":"ProbeId", 1113 "documentation":"<p>Run <code>GetMonitor</code> to get a list of probes and probe IDs.</p>", 1114 "location":"uri", 1115 "locationName":"probeId" 1116 }, 1117 "state":{ 1118 "shape":"ProbeState", 1119 "documentation":"<p>The state of the probe update.</p>" 1120 }, 1121 "destination":{ 1122 "shape":"Destination", 1123 "documentation":"<p>The updated IP address for the probe destination. This must be either an IPv4 or IPv6 address.</p>" 1124 }, 1125 "destinationPort":{ 1126 "shape":"Port", 1127 "documentation":"<p>The updated port for the probe destination. This is required only if the <code>protocol</code> is <code>TCP</code> and must be a number between <code>1</code> and <code>65536</code>.</p>" 1128 }, 1129 "protocol":{ 1130 "shape":"Protocol", 1131 "documentation":"<p>The updated network protocol for the destination. This can be either <code>TCP</code> or <code>ICMP</code>. If the protocol is <code>TCP</code>, then <code>port</code> is also required.</p>" 1132 }, 1133 "packetSize":{ 1134 "shape":"PacketSize", 1135 "documentation":"<p>he updated packets size for network traffic between the source and destination. This must be a number between <code>56</code> and <code>8500</code>.</p>" 1136 } 1137 } 1138 }, 1139 "UpdateProbeOutput":{ 1140 "type":"structure", 1141 "required":[ 1142 "sourceArn", 1143 "destination", 1144 "protocol" 1145 ], 1146 "members":{ 1147 "probeId":{ 1148 "shape":"ProbeId", 1149 "documentation":"<p>The updated ID of the probe.</p>" 1150 }, 1151 "probeArn":{ 1152 "shape":"Arn", 1153 "documentation":"<p>The updated ARN of the probe.</p>" 1154 }, 1155 "sourceArn":{ 1156 "shape":"Arn", 1157 "documentation":"<p>The updated ARN of the source subnet.</p>" 1158 }, 1159 "destination":{ 1160 "shape":"Destination", 1161 "documentation":"<p>The updated destination IP address for the probe.</p>" 1162 }, 1163 "destinationPort":{ 1164 "shape":"Port", 1165 "documentation":"<p>The updated destination port. This will be a number between <code>1</code> and <code>65536</code>.</p>" 1166 }, 1167 "protocol":{ 1168 "shape":"Protocol", 1169 "documentation":"<p>The updated protocol for the probe.</p>" 1170 }, 1171 "packetSize":{ 1172 "shape":"PacketSize", 1173 "documentation":"<p>The updated packet size for the probe. </p>" 1174 }, 1175 "addressFamily":{ 1176 "shape":"AddressFamily", 1177 "documentation":"<p>The updated IP address family. This will be either <code>IPV4</code> or <code>IPV6</code>.</p>" 1178 }, 1179 "vpcId":{ 1180 "shape":"VpcId", 1181 "documentation":"<p>The updated ID of the source VPC subnet ID.</p>" 1182 }, 1183 "state":{ 1184 "shape":"ProbeState", 1185 "documentation":"<p>The state of the updated probe.</p>" 1186 }, 1187 "createdAt":{ 1188 "shape":"Iso8601Timestamp", 1189 "documentation":"<p>The time and date that the probe was created.</p>" 1190 }, 1191 "modifiedAt":{ 1192 "shape":"Iso8601Timestamp", 1193 "documentation":"<p>The time and date that the probe was last updated.</p>" 1194 }, 1195 "tags":{ 1196 "shape":"TagMap", 1197 "documentation":"<p>Update tags for a probe.</p>" 1198 } 1199 } 1200 }, 1201 "ValidationException":{ 1202 "type":"structure", 1203 "members":{ 1204 "message":{"shape":"String"} 1205 }, 1206 "documentation":"<p>One of the parameters for the request is not valid.</p>", 1207 "error":{ 1208 "httpStatusCode":400, 1209 "senderFault":true 1210 }, 1211 "exception":true 1212 }, 1213 "VpcId":{ 1214 "type":"string", 1215 "pattern":"vpc-[a-zA-Z0-9]{8,32}" 1216 } 1217 }, 1218 "documentation":"<p>Amazon CloudWatch Network Monitor is an Amazon Web Services active network monitoring service that identifies if a network issues exists within the Amazon Web Services network or your own company network. Within Network Monitor you'll choose the source VPCs and subnets from the Amazon Web Services network in which you operate and then you'll choose the destination IP addresses from your on-premises network. From these sources and destinations, Network Monitor creates a monitor containing all the possible source and destination combinations, each of which is called a probe, within a single monitor. These probes then monitor network traffic to help you identify where network issues might be affecting your traffic.</p> <p>For more information, see <a href=\"https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/what-is-network-monitor.html\">Using Amazon CloudWatch Network Monitor</a> in the <i>Amazon CloudWatch User Guide</i>.</p>" 1219} 1220