UNPKG

47.6 kBJSONView Raw
1{
2 "version": "2.0",
3 "metadata": {
4 "apiVersion": "2016-11-28",
5 "endpointPrefix": "waf-regional",
6 "jsonVersion": "1.1",
7 "protocol": "json",
8 "serviceAbbreviation": "WAF Regional",
9 "serviceFullName": "AWS WAF Regional",
10 "serviceId": "WAF Regional",
11 "signatureVersion": "v4",
12 "targetPrefix": "AWSWAF_Regional_20161128",
13 "uid": "waf-regional-2016-11-28"
14 },
15 "operations": {
16 "AssociateWebACL": {
17 "input": {
18 "type": "structure",
19 "required": [
20 "WebACLId",
21 "ResourceArn"
22 ],
23 "members": {
24 "WebACLId": {},
25 "ResourceArn": {}
26 }
27 },
28 "output": {
29 "type": "structure",
30 "members": {}
31 }
32 },
33 "CreateByteMatchSet": {
34 "input": {
35 "type": "structure",
36 "required": [
37 "Name",
38 "ChangeToken"
39 ],
40 "members": {
41 "Name": {},
42 "ChangeToken": {}
43 }
44 },
45 "output": {
46 "type": "structure",
47 "members": {
48 "ByteMatchSet": {
49 "shape": "S9"
50 },
51 "ChangeToken": {}
52 }
53 }
54 },
55 "CreateGeoMatchSet": {
56 "input": {
57 "type": "structure",
58 "required": [
59 "Name",
60 "ChangeToken"
61 ],
62 "members": {
63 "Name": {},
64 "ChangeToken": {}
65 }
66 },
67 "output": {
68 "type": "structure",
69 "members": {
70 "GeoMatchSet": {
71 "shape": "Sk"
72 },
73 "ChangeToken": {}
74 }
75 }
76 },
77 "CreateIPSet": {
78 "input": {
79 "type": "structure",
80 "required": [
81 "Name",
82 "ChangeToken"
83 ],
84 "members": {
85 "Name": {},
86 "ChangeToken": {}
87 }
88 },
89 "output": {
90 "type": "structure",
91 "members": {
92 "IPSet": {
93 "shape": "Sr"
94 },
95 "ChangeToken": {}
96 }
97 }
98 },
99 "CreateRateBasedRule": {
100 "input": {
101 "type": "structure",
102 "required": [
103 "Name",
104 "MetricName",
105 "RateKey",
106 "RateLimit",
107 "ChangeToken"
108 ],
109 "members": {
110 "Name": {},
111 "MetricName": {},
112 "RateKey": {},
113 "RateLimit": {
114 "type": "long"
115 },
116 "ChangeToken": {}
117 }
118 },
119 "output": {
120 "type": "structure",
121 "members": {
122 "Rule": {
123 "shape": "S11"
124 },
125 "ChangeToken": {}
126 }
127 }
128 },
129 "CreateRegexMatchSet": {
130 "input": {
131 "type": "structure",
132 "required": [
133 "Name",
134 "ChangeToken"
135 ],
136 "members": {
137 "Name": {},
138 "ChangeToken": {}
139 }
140 },
141 "output": {
142 "type": "structure",
143 "members": {
144 "RegexMatchSet": {
145 "shape": "S18"
146 },
147 "ChangeToken": {}
148 }
149 }
150 },
151 "CreateRegexPatternSet": {
152 "input": {
153 "type": "structure",
154 "required": [
155 "Name",
156 "ChangeToken"
157 ],
158 "members": {
159 "Name": {},
160 "ChangeToken": {}
161 }
162 },
163 "output": {
164 "type": "structure",
165 "members": {
166 "RegexPatternSet": {
167 "shape": "S1d"
168 },
169 "ChangeToken": {}
170 }
171 }
172 },
173 "CreateRule": {
174 "input": {
175 "type": "structure",
176 "required": [
177 "Name",
178 "MetricName",
179 "ChangeToken"
180 ],
181 "members": {
182 "Name": {},
183 "MetricName": {},
184 "ChangeToken": {}
185 }
186 },
187 "output": {
188 "type": "structure",
189 "members": {
190 "Rule": {
191 "shape": "S1i"
192 },
193 "ChangeToken": {}
194 }
195 }
196 },
197 "CreateRuleGroup": {
198 "input": {
199 "type": "structure",
200 "required": [
201 "Name",
202 "MetricName",
203 "ChangeToken"
204 ],
205 "members": {
206 "Name": {},
207 "MetricName": {},
208 "ChangeToken": {}
209 }
210 },
211 "output": {
212 "type": "structure",
213 "members": {
214 "RuleGroup": {
215 "shape": "S1l"
216 },
217 "ChangeToken": {}
218 }
219 }
220 },
221 "CreateSizeConstraintSet": {
222 "input": {
223 "type": "structure",
224 "required": [
225 "Name",
226 "ChangeToken"
227 ],
228 "members": {
229 "Name": {},
230 "ChangeToken": {}
231 }
232 },
233 "output": {
234 "type": "structure",
235 "members": {
236 "SizeConstraintSet": {
237 "shape": "S1o"
238 },
239 "ChangeToken": {}
240 }
241 }
242 },
243 "CreateSqlInjectionMatchSet": {
244 "input": {
245 "type": "structure",
246 "required": [
247 "Name",
248 "ChangeToken"
249 ],
250 "members": {
251 "Name": {},
252 "ChangeToken": {}
253 }
254 },
255 "output": {
256 "type": "structure",
257 "members": {
258 "SqlInjectionMatchSet": {
259 "shape": "S1v"
260 },
261 "ChangeToken": {}
262 }
263 }
264 },
265 "CreateWebACL": {
266 "input": {
267 "type": "structure",
268 "required": [
269 "Name",
270 "MetricName",
271 "DefaultAction",
272 "ChangeToken"
273 ],
274 "members": {
275 "Name": {},
276 "MetricName": {},
277 "DefaultAction": {
278 "shape": "S1z"
279 },
280 "ChangeToken": {}
281 }
282 },
283 "output": {
284 "type": "structure",
285 "members": {
286 "WebACL": {
287 "shape": "S22"
288 },
289 "ChangeToken": {}
290 }
291 }
292 },
293 "CreateXssMatchSet": {
294 "input": {
295 "type": "structure",
296 "required": [
297 "Name",
298 "ChangeToken"
299 ],
300 "members": {
301 "Name": {},
302 "ChangeToken": {}
303 }
304 },
305 "output": {
306 "type": "structure",
307 "members": {
308 "XssMatchSet": {
309 "shape": "S2d"
310 },
311 "ChangeToken": {}
312 }
313 }
314 },
315 "DeleteByteMatchSet": {
316 "input": {
317 "type": "structure",
318 "required": [
319 "ByteMatchSetId",
320 "ChangeToken"
321 ],
322 "members": {
323 "ByteMatchSetId": {},
324 "ChangeToken": {}
325 }
326 },
327 "output": {
328 "type": "structure",
329 "members": {
330 "ChangeToken": {}
331 }
332 }
333 },
334 "DeleteGeoMatchSet": {
335 "input": {
336 "type": "structure",
337 "required": [
338 "GeoMatchSetId",
339 "ChangeToken"
340 ],
341 "members": {
342 "GeoMatchSetId": {},
343 "ChangeToken": {}
344 }
345 },
346 "output": {
347 "type": "structure",
348 "members": {
349 "ChangeToken": {}
350 }
351 }
352 },
353 "DeleteIPSet": {
354 "input": {
355 "type": "structure",
356 "required": [
357 "IPSetId",
358 "ChangeToken"
359 ],
360 "members": {
361 "IPSetId": {},
362 "ChangeToken": {}
363 }
364 },
365 "output": {
366 "type": "structure",
367 "members": {
368 "ChangeToken": {}
369 }
370 }
371 },
372 "DeleteLoggingConfiguration": {
373 "input": {
374 "type": "structure",
375 "required": [
376 "ResourceArn"
377 ],
378 "members": {
379 "ResourceArn": {}
380 }
381 },
382 "output": {
383 "type": "structure",
384 "members": {}
385 }
386 },
387 "DeletePermissionPolicy": {
388 "input": {
389 "type": "structure",
390 "required": [
391 "ResourceArn"
392 ],
393 "members": {
394 "ResourceArn": {}
395 }
396 },
397 "output": {
398 "type": "structure",
399 "members": {}
400 }
401 },
402 "DeleteRateBasedRule": {
403 "input": {
404 "type": "structure",
405 "required": [
406 "RuleId",
407 "ChangeToken"
408 ],
409 "members": {
410 "RuleId": {},
411 "ChangeToken": {}
412 }
413 },
414 "output": {
415 "type": "structure",
416 "members": {
417 "ChangeToken": {}
418 }
419 }
420 },
421 "DeleteRegexMatchSet": {
422 "input": {
423 "type": "structure",
424 "required": [
425 "RegexMatchSetId",
426 "ChangeToken"
427 ],
428 "members": {
429 "RegexMatchSetId": {},
430 "ChangeToken": {}
431 }
432 },
433 "output": {
434 "type": "structure",
435 "members": {
436 "ChangeToken": {}
437 }
438 }
439 },
440 "DeleteRegexPatternSet": {
441 "input": {
442 "type": "structure",
443 "required": [
444 "RegexPatternSetId",
445 "ChangeToken"
446 ],
447 "members": {
448 "RegexPatternSetId": {},
449 "ChangeToken": {}
450 }
451 },
452 "output": {
453 "type": "structure",
454 "members": {
455 "ChangeToken": {}
456 }
457 }
458 },
459 "DeleteRule": {
460 "input": {
461 "type": "structure",
462 "required": [
463 "RuleId",
464 "ChangeToken"
465 ],
466 "members": {
467 "RuleId": {},
468 "ChangeToken": {}
469 }
470 },
471 "output": {
472 "type": "structure",
473 "members": {
474 "ChangeToken": {}
475 }
476 }
477 },
478 "DeleteRuleGroup": {
479 "input": {
480 "type": "structure",
481 "required": [
482 "RuleGroupId",
483 "ChangeToken"
484 ],
485 "members": {
486 "RuleGroupId": {},
487 "ChangeToken": {}
488 }
489 },
490 "output": {
491 "type": "structure",
492 "members": {
493 "ChangeToken": {}
494 }
495 }
496 },
497 "DeleteSizeConstraintSet": {
498 "input": {
499 "type": "structure",
500 "required": [
501 "SizeConstraintSetId",
502 "ChangeToken"
503 ],
504 "members": {
505 "SizeConstraintSetId": {},
506 "ChangeToken": {}
507 }
508 },
509 "output": {
510 "type": "structure",
511 "members": {
512 "ChangeToken": {}
513 }
514 }
515 },
516 "DeleteSqlInjectionMatchSet": {
517 "input": {
518 "type": "structure",
519 "required": [
520 "SqlInjectionMatchSetId",
521 "ChangeToken"
522 ],
523 "members": {
524 "SqlInjectionMatchSetId": {},
525 "ChangeToken": {}
526 }
527 },
528 "output": {
529 "type": "structure",
530 "members": {
531 "ChangeToken": {}
532 }
533 }
534 },
535 "DeleteWebACL": {
536 "input": {
537 "type": "structure",
538 "required": [
539 "WebACLId",
540 "ChangeToken"
541 ],
542 "members": {
543 "WebACLId": {},
544 "ChangeToken": {}
545 }
546 },
547 "output": {
548 "type": "structure",
549 "members": {
550 "ChangeToken": {}
551 }
552 }
553 },
554 "DeleteXssMatchSet": {
555 "input": {
556 "type": "structure",
557 "required": [
558 "XssMatchSetId",
559 "ChangeToken"
560 ],
561 "members": {
562 "XssMatchSetId": {},
563 "ChangeToken": {}
564 }
565 },
566 "output": {
567 "type": "structure",
568 "members": {
569 "ChangeToken": {}
570 }
571 }
572 },
573 "DisassociateWebACL": {
574 "input": {
575 "type": "structure",
576 "required": [
577 "ResourceArn"
578 ],
579 "members": {
580 "ResourceArn": {}
581 }
582 },
583 "output": {
584 "type": "structure",
585 "members": {}
586 }
587 },
588 "GetByteMatchSet": {
589 "input": {
590 "type": "structure",
591 "required": [
592 "ByteMatchSetId"
593 ],
594 "members": {
595 "ByteMatchSetId": {}
596 }
597 },
598 "output": {
599 "type": "structure",
600 "members": {
601 "ByteMatchSet": {
602 "shape": "S9"
603 }
604 }
605 }
606 },
607 "GetChangeToken": {
608 "input": {
609 "type": "structure",
610 "members": {}
611 },
612 "output": {
613 "type": "structure",
614 "members": {
615 "ChangeToken": {}
616 }
617 }
618 },
619 "GetChangeTokenStatus": {
620 "input": {
621 "type": "structure",
622 "required": [
623 "ChangeToken"
624 ],
625 "members": {
626 "ChangeToken": {}
627 }
628 },
629 "output": {
630 "type": "structure",
631 "members": {
632 "ChangeTokenStatus": {}
633 }
634 }
635 },
636 "GetGeoMatchSet": {
637 "input": {
638 "type": "structure",
639 "required": [
640 "GeoMatchSetId"
641 ],
642 "members": {
643 "GeoMatchSetId": {}
644 }
645 },
646 "output": {
647 "type": "structure",
648 "members": {
649 "GeoMatchSet": {
650 "shape": "Sk"
651 }
652 }
653 }
654 },
655 "GetIPSet": {
656 "input": {
657 "type": "structure",
658 "required": [
659 "IPSetId"
660 ],
661 "members": {
662 "IPSetId": {}
663 }
664 },
665 "output": {
666 "type": "structure",
667 "members": {
668 "IPSet": {
669 "shape": "Sr"
670 }
671 }
672 }
673 },
674 "GetLoggingConfiguration": {
675 "input": {
676 "type": "structure",
677 "required": [
678 "ResourceArn"
679 ],
680 "members": {
681 "ResourceArn": {}
682 }
683 },
684 "output": {
685 "type": "structure",
686 "members": {
687 "LoggingConfiguration": {
688 "shape": "S3n"
689 }
690 }
691 }
692 },
693 "GetPermissionPolicy": {
694 "input": {
695 "type": "structure",
696 "required": [
697 "ResourceArn"
698 ],
699 "members": {
700 "ResourceArn": {}
701 }
702 },
703 "output": {
704 "type": "structure",
705 "members": {
706 "Policy": {}
707 }
708 }
709 },
710 "GetRateBasedRule": {
711 "input": {
712 "type": "structure",
713 "required": [
714 "RuleId"
715 ],
716 "members": {
717 "RuleId": {}
718 }
719 },
720 "output": {
721 "type": "structure",
722 "members": {
723 "Rule": {
724 "shape": "S11"
725 }
726 }
727 }
728 },
729 "GetRateBasedRuleManagedKeys": {
730 "input": {
731 "type": "structure",
732 "required": [
733 "RuleId"
734 ],
735 "members": {
736 "RuleId": {},
737 "NextMarker": {}
738 }
739 },
740 "output": {
741 "type": "structure",
742 "members": {
743 "ManagedKeys": {
744 "type": "list",
745 "member": {}
746 },
747 "NextMarker": {}
748 }
749 }
750 },
751 "GetRegexMatchSet": {
752 "input": {
753 "type": "structure",
754 "required": [
755 "RegexMatchSetId"
756 ],
757 "members": {
758 "RegexMatchSetId": {}
759 }
760 },
761 "output": {
762 "type": "structure",
763 "members": {
764 "RegexMatchSet": {
765 "shape": "S18"
766 }
767 }
768 }
769 },
770 "GetRegexPatternSet": {
771 "input": {
772 "type": "structure",
773 "required": [
774 "RegexPatternSetId"
775 ],
776 "members": {
777 "RegexPatternSetId": {}
778 }
779 },
780 "output": {
781 "type": "structure",
782 "members": {
783 "RegexPatternSet": {
784 "shape": "S1d"
785 }
786 }
787 }
788 },
789 "GetRule": {
790 "input": {
791 "type": "structure",
792 "required": [
793 "RuleId"
794 ],
795 "members": {
796 "RuleId": {}
797 }
798 },
799 "output": {
800 "type": "structure",
801 "members": {
802 "Rule": {
803 "shape": "S1i"
804 }
805 }
806 }
807 },
808 "GetRuleGroup": {
809 "input": {
810 "type": "structure",
811 "required": [
812 "RuleGroupId"
813 ],
814 "members": {
815 "RuleGroupId": {}
816 }
817 },
818 "output": {
819 "type": "structure",
820 "members": {
821 "RuleGroup": {
822 "shape": "S1l"
823 }
824 }
825 }
826 },
827 "GetSampledRequests": {
828 "input": {
829 "type": "structure",
830 "required": [
831 "WebAclId",
832 "RuleId",
833 "TimeWindow",
834 "MaxItems"
835 ],
836 "members": {
837 "WebAclId": {},
838 "RuleId": {},
839 "TimeWindow": {
840 "shape": "S49"
841 },
842 "MaxItems": {
843 "type": "long"
844 }
845 }
846 },
847 "output": {
848 "type": "structure",
849 "members": {
850 "SampledRequests": {
851 "type": "list",
852 "member": {
853 "type": "structure",
854 "required": [
855 "Request",
856 "Weight"
857 ],
858 "members": {
859 "Request": {
860 "type": "structure",
861 "members": {
862 "ClientIP": {},
863 "Country": {},
864 "URI": {},
865 "Method": {},
866 "HTTPVersion": {},
867 "Headers": {
868 "type": "list",
869 "member": {
870 "type": "structure",
871 "members": {
872 "Name": {},
873 "Value": {}
874 }
875 }
876 }
877 }
878 },
879 "Weight": {
880 "type": "long"
881 },
882 "Timestamp": {
883 "type": "timestamp"
884 },
885 "Action": {},
886 "RuleWithinRuleGroup": {}
887 }
888 }
889 },
890 "PopulationSize": {
891 "type": "long"
892 },
893 "TimeWindow": {
894 "shape": "S49"
895 }
896 }
897 }
898 },
899 "GetSizeConstraintSet": {
900 "input": {
901 "type": "structure",
902 "required": [
903 "SizeConstraintSetId"
904 ],
905 "members": {
906 "SizeConstraintSetId": {}
907 }
908 },
909 "output": {
910 "type": "structure",
911 "members": {
912 "SizeConstraintSet": {
913 "shape": "S1o"
914 }
915 }
916 }
917 },
918 "GetSqlInjectionMatchSet": {
919 "input": {
920 "type": "structure",
921 "required": [
922 "SqlInjectionMatchSetId"
923 ],
924 "members": {
925 "SqlInjectionMatchSetId": {}
926 }
927 },
928 "output": {
929 "type": "structure",
930 "members": {
931 "SqlInjectionMatchSet": {
932 "shape": "S1v"
933 }
934 }
935 }
936 },
937 "GetWebACL": {
938 "input": {
939 "type": "structure",
940 "required": [
941 "WebACLId"
942 ],
943 "members": {
944 "WebACLId": {}
945 }
946 },
947 "output": {
948 "type": "structure",
949 "members": {
950 "WebACL": {
951 "shape": "S22"
952 }
953 }
954 }
955 },
956 "GetWebACLForResource": {
957 "input": {
958 "type": "structure",
959 "required": [
960 "ResourceArn"
961 ],
962 "members": {
963 "ResourceArn": {}
964 }
965 },
966 "output": {
967 "type": "structure",
968 "members": {
969 "WebACLSummary": {
970 "shape": "S50"
971 }
972 }
973 }
974 },
975 "GetXssMatchSet": {
976 "input": {
977 "type": "structure",
978 "required": [
979 "XssMatchSetId"
980 ],
981 "members": {
982 "XssMatchSetId": {}
983 }
984 },
985 "output": {
986 "type": "structure",
987 "members": {
988 "XssMatchSet": {
989 "shape": "S2d"
990 }
991 }
992 }
993 },
994 "ListActivatedRulesInRuleGroup": {
995 "input": {
996 "type": "structure",
997 "members": {
998 "RuleGroupId": {},
999 "NextMarker": {},
1000 "Limit": {
1001 "type": "integer"
1002 }
1003 }
1004 },
1005 "output": {
1006 "type": "structure",
1007 "members": {
1008 "NextMarker": {},
1009 "ActivatedRules": {
1010 "shape": "S23"
1011 }
1012 }
1013 }
1014 },
1015 "ListByteMatchSets": {
1016 "input": {
1017 "type": "structure",
1018 "members": {
1019 "NextMarker": {},
1020 "Limit": {
1021 "type": "integer"
1022 }
1023 }
1024 },
1025 "output": {
1026 "type": "structure",
1027 "members": {
1028 "NextMarker": {},
1029 "ByteMatchSets": {
1030 "type": "list",
1031 "member": {
1032 "type": "structure",
1033 "required": [
1034 "ByteMatchSetId",
1035 "Name"
1036 ],
1037 "members": {
1038 "ByteMatchSetId": {},
1039 "Name": {}
1040 }
1041 }
1042 }
1043 }
1044 }
1045 },
1046 "ListGeoMatchSets": {
1047 "input": {
1048 "type": "structure",
1049 "members": {
1050 "NextMarker": {},
1051 "Limit": {
1052 "type": "integer"
1053 }
1054 }
1055 },
1056 "output": {
1057 "type": "structure",
1058 "members": {
1059 "NextMarker": {},
1060 "GeoMatchSets": {
1061 "type": "list",
1062 "member": {
1063 "type": "structure",
1064 "required": [
1065 "GeoMatchSetId",
1066 "Name"
1067 ],
1068 "members": {
1069 "GeoMatchSetId": {},
1070 "Name": {}
1071 }
1072 }
1073 }
1074 }
1075 }
1076 },
1077 "ListIPSets": {
1078 "input": {
1079 "type": "structure",
1080 "members": {
1081 "NextMarker": {},
1082 "Limit": {
1083 "type": "integer"
1084 }
1085 }
1086 },
1087 "output": {
1088 "type": "structure",
1089 "members": {
1090 "NextMarker": {},
1091 "IPSets": {
1092 "type": "list",
1093 "member": {
1094 "type": "structure",
1095 "required": [
1096 "IPSetId",
1097 "Name"
1098 ],
1099 "members": {
1100 "IPSetId": {},
1101 "Name": {}
1102 }
1103 }
1104 }
1105 }
1106 }
1107 },
1108 "ListLoggingConfigurations": {
1109 "input": {
1110 "type": "structure",
1111 "members": {
1112 "NextMarker": {},
1113 "Limit": {
1114 "type": "integer"
1115 }
1116 }
1117 },
1118 "output": {
1119 "type": "structure",
1120 "members": {
1121 "LoggingConfigurations": {
1122 "type": "list",
1123 "member": {
1124 "shape": "S3n"
1125 }
1126 },
1127 "NextMarker": {}
1128 }
1129 }
1130 },
1131 "ListRateBasedRules": {
1132 "input": {
1133 "type": "structure",
1134 "members": {
1135 "NextMarker": {},
1136 "Limit": {
1137 "type": "integer"
1138 }
1139 }
1140 },
1141 "output": {
1142 "type": "structure",
1143 "members": {
1144 "NextMarker": {},
1145 "Rules": {
1146 "shape": "S5n"
1147 }
1148 }
1149 }
1150 },
1151 "ListRegexMatchSets": {
1152 "input": {
1153 "type": "structure",
1154 "members": {
1155 "NextMarker": {},
1156 "Limit": {
1157 "type": "integer"
1158 }
1159 }
1160 },
1161 "output": {
1162 "type": "structure",
1163 "members": {
1164 "NextMarker": {},
1165 "RegexMatchSets": {
1166 "type": "list",
1167 "member": {
1168 "type": "structure",
1169 "required": [
1170 "RegexMatchSetId",
1171 "Name"
1172 ],
1173 "members": {
1174 "RegexMatchSetId": {},
1175 "Name": {}
1176 }
1177 }
1178 }
1179 }
1180 }
1181 },
1182 "ListRegexPatternSets": {
1183 "input": {
1184 "type": "structure",
1185 "members": {
1186 "NextMarker": {},
1187 "Limit": {
1188 "type": "integer"
1189 }
1190 }
1191 },
1192 "output": {
1193 "type": "structure",
1194 "members": {
1195 "NextMarker": {},
1196 "RegexPatternSets": {
1197 "type": "list",
1198 "member": {
1199 "type": "structure",
1200 "required": [
1201 "RegexPatternSetId",
1202 "Name"
1203 ],
1204 "members": {
1205 "RegexPatternSetId": {},
1206 "Name": {}
1207 }
1208 }
1209 }
1210 }
1211 }
1212 },
1213 "ListResourcesForWebACL": {
1214 "input": {
1215 "type": "structure",
1216 "required": [
1217 "WebACLId"
1218 ],
1219 "members": {
1220 "WebACLId": {},
1221 "ResourceType": {}
1222 }
1223 },
1224 "output": {
1225 "type": "structure",
1226 "members": {
1227 "ResourceArns": {
1228 "type": "list",
1229 "member": {}
1230 }
1231 }
1232 }
1233 },
1234 "ListRuleGroups": {
1235 "input": {
1236 "type": "structure",
1237 "members": {
1238 "NextMarker": {},
1239 "Limit": {
1240 "type": "integer"
1241 }
1242 }
1243 },
1244 "output": {
1245 "type": "structure",
1246 "members": {
1247 "NextMarker": {},
1248 "RuleGroups": {
1249 "type": "list",
1250 "member": {
1251 "type": "structure",
1252 "required": [
1253 "RuleGroupId",
1254 "Name"
1255 ],
1256 "members": {
1257 "RuleGroupId": {},
1258 "Name": {}
1259 }
1260 }
1261 }
1262 }
1263 }
1264 },
1265 "ListRules": {
1266 "input": {
1267 "type": "structure",
1268 "members": {
1269 "NextMarker": {},
1270 "Limit": {
1271 "type": "integer"
1272 }
1273 }
1274 },
1275 "output": {
1276 "type": "structure",
1277 "members": {
1278 "NextMarker": {},
1279 "Rules": {
1280 "shape": "S5n"
1281 }
1282 }
1283 }
1284 },
1285 "ListSizeConstraintSets": {
1286 "input": {
1287 "type": "structure",
1288 "members": {
1289 "NextMarker": {},
1290 "Limit": {
1291 "type": "integer"
1292 }
1293 }
1294 },
1295 "output": {
1296 "type": "structure",
1297 "members": {
1298 "NextMarker": {},
1299 "SizeConstraintSets": {
1300 "type": "list",
1301 "member": {
1302 "type": "structure",
1303 "required": [
1304 "SizeConstraintSetId",
1305 "Name"
1306 ],
1307 "members": {
1308 "SizeConstraintSetId": {},
1309 "Name": {}
1310 }
1311 }
1312 }
1313 }
1314 }
1315 },
1316 "ListSqlInjectionMatchSets": {
1317 "input": {
1318 "type": "structure",
1319 "members": {
1320 "NextMarker": {},
1321 "Limit": {
1322 "type": "integer"
1323 }
1324 }
1325 },
1326 "output": {
1327 "type": "structure",
1328 "members": {
1329 "NextMarker": {},
1330 "SqlInjectionMatchSets": {
1331 "type": "list",
1332 "member": {
1333 "type": "structure",
1334 "required": [
1335 "SqlInjectionMatchSetId",
1336 "Name"
1337 ],
1338 "members": {
1339 "SqlInjectionMatchSetId": {},
1340 "Name": {}
1341 }
1342 }
1343 }
1344 }
1345 }
1346 },
1347 "ListSubscribedRuleGroups": {
1348 "input": {
1349 "type": "structure",
1350 "members": {
1351 "NextMarker": {},
1352 "Limit": {
1353 "type": "integer"
1354 }
1355 }
1356 },
1357 "output": {
1358 "type": "structure",
1359 "members": {
1360 "NextMarker": {},
1361 "RuleGroups": {
1362 "type": "list",
1363 "member": {
1364 "type": "structure",
1365 "required": [
1366 "RuleGroupId",
1367 "Name",
1368 "MetricName"
1369 ],
1370 "members": {
1371 "RuleGroupId": {},
1372 "Name": {},
1373 "MetricName": {}
1374 }
1375 }
1376 }
1377 }
1378 }
1379 },
1380 "ListWebACLs": {
1381 "input": {
1382 "type": "structure",
1383 "members": {
1384 "NextMarker": {},
1385 "Limit": {
1386 "type": "integer"
1387 }
1388 }
1389 },
1390 "output": {
1391 "type": "structure",
1392 "members": {
1393 "NextMarker": {},
1394 "WebACLs": {
1395 "type": "list",
1396 "member": {
1397 "shape": "S50"
1398 }
1399 }
1400 }
1401 }
1402 },
1403 "ListXssMatchSets": {
1404 "input": {
1405 "type": "structure",
1406 "members": {
1407 "NextMarker": {},
1408 "Limit": {
1409 "type": "integer"
1410 }
1411 }
1412 },
1413 "output": {
1414 "type": "structure",
1415 "members": {
1416 "NextMarker": {},
1417 "XssMatchSets": {
1418 "type": "list",
1419 "member": {
1420 "type": "structure",
1421 "required": [
1422 "XssMatchSetId",
1423 "Name"
1424 ],
1425 "members": {
1426 "XssMatchSetId": {},
1427 "Name": {}
1428 }
1429 }
1430 }
1431 }
1432 }
1433 },
1434 "PutLoggingConfiguration": {
1435 "input": {
1436 "type": "structure",
1437 "required": [
1438 "LoggingConfiguration"
1439 ],
1440 "members": {
1441 "LoggingConfiguration": {
1442 "shape": "S3n"
1443 }
1444 }
1445 },
1446 "output": {
1447 "type": "structure",
1448 "members": {
1449 "LoggingConfiguration": {
1450 "shape": "S3n"
1451 }
1452 }
1453 }
1454 },
1455 "PutPermissionPolicy": {
1456 "input": {
1457 "type": "structure",
1458 "required": [
1459 "ResourceArn",
1460 "Policy"
1461 ],
1462 "members": {
1463 "ResourceArn": {},
1464 "Policy": {}
1465 }
1466 },
1467 "output": {
1468 "type": "structure",
1469 "members": {}
1470 }
1471 },
1472 "UpdateByteMatchSet": {
1473 "input": {
1474 "type": "structure",
1475 "required": [
1476 "ByteMatchSetId",
1477 "ChangeToken",
1478 "Updates"
1479 ],
1480 "members": {
1481 "ByteMatchSetId": {},
1482 "ChangeToken": {},
1483 "Updates": {
1484 "type": "list",
1485 "member": {
1486 "type": "structure",
1487 "required": [
1488 "Action",
1489 "ByteMatchTuple"
1490 ],
1491 "members": {
1492 "Action": {},
1493 "ByteMatchTuple": {
1494 "shape": "Sb"
1495 }
1496 }
1497 }
1498 }
1499 }
1500 },
1501 "output": {
1502 "type": "structure",
1503 "members": {
1504 "ChangeToken": {}
1505 }
1506 }
1507 },
1508 "UpdateGeoMatchSet": {
1509 "input": {
1510 "type": "structure",
1511 "required": [
1512 "GeoMatchSetId",
1513 "ChangeToken",
1514 "Updates"
1515 ],
1516 "members": {
1517 "GeoMatchSetId": {},
1518 "ChangeToken": {},
1519 "Updates": {
1520 "type": "list",
1521 "member": {
1522 "type": "structure",
1523 "required": [
1524 "Action",
1525 "GeoMatchConstraint"
1526 ],
1527 "members": {
1528 "Action": {},
1529 "GeoMatchConstraint": {
1530 "shape": "Sm"
1531 }
1532 }
1533 }
1534 }
1535 }
1536 },
1537 "output": {
1538 "type": "structure",
1539 "members": {
1540 "ChangeToken": {}
1541 }
1542 }
1543 },
1544 "UpdateIPSet": {
1545 "input": {
1546 "type": "structure",
1547 "required": [
1548 "IPSetId",
1549 "ChangeToken",
1550 "Updates"
1551 ],
1552 "members": {
1553 "IPSetId": {},
1554 "ChangeToken": {},
1555 "Updates": {
1556 "type": "list",
1557 "member": {
1558 "type": "structure",
1559 "required": [
1560 "Action",
1561 "IPSetDescriptor"
1562 ],
1563 "members": {
1564 "Action": {},
1565 "IPSetDescriptor": {
1566 "shape": "St"
1567 }
1568 }
1569 }
1570 }
1571 }
1572 },
1573 "output": {
1574 "type": "structure",
1575 "members": {
1576 "ChangeToken": {}
1577 }
1578 }
1579 },
1580 "UpdateRateBasedRule": {
1581 "input": {
1582 "type": "structure",
1583 "required": [
1584 "RuleId",
1585 "ChangeToken",
1586 "Updates",
1587 "RateLimit"
1588 ],
1589 "members": {
1590 "RuleId": {},
1591 "ChangeToken": {},
1592 "Updates": {
1593 "shape": "S78"
1594 },
1595 "RateLimit": {
1596 "type": "long"
1597 }
1598 }
1599 },
1600 "output": {
1601 "type": "structure",
1602 "members": {
1603 "ChangeToken": {}
1604 }
1605 }
1606 },
1607 "UpdateRegexMatchSet": {
1608 "input": {
1609 "type": "structure",
1610 "required": [
1611 "RegexMatchSetId",
1612 "Updates",
1613 "ChangeToken"
1614 ],
1615 "members": {
1616 "RegexMatchSetId": {},
1617 "Updates": {
1618 "type": "list",
1619 "member": {
1620 "type": "structure",
1621 "required": [
1622 "Action",
1623 "RegexMatchTuple"
1624 ],
1625 "members": {
1626 "Action": {},
1627 "RegexMatchTuple": {
1628 "shape": "S1a"
1629 }
1630 }
1631 }
1632 },
1633 "ChangeToken": {}
1634 }
1635 },
1636 "output": {
1637 "type": "structure",
1638 "members": {
1639 "ChangeToken": {}
1640 }
1641 }
1642 },
1643 "UpdateRegexPatternSet": {
1644 "input": {
1645 "type": "structure",
1646 "required": [
1647 "RegexPatternSetId",
1648 "Updates",
1649 "ChangeToken"
1650 ],
1651 "members": {
1652 "RegexPatternSetId": {},
1653 "Updates": {
1654 "type": "list",
1655 "member": {
1656 "type": "structure",
1657 "required": [
1658 "Action",
1659 "RegexPatternString"
1660 ],
1661 "members": {
1662 "Action": {},
1663 "RegexPatternString": {}
1664 }
1665 }
1666 },
1667 "ChangeToken": {}
1668 }
1669 },
1670 "output": {
1671 "type": "structure",
1672 "members": {
1673 "ChangeToken": {}
1674 }
1675 }
1676 },
1677 "UpdateRule": {
1678 "input": {
1679 "type": "structure",
1680 "required": [
1681 "RuleId",
1682 "ChangeToken",
1683 "Updates"
1684 ],
1685 "members": {
1686 "RuleId": {},
1687 "ChangeToken": {},
1688 "Updates": {
1689 "shape": "S78"
1690 }
1691 }
1692 },
1693 "output": {
1694 "type": "structure",
1695 "members": {
1696 "ChangeToken": {}
1697 }
1698 }
1699 },
1700 "UpdateRuleGroup": {
1701 "input": {
1702 "type": "structure",
1703 "required": [
1704 "RuleGroupId",
1705 "Updates",
1706 "ChangeToken"
1707 ],
1708 "members": {
1709 "RuleGroupId": {},
1710 "Updates": {
1711 "type": "list",
1712 "member": {
1713 "type": "structure",
1714 "required": [
1715 "Action",
1716 "ActivatedRule"
1717 ],
1718 "members": {
1719 "Action": {},
1720 "ActivatedRule": {
1721 "shape": "S24"
1722 }
1723 }
1724 }
1725 },
1726 "ChangeToken": {}
1727 }
1728 },
1729 "output": {
1730 "type": "structure",
1731 "members": {
1732 "ChangeToken": {}
1733 }
1734 }
1735 },
1736 "UpdateSizeConstraintSet": {
1737 "input": {
1738 "type": "structure",
1739 "required": [
1740 "SizeConstraintSetId",
1741 "ChangeToken",
1742 "Updates"
1743 ],
1744 "members": {
1745 "SizeConstraintSetId": {},
1746 "ChangeToken": {},
1747 "Updates": {
1748 "type": "list",
1749 "member": {
1750 "type": "structure",
1751 "required": [
1752 "Action",
1753 "SizeConstraint"
1754 ],
1755 "members": {
1756 "Action": {},
1757 "SizeConstraint": {
1758 "shape": "S1q"
1759 }
1760 }
1761 }
1762 }
1763 }
1764 },
1765 "output": {
1766 "type": "structure",
1767 "members": {
1768 "ChangeToken": {}
1769 }
1770 }
1771 },
1772 "UpdateSqlInjectionMatchSet": {
1773 "input": {
1774 "type": "structure",
1775 "required": [
1776 "SqlInjectionMatchSetId",
1777 "ChangeToken",
1778 "Updates"
1779 ],
1780 "members": {
1781 "SqlInjectionMatchSetId": {},
1782 "ChangeToken": {},
1783 "Updates": {
1784 "type": "list",
1785 "member": {
1786 "type": "structure",
1787 "required": [
1788 "Action",
1789 "SqlInjectionMatchTuple"
1790 ],
1791 "members": {
1792 "Action": {},
1793 "SqlInjectionMatchTuple": {
1794 "shape": "S1x"
1795 }
1796 }
1797 }
1798 }
1799 }
1800 },
1801 "output": {
1802 "type": "structure",
1803 "members": {
1804 "ChangeToken": {}
1805 }
1806 }
1807 },
1808 "UpdateWebACL": {
1809 "input": {
1810 "type": "structure",
1811 "required": [
1812 "WebACLId",
1813 "ChangeToken"
1814 ],
1815 "members": {
1816 "WebACLId": {},
1817 "ChangeToken": {},
1818 "Updates": {
1819 "type": "list",
1820 "member": {
1821 "type": "structure",
1822 "required": [
1823 "Action",
1824 "ActivatedRule"
1825 ],
1826 "members": {
1827 "Action": {},
1828 "ActivatedRule": {
1829 "shape": "S24"
1830 }
1831 }
1832 }
1833 },
1834 "DefaultAction": {
1835 "shape": "S1z"
1836 }
1837 }
1838 },
1839 "output": {
1840 "type": "structure",
1841 "members": {
1842 "ChangeToken": {}
1843 }
1844 }
1845 },
1846 "UpdateXssMatchSet": {
1847 "input": {
1848 "type": "structure",
1849 "required": [
1850 "XssMatchSetId",
1851 "ChangeToken",
1852 "Updates"
1853 ],
1854 "members": {
1855 "XssMatchSetId": {},
1856 "ChangeToken": {},
1857 "Updates": {
1858 "type": "list",
1859 "member": {
1860 "type": "structure",
1861 "required": [
1862 "Action",
1863 "XssMatchTuple"
1864 ],
1865 "members": {
1866 "Action": {},
1867 "XssMatchTuple": {
1868 "shape": "S2f"
1869 }
1870 }
1871 }
1872 }
1873 }
1874 },
1875 "output": {
1876 "type": "structure",
1877 "members": {
1878 "ChangeToken": {}
1879 }
1880 }
1881 }
1882 },
1883 "shapes": {
1884 "S9": {
1885 "type": "structure",
1886 "required": [
1887 "ByteMatchSetId",
1888 "ByteMatchTuples"
1889 ],
1890 "members": {
1891 "ByteMatchSetId": {},
1892 "Name": {},
1893 "ByteMatchTuples": {
1894 "type": "list",
1895 "member": {
1896 "shape": "Sb"
1897 }
1898 }
1899 }
1900 },
1901 "Sb": {
1902 "type": "structure",
1903 "required": [
1904 "FieldToMatch",
1905 "TargetString",
1906 "TextTransformation",
1907 "PositionalConstraint"
1908 ],
1909 "members": {
1910 "FieldToMatch": {
1911 "shape": "Sc"
1912 },
1913 "TargetString": {
1914 "type": "blob"
1915 },
1916 "TextTransformation": {},
1917 "PositionalConstraint": {}
1918 }
1919 },
1920 "Sc": {
1921 "type": "structure",
1922 "required": [
1923 "Type"
1924 ],
1925 "members": {
1926 "Type": {},
1927 "Data": {}
1928 }
1929 },
1930 "Sk": {
1931 "type": "structure",
1932 "required": [
1933 "GeoMatchSetId",
1934 "GeoMatchConstraints"
1935 ],
1936 "members": {
1937 "GeoMatchSetId": {},
1938 "Name": {},
1939 "GeoMatchConstraints": {
1940 "type": "list",
1941 "member": {
1942 "shape": "Sm"
1943 }
1944 }
1945 }
1946 },
1947 "Sm": {
1948 "type": "structure",
1949 "required": [
1950 "Type",
1951 "Value"
1952 ],
1953 "members": {
1954 "Type": {},
1955 "Value": {}
1956 }
1957 },
1958 "Sr": {
1959 "type": "structure",
1960 "required": [
1961 "IPSetId",
1962 "IPSetDescriptors"
1963 ],
1964 "members": {
1965 "IPSetId": {},
1966 "Name": {},
1967 "IPSetDescriptors": {
1968 "type": "list",
1969 "member": {
1970 "shape": "St"
1971 }
1972 }
1973 }
1974 },
1975 "St": {
1976 "type": "structure",
1977 "required": [
1978 "Type",
1979 "Value"
1980 ],
1981 "members": {
1982 "Type": {},
1983 "Value": {}
1984 }
1985 },
1986 "S11": {
1987 "type": "structure",
1988 "required": [
1989 "RuleId",
1990 "MatchPredicates",
1991 "RateKey",
1992 "RateLimit"
1993 ],
1994 "members": {
1995 "RuleId": {},
1996 "Name": {},
1997 "MetricName": {},
1998 "MatchPredicates": {
1999 "shape": "S12"
2000 },
2001 "RateKey": {},
2002 "RateLimit": {
2003 "type": "long"
2004 }
2005 }
2006 },
2007 "S12": {
2008 "type": "list",
2009 "member": {
2010 "shape": "S13"
2011 }
2012 },
2013 "S13": {
2014 "type": "structure",
2015 "required": [
2016 "Negated",
2017 "Type",
2018 "DataId"
2019 ],
2020 "members": {
2021 "Negated": {
2022 "type": "boolean"
2023 },
2024 "Type": {},
2025 "DataId": {}
2026 }
2027 },
2028 "S18": {
2029 "type": "structure",
2030 "members": {
2031 "RegexMatchSetId": {},
2032 "Name": {},
2033 "RegexMatchTuples": {
2034 "type": "list",
2035 "member": {
2036 "shape": "S1a"
2037 }
2038 }
2039 }
2040 },
2041 "S1a": {
2042 "type": "structure",
2043 "required": [
2044 "FieldToMatch",
2045 "TextTransformation",
2046 "RegexPatternSetId"
2047 ],
2048 "members": {
2049 "FieldToMatch": {
2050 "shape": "Sc"
2051 },
2052 "TextTransformation": {},
2053 "RegexPatternSetId": {}
2054 }
2055 },
2056 "S1d": {
2057 "type": "structure",
2058 "required": [
2059 "RegexPatternSetId",
2060 "RegexPatternStrings"
2061 ],
2062 "members": {
2063 "RegexPatternSetId": {},
2064 "Name": {},
2065 "RegexPatternStrings": {
2066 "type": "list",
2067 "member": {}
2068 }
2069 }
2070 },
2071 "S1i": {
2072 "type": "structure",
2073 "required": [
2074 "RuleId",
2075 "Predicates"
2076 ],
2077 "members": {
2078 "RuleId": {},
2079 "Name": {},
2080 "MetricName": {},
2081 "Predicates": {
2082 "shape": "S12"
2083 }
2084 }
2085 },
2086 "S1l": {
2087 "type": "structure",
2088 "required": [
2089 "RuleGroupId"
2090 ],
2091 "members": {
2092 "RuleGroupId": {},
2093 "Name": {},
2094 "MetricName": {}
2095 }
2096 },
2097 "S1o": {
2098 "type": "structure",
2099 "required": [
2100 "SizeConstraintSetId",
2101 "SizeConstraints"
2102 ],
2103 "members": {
2104 "SizeConstraintSetId": {},
2105 "Name": {},
2106 "SizeConstraints": {
2107 "type": "list",
2108 "member": {
2109 "shape": "S1q"
2110 }
2111 }
2112 }
2113 },
2114 "S1q": {
2115 "type": "structure",
2116 "required": [
2117 "FieldToMatch",
2118 "TextTransformation",
2119 "ComparisonOperator",
2120 "Size"
2121 ],
2122 "members": {
2123 "FieldToMatch": {
2124 "shape": "Sc"
2125 },
2126 "TextTransformation": {},
2127 "ComparisonOperator": {},
2128 "Size": {
2129 "type": "long"
2130 }
2131 }
2132 },
2133 "S1v": {
2134 "type": "structure",
2135 "required": [
2136 "SqlInjectionMatchSetId",
2137 "SqlInjectionMatchTuples"
2138 ],
2139 "members": {
2140 "SqlInjectionMatchSetId": {},
2141 "Name": {},
2142 "SqlInjectionMatchTuples": {
2143 "type": "list",
2144 "member": {
2145 "shape": "S1x"
2146 }
2147 }
2148 }
2149 },
2150 "S1x": {
2151 "type": "structure",
2152 "required": [
2153 "FieldToMatch",
2154 "TextTransformation"
2155 ],
2156 "members": {
2157 "FieldToMatch": {
2158 "shape": "Sc"
2159 },
2160 "TextTransformation": {}
2161 }
2162 },
2163 "S1z": {
2164 "type": "structure",
2165 "required": [
2166 "Type"
2167 ],
2168 "members": {
2169 "Type": {}
2170 }
2171 },
2172 "S22": {
2173 "type": "structure",
2174 "required": [
2175 "WebACLId",
2176 "DefaultAction",
2177 "Rules"
2178 ],
2179 "members": {
2180 "WebACLId": {},
2181 "Name": {},
2182 "MetricName": {},
2183 "DefaultAction": {
2184 "shape": "S1z"
2185 },
2186 "Rules": {
2187 "shape": "S23"
2188 },
2189 "WebACLArn": {}
2190 }
2191 },
2192 "S23": {
2193 "type": "list",
2194 "member": {
2195 "shape": "S24"
2196 }
2197 },
2198 "S24": {
2199 "type": "structure",
2200 "required": [
2201 "Priority",
2202 "RuleId"
2203 ],
2204 "members": {
2205 "Priority": {
2206 "type": "integer"
2207 },
2208 "RuleId": {},
2209 "Action": {
2210 "shape": "S1z"
2211 },
2212 "OverrideAction": {
2213 "type": "structure",
2214 "required": [
2215 "Type"
2216 ],
2217 "members": {
2218 "Type": {}
2219 }
2220 },
2221 "Type": {},
2222 "ExcludedRules": {
2223 "type": "list",
2224 "member": {
2225 "type": "structure",
2226 "required": [
2227 "RuleId"
2228 ],
2229 "members": {
2230 "RuleId": {}
2231 }
2232 }
2233 }
2234 }
2235 },
2236 "S2d": {
2237 "type": "structure",
2238 "required": [
2239 "XssMatchSetId",
2240 "XssMatchTuples"
2241 ],
2242 "members": {
2243 "XssMatchSetId": {},
2244 "Name": {},
2245 "XssMatchTuples": {
2246 "type": "list",
2247 "member": {
2248 "shape": "S2f"
2249 }
2250 }
2251 }
2252 },
2253 "S2f": {
2254 "type": "structure",
2255 "required": [
2256 "FieldToMatch",
2257 "TextTransformation"
2258 ],
2259 "members": {
2260 "FieldToMatch": {
2261 "shape": "Sc"
2262 },
2263 "TextTransformation": {}
2264 }
2265 },
2266 "S3n": {
2267 "type": "structure",
2268 "required": [
2269 "ResourceArn",
2270 "LogDestinationConfigs"
2271 ],
2272 "members": {
2273 "ResourceArn": {},
2274 "LogDestinationConfigs": {
2275 "type": "list",
2276 "member": {}
2277 },
2278 "RedactedFields": {
2279 "type": "list",
2280 "member": {
2281 "shape": "Sc"
2282 }
2283 }
2284 }
2285 },
2286 "S49": {
2287 "type": "structure",
2288 "required": [
2289 "StartTime",
2290 "EndTime"
2291 ],
2292 "members": {
2293 "StartTime": {
2294 "type": "timestamp"
2295 },
2296 "EndTime": {
2297 "type": "timestamp"
2298 }
2299 }
2300 },
2301 "S50": {
2302 "type": "structure",
2303 "required": [
2304 "WebACLId",
2305 "Name"
2306 ],
2307 "members": {
2308 "WebACLId": {},
2309 "Name": {}
2310 }
2311 },
2312 "S5n": {
2313 "type": "list",
2314 "member": {
2315 "type": "structure",
2316 "required": [
2317 "RuleId",
2318 "Name"
2319 ],
2320 "members": {
2321 "RuleId": {},
2322 "Name": {}
2323 }
2324 }
2325 },
2326 "S78": {
2327 "type": "list",
2328 "member": {
2329 "type": "structure",
2330 "required": [
2331 "Action",
2332 "Predicate"
2333 ],
2334 "members": {
2335 "Action": {},
2336 "Predicate": {
2337 "shape": "S13"
2338 }
2339 }
2340 }
2341 }
2342 }
2343}
\No newline at end of file