aws-sdk-waf 1.0.0.rc8 → 1.0.0.rc9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 663905a7b3208929449c414eb0e1e983a772e1e4
4
- data.tar.gz: 8edaf15d950ba9089938d286c197277dbf614a8f
3
+ metadata.gz: d3294d6d7630be316c280b3d894fe1229f85dffd
4
+ data.tar.gz: 9511cc0b15364029e83470ec492288c8c7003095
5
5
  SHA512:
6
- metadata.gz: cfdd0d1f5e06053b2a9711b223194fa266fb8cd735ce32b2a5652fdf6ddb53321c6055ceee08991afc0f428fa9cc9c39a1c3c62992f209ada54d9ff86ae2378b
7
- data.tar.gz: dab98399f11222f93162bdd7ccda2faa9ca6c34e337bcd4c8cc10cba2767f98276458002e05ccaaeb5f052b03e0a153e995f1e64a84f7dc283b0721568867ed7
6
+ metadata.gz: 56ef40f24efd3717fab17b6f7e8c6728d67613591c9b4d6f5af57dbc4dddc4844294af6ddfe2121ac48e31f75f45e6a36cfc713169872ba215f98210693e53c9
7
+ data.tar.gz: e82c3bf3b1c83f158a69771f75f91fcee29e4c5e0b1fba0a57317cfa209fec174db20f946bd0bd406eee8935ad2f9f69e4dc0180d0d2165c2e3539db0b25d662
@@ -42,6 +42,6 @@ require_relative 'aws-sdk-waf/customizations'
42
42
  # @service
43
43
  module Aws::WAF
44
44
 
45
- GEM_VERSION = '1.0.0.rc8'
45
+ GEM_VERSION = '1.0.0.rc9'
46
46
 
47
47
  end
@@ -263,6 +263,31 @@ module Aws::WAF
263
263
  # * {Types::CreateIPSetResponse#ip_set #ip_set} => Types::IPSet
264
264
  # * {Types::CreateIPSetResponse#change_token #change_token} => String
265
265
  #
266
+ #
267
+ # @example Example: To create an IP set
268
+ #
269
+ # # The following example creates an IP match set named MyIPSetFriendlyName.
270
+ #
271
+ # resp = client.create_ip_set({
272
+ # change_token: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f",
273
+ # name: "MyIPSetFriendlyName",
274
+ # })
275
+ #
276
+ # resp.to_h outputs the following:
277
+ # {
278
+ # change_token: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f",
279
+ # ip_set: {
280
+ # ip_set_descriptors: [
281
+ # {
282
+ # type: "IPV4",
283
+ # value: "192.0.2.44/32",
284
+ # },
285
+ # ],
286
+ # ip_set_id: "example1ds3t-46da-4fdb-b8d5-abc321j569j5",
287
+ # name: "MyIPSetFriendlyName",
288
+ # },
289
+ # }
290
+ #
266
291
  # @example Request syntax with placeholder values
267
292
  #
268
293
  # resp = client.create_ip_set({
@@ -485,6 +510,34 @@ module Aws::WAF
485
510
  # * {Types::CreateRuleResponse#rule #rule} => Types::Rule
486
511
  # * {Types::CreateRuleResponse#change_token #change_token} => String
487
512
  #
513
+ #
514
+ # @example Example: To create a rule
515
+ #
516
+ # # The following example creates a rule named WAFByteHeaderRule.
517
+ #
518
+ # resp = client.create_rule({
519
+ # change_token: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f",
520
+ # metric_name: "WAFByteHeaderRule",
521
+ # name: "WAFByteHeaderRule",
522
+ # })
523
+ #
524
+ # resp.to_h outputs the following:
525
+ # {
526
+ # change_token: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f",
527
+ # rule: {
528
+ # metric_name: "WAFByteHeaderRule",
529
+ # name: "WAFByteHeaderRule",
530
+ # predicates: [
531
+ # {
532
+ # data_id: "MyByteMatchSetID",
533
+ # negated: false,
534
+ # type: "ByteMatch",
535
+ # },
536
+ # ],
537
+ # rule_id: "WAFRule-1-Example",
538
+ # },
539
+ # }
540
+ #
488
541
  # @example Request syntax with placeholder values
489
542
  #
490
543
  # resp = client.create_rule({
@@ -556,6 +609,35 @@ module Aws::WAF
556
609
  # * {Types::CreateSizeConstraintSetResponse#size_constraint_set #size_constraint_set} => Types::SizeConstraintSet
557
610
  # * {Types::CreateSizeConstraintSetResponse#change_token #change_token} => String
558
611
  #
612
+ #
613
+ # @example Example: To create a size constraint
614
+ #
615
+ # # The following example creates size constraint set named MySampleSizeConstraintSet.
616
+ #
617
+ # resp = client.create_size_constraint_set({
618
+ # change_token: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f",
619
+ # name: "MySampleSizeConstraintSet",
620
+ # })
621
+ #
622
+ # resp.to_h outputs the following:
623
+ # {
624
+ # change_token: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f",
625
+ # size_constraint_set: {
626
+ # name: "MySampleSizeConstraintSet",
627
+ # size_constraint_set_id: "example1ds3t-46da-4fdb-b8d5-abc321j569j5",
628
+ # size_constraints: [
629
+ # {
630
+ # comparison_operator: "GT",
631
+ # field_to_match: {
632
+ # type: "QUERY_STRING",
633
+ # },
634
+ # size: 0,
635
+ # text_transformation: "NONE",
636
+ # },
637
+ # ],
638
+ # },
639
+ # }
640
+ #
559
641
  # @example Request syntax with placeholder values
560
642
  #
561
643
  # resp = client.create_size_constraint_set({
@@ -625,6 +707,33 @@ module Aws::WAF
625
707
  # * {Types::CreateSqlInjectionMatchSetResponse#sql_injection_match_set #sql_injection_match_set} => Types::SqlInjectionMatchSet
626
708
  # * {Types::CreateSqlInjectionMatchSetResponse#change_token #change_token} => String
627
709
  #
710
+ #
711
+ # @example Example: To create a SQL injection match set
712
+ #
713
+ # # The following example creates a SQL injection match set named MySQLInjectionMatchSet.
714
+ #
715
+ # resp = client.create_sql_injection_match_set({
716
+ # change_token: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f",
717
+ # name: "MySQLInjectionMatchSet",
718
+ # })
719
+ #
720
+ # resp.to_h outputs the following:
721
+ # {
722
+ # change_token: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f",
723
+ # sql_injection_match_set: {
724
+ # name: "MySQLInjectionMatchSet",
725
+ # sql_injection_match_set_id: "example1ds3t-46da-4fdb-b8d5-abc321j569j5",
726
+ # sql_injection_match_tuples: [
727
+ # {
728
+ # field_to_match: {
729
+ # type: "QUERY_STRING",
730
+ # },
731
+ # text_transformation: "URL_DECODE",
732
+ # },
733
+ # ],
734
+ # },
735
+ # }
736
+ #
628
737
  # @example Request syntax with placeholder values
629
738
  #
630
739
  # resp = client.create_sql_injection_match_set({
@@ -712,6 +821,42 @@ module Aws::WAF
712
821
  # * {Types::CreateWebACLResponse#web_acl #web_acl} => Types::WebACL
713
822
  # * {Types::CreateWebACLResponse#change_token #change_token} => String
714
823
  #
824
+ #
825
+ # @example Example: To create a web ACL
826
+ #
827
+ # # The following example creates a web ACL named CreateExample.
828
+ #
829
+ # resp = client.create_web_acl({
830
+ # change_token: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f",
831
+ # default_action: {
832
+ # type: "ALLOW",
833
+ # },
834
+ # metric_name: "CreateExample",
835
+ # name: "CreateExample",
836
+ # })
837
+ #
838
+ # resp.to_h outputs the following:
839
+ # {
840
+ # change_token: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f",
841
+ # web_acl: {
842
+ # default_action: {
843
+ # type: "ALLOW",
844
+ # },
845
+ # metric_name: "CreateExample",
846
+ # name: "CreateExample",
847
+ # rules: [
848
+ # {
849
+ # action: {
850
+ # type: "ALLOW",
851
+ # },
852
+ # priority: 1,
853
+ # rule_id: "WAFRule-1-Example",
854
+ # },
855
+ # ],
856
+ # web_acl_id: "example-46da-4444-5555-example",
857
+ # },
858
+ # }
859
+ #
715
860
  # @example Request syntax with placeholder values
716
861
  #
717
862
  # resp = client.create_web_acl({
@@ -783,6 +928,33 @@ module Aws::WAF
783
928
  # * {Types::CreateXssMatchSetResponse#xss_match_set #xss_match_set} => Types::XssMatchSet
784
929
  # * {Types::CreateXssMatchSetResponse#change_token #change_token} => String
785
930
  #
931
+ #
932
+ # @example Example: To create an XSS match set
933
+ #
934
+ # # The following example creates an XSS match set named MySampleXssMatchSet.
935
+ #
936
+ # resp = client.create_xss_match_set({
937
+ # change_token: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f",
938
+ # name: "MySampleXssMatchSet",
939
+ # })
940
+ #
941
+ # resp.to_h outputs the following:
942
+ # {
943
+ # change_token: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f",
944
+ # xss_match_set: {
945
+ # name: "MySampleXssMatchSet",
946
+ # xss_match_set_id: "example1ds3t-46da-4fdb-b8d5-abc321j569j5",
947
+ # xss_match_tuples: [
948
+ # {
949
+ # field_to_match: {
950
+ # type: "QUERY_STRING",
951
+ # },
952
+ # text_transformation: "URL_DECODE",
953
+ # },
954
+ # ],
955
+ # },
956
+ # }
957
+ #
786
958
  # @example Request syntax with placeholder values
787
959
  #
788
960
  # resp = client.create_xss_match_set({
@@ -838,6 +1010,21 @@ module Aws::WAF
838
1010
  #
839
1011
  # * {Types::DeleteByteMatchSetResponse#change_token #change_token} => String
840
1012
  #
1013
+ #
1014
+ # @example Example: To delete a byte match set
1015
+ #
1016
+ # # The following example deletes a byte match set with the ID exampleIDs3t-46da-4fdb-b8d5-abc321j569j5.
1017
+ #
1018
+ # resp = client.delete_byte_match_set({
1019
+ # byte_match_set_id: "exampleIDs3t-46da-4fdb-b8d5-abc321j569j5",
1020
+ # change_token: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f",
1021
+ # })
1022
+ #
1023
+ # resp.to_h outputs the following:
1024
+ # {
1025
+ # change_token: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f",
1026
+ # }
1027
+ #
841
1028
  # @example Request syntax with placeholder values
842
1029
  #
843
1030
  # resp = client.delete_byte_match_set({
@@ -885,6 +1072,21 @@ module Aws::WAF
885
1072
  #
886
1073
  # * {Types::DeleteIPSetResponse#change_token #change_token} => String
887
1074
  #
1075
+ #
1076
+ # @example Example: To delete an IP set
1077
+ #
1078
+ # # The following example deletes an IP match set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.
1079
+ #
1080
+ # resp = client.delete_ip_set({
1081
+ # change_token: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f",
1082
+ # ip_set_id: "example1ds3t-46da-4fdb-b8d5-abc321j569j5",
1083
+ # })
1084
+ #
1085
+ # resp.to_h outputs the following:
1086
+ # {
1087
+ # change_token: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f",
1088
+ # }
1089
+ #
888
1090
  # @example Request syntax with placeholder values
889
1091
  #
890
1092
  # resp = client.delete_ip_set({
@@ -981,6 +1183,21 @@ module Aws::WAF
981
1183
  #
982
1184
  # * {Types::DeleteRuleResponse#change_token #change_token} => String
983
1185
  #
1186
+ #
1187
+ # @example Example: To delete a rule
1188
+ #
1189
+ # # The following example deletes a rule with the ID WAFRule-1-Example.
1190
+ #
1191
+ # resp = client.delete_rule({
1192
+ # change_token: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f",
1193
+ # rule_id: "WAFRule-1-Example",
1194
+ # })
1195
+ #
1196
+ # resp.to_h outputs the following:
1197
+ # {
1198
+ # change_token: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f",
1199
+ # }
1200
+ #
984
1201
  # @example Request syntax with placeholder values
985
1202
  #
986
1203
  # resp = client.delete_rule({
@@ -1031,6 +1248,21 @@ module Aws::WAF
1031
1248
  #
1032
1249
  # * {Types::DeleteSizeConstraintSetResponse#change_token #change_token} => String
1033
1250
  #
1251
+ #
1252
+ # @example Example: To delete a size constraint set
1253
+ #
1254
+ # # The following example deletes a size constraint set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.
1255
+ #
1256
+ # resp = client.delete_size_constraint_set({
1257
+ # change_token: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f",
1258
+ # size_constraint_set_id: "example1ds3t-46da-4fdb-b8d5-abc321j569j5",
1259
+ # })
1260
+ #
1261
+ # resp.to_h outputs the following:
1262
+ # {
1263
+ # change_token: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f",
1264
+ # }
1265
+ #
1034
1266
  # @example Request syntax with placeholder values
1035
1267
  #
1036
1268
  # resp = client.delete_size_constraint_set({
@@ -1081,6 +1313,21 @@ module Aws::WAF
1081
1313
  #
1082
1314
  # * {Types::DeleteSqlInjectionMatchSetResponse#change_token #change_token} => String
1083
1315
  #
1316
+ #
1317
+ # @example Example: To delete a SQL injection match set
1318
+ #
1319
+ # # The following example deletes a SQL injection match set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.
1320
+ #
1321
+ # resp = client.delete_sql_injection_match_set({
1322
+ # change_token: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f",
1323
+ # sql_injection_match_set_id: "example1ds3t-46da-4fdb-b8d5-abc321j569j5",
1324
+ # })
1325
+ #
1326
+ # resp.to_h outputs the following:
1327
+ # {
1328
+ # change_token: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f",
1329
+ # }
1330
+ #
1084
1331
  # @example Request syntax with placeholder values
1085
1332
  #
1086
1333
  # resp = client.delete_sql_injection_match_set({
@@ -1125,6 +1372,21 @@ module Aws::WAF
1125
1372
  #
1126
1373
  # * {Types::DeleteWebACLResponse#change_token #change_token} => String
1127
1374
  #
1375
+ #
1376
+ # @example Example: To delete a web ACL
1377
+ #
1378
+ # # The following example deletes a web ACL with the ID example-46da-4444-5555-example.
1379
+ #
1380
+ # resp = client.delete_web_acl({
1381
+ # change_token: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f",
1382
+ # web_acl_id: "example-46da-4444-5555-example",
1383
+ # })
1384
+ #
1385
+ # resp.to_h outputs the following:
1386
+ # {
1387
+ # change_token: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f",
1388
+ # }
1389
+ #
1128
1390
  # @example Request syntax with placeholder values
1129
1391
  #
1130
1392
  # resp = client.delete_web_acl({
@@ -1175,6 +1437,21 @@ module Aws::WAF
1175
1437
  #
1176
1438
  # * {Types::DeleteXssMatchSetResponse#change_token #change_token} => String
1177
1439
  #
1440
+ #
1441
+ # @example Example: To delete an XSS match set
1442
+ #
1443
+ # # The following example deletes an XSS match set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.
1444
+ #
1445
+ # resp = client.delete_xss_match_set({
1446
+ # change_token: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f",
1447
+ # xss_match_set_id: "example1ds3t-46da-4fdb-b8d5-abc321j569j5",
1448
+ # })
1449
+ #
1450
+ # resp.to_h outputs the following:
1451
+ # {
1452
+ # change_token: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f",
1453
+ # }
1454
+ #
1178
1455
  # @example Request syntax with placeholder values
1179
1456
  #
1180
1457
  # resp = client.delete_xss_match_set({
@@ -1206,6 +1483,34 @@ module Aws::WAF
1206
1483
  #
1207
1484
  # * {Types::GetByteMatchSetResponse#byte_match_set #byte_match_set} => Types::ByteMatchSet
1208
1485
  #
1486
+ #
1487
+ # @example Example: To get a byte match set
1488
+ #
1489
+ # # The following example returns the details of a byte match set with the ID exampleIDs3t-46da-4fdb-b8d5-abc321j569j5.
1490
+ #
1491
+ # resp = client.get_byte_match_set({
1492
+ # byte_match_set_id: "exampleIDs3t-46da-4fdb-b8d5-abc321j569j5",
1493
+ # })
1494
+ #
1495
+ # resp.to_h outputs the following:
1496
+ # {
1497
+ # byte_match_set: {
1498
+ # byte_match_set_id: "exampleIDs3t-46da-4fdb-b8d5-abc321j569j5",
1499
+ # byte_match_tuples: [
1500
+ # {
1501
+ # field_to_match: {
1502
+ # data: "referer",
1503
+ # type: "HEADER",
1504
+ # },
1505
+ # positional_constraint: "CONTAINS",
1506
+ # target_string: "badrefer1",
1507
+ # text_transformation: "NONE",
1508
+ # },
1509
+ # ],
1510
+ # name: "ByteMatchNameExample",
1511
+ # },
1512
+ # }
1513
+ #
1209
1514
  # @example Request syntax with placeholder values
1210
1515
  #
1211
1516
  # resp = client.get_byte_match_set({
@@ -1252,6 +1557,19 @@ module Aws::WAF
1252
1557
  #
1253
1558
  # * {Types::GetChangeTokenResponse#change_token #change_token} => String
1254
1559
  #
1560
+ #
1561
+ # @example Example: To get a change token
1562
+ #
1563
+ # # The following example returns a change token to use for a create, update or delete operation.
1564
+ #
1565
+ # resp = client.get_change_token({
1566
+ # })
1567
+ #
1568
+ # resp.to_h outputs the following:
1569
+ # {
1570
+ # change_token: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f",
1571
+ # }
1572
+ #
1255
1573
  # @example Response structure
1256
1574
  #
1257
1575
  # resp.change_token #=> String
@@ -1285,6 +1603,20 @@ module Aws::WAF
1285
1603
  #
1286
1604
  # * {Types::GetChangeTokenStatusResponse#change_token_status #change_token_status} => String
1287
1605
  #
1606
+ #
1607
+ # @example Example: To get the change token status
1608
+ #
1609
+ # # The following example returns the status of a change token with the ID abcd12f2-46da-4fdb-b8d5-fbd4c466928f.
1610
+ #
1611
+ # resp = client.get_change_token_status({
1612
+ # change_token: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f",
1613
+ # })
1614
+ #
1615
+ # resp.to_h outputs the following:
1616
+ # {
1617
+ # change_token_status: "PENDING",
1618
+ # }
1619
+ #
1288
1620
  # @example Request syntax with placeholder values
1289
1621
  #
1290
1622
  # resp = client.get_change_token_status({
@@ -1314,6 +1646,29 @@ module Aws::WAF
1314
1646
  #
1315
1647
  # * {Types::GetIPSetResponse#ip_set #ip_set} => Types::IPSet
1316
1648
  #
1649
+ #
1650
+ # @example Example: To get an IP set
1651
+ #
1652
+ # # The following example returns the details of an IP match set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.
1653
+ #
1654
+ # resp = client.get_ip_set({
1655
+ # ip_set_id: "example1ds3t-46da-4fdb-b8d5-abc321j569j5",
1656
+ # })
1657
+ #
1658
+ # resp.to_h outputs the following:
1659
+ # {
1660
+ # ip_set: {
1661
+ # ip_set_descriptors: [
1662
+ # {
1663
+ # type: "IPV4",
1664
+ # value: "192.0.2.44/32",
1665
+ # },
1666
+ # ],
1667
+ # ip_set_id: "example1ds3t-46da-4fdb-b8d5-abc321j569j5",
1668
+ # name: "MyIPSetFriendlyName",
1669
+ # },
1670
+ # }
1671
+ #
1317
1672
  # @example Request syntax with placeholder values
1318
1673
  #
1319
1674
  # resp = client.get_ip_set({
@@ -1428,6 +1783,31 @@ module Aws::WAF
1428
1783
  #
1429
1784
  # * {Types::GetRuleResponse#rule #rule} => Types::Rule
1430
1785
  #
1786
+ #
1787
+ # @example Example: To get a rule
1788
+ #
1789
+ # # The following example returns the details of a rule with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.
1790
+ #
1791
+ # resp = client.get_rule({
1792
+ # rule_id: "example1ds3t-46da-4fdb-b8d5-abc321j569j5",
1793
+ # })
1794
+ #
1795
+ # resp.to_h outputs the following:
1796
+ # {
1797
+ # rule: {
1798
+ # metric_name: "WAFByteHeaderRule",
1799
+ # name: "WAFByteHeaderRule",
1800
+ # predicates: [
1801
+ # {
1802
+ # data_id: "MyByteMatchSetID",
1803
+ # negated: false,
1804
+ # type: "ByteMatch",
1805
+ # },
1806
+ # ],
1807
+ # rule_id: "example1ds3t-46da-4fdb-b8d5-abc321j569j5",
1808
+ # },
1809
+ # }
1810
+ #
1431
1811
  # @example Request syntax with placeholder values
1432
1812
  #
1433
1813
  # resp = client.get_rule({
@@ -1500,6 +1880,49 @@ module Aws::WAF
1500
1880
  # * {Types::GetSampledRequestsResponse#population_size #population_size} => Integer
1501
1881
  # * {Types::GetSampledRequestsResponse#time_window #time_window} => Types::TimeWindow
1502
1882
  #
1883
+ #
1884
+ # @example Example: To get a sampled requests
1885
+ #
1886
+ # # The following example returns detailed information about 100 requests --a sample-- that AWS WAF randomly selects from among the first 5,000 requests that your AWS resource received between the time period 2016-09-27T15:50Z to 2016-09-27T15:50Z.
1887
+ #
1888
+ # resp = client.get_sampled_requests({
1889
+ # max_items: 100,
1890
+ # rule_id: "WAFRule-1-Example",
1891
+ # time_window: {
1892
+ # end_time: Time.parse("2016-09-27T15:50Z"),
1893
+ # start_time: Time.parse("2016-09-27T15:50Z"),
1894
+ # },
1895
+ # web_acl_id: "createwebacl-1472061481310",
1896
+ # })
1897
+ #
1898
+ # resp.to_h outputs the following:
1899
+ # {
1900
+ # population_size: 50,
1901
+ # sampled_requests: [
1902
+ # {
1903
+ # action: "BLOCK",
1904
+ # request: {
1905
+ # client_ip: "192.0.2.44",
1906
+ # country: "US",
1907
+ # http_version: "HTTP/1.1",
1908
+ # headers: [
1909
+ # {
1910
+ # name: "User-Agent",
1911
+ # value: "BadBot ",
1912
+ # },
1913
+ # ],
1914
+ # method: "HEAD",
1915
+ # },
1916
+ # timestamp: Time.parse("2016-09-27T14:55Z"),
1917
+ # weight: 1,
1918
+ # },
1919
+ # ],
1920
+ # time_window: {
1921
+ # end_time: Time.parse("2016-09-27T15:50Z"),
1922
+ # start_time: Time.parse("2016-09-27T14:50Z"),
1923
+ # },
1924
+ # }
1925
+ #
1503
1926
  # @example Request syntax with placeholder values
1504
1927
  #
1505
1928
  # resp = client.get_sampled_requests({
@@ -1550,6 +1973,33 @@ module Aws::WAF
1550
1973
  #
1551
1974
  # * {Types::GetSizeConstraintSetResponse#size_constraint_set #size_constraint_set} => Types::SizeConstraintSet
1552
1975
  #
1976
+ #
1977
+ # @example Example: To get a size constraint set
1978
+ #
1979
+ # # The following example returns the details of a size constraint match set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.
1980
+ #
1981
+ # resp = client.get_size_constraint_set({
1982
+ # size_constraint_set_id: "example1ds3t-46da-4fdb-b8d5-abc321j569j5",
1983
+ # })
1984
+ #
1985
+ # resp.to_h outputs the following:
1986
+ # {
1987
+ # size_constraint_set: {
1988
+ # name: "MySampleSizeConstraintSet",
1989
+ # size_constraint_set_id: "example1ds3t-46da-4fdb-b8d5-abc321j569j5",
1990
+ # size_constraints: [
1991
+ # {
1992
+ # comparison_operator: "GT",
1993
+ # field_to_match: {
1994
+ # type: "QUERY_STRING",
1995
+ # },
1996
+ # size: 0,
1997
+ # text_transformation: "NONE",
1998
+ # },
1999
+ # ],
2000
+ # },
2001
+ # }
2002
+ #
1553
2003
  # @example Request syntax with placeholder values
1554
2004
  #
1555
2005
  # resp = client.get_size_constraint_set({
@@ -1588,6 +2038,31 @@ module Aws::WAF
1588
2038
  #
1589
2039
  # * {Types::GetSqlInjectionMatchSetResponse#sql_injection_match_set #sql_injection_match_set} => Types::SqlInjectionMatchSet
1590
2040
  #
2041
+ #
2042
+ # @example Example: To get a SQL injection match set
2043
+ #
2044
+ # # The following example returns the details of a SQL injection match set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.
2045
+ #
2046
+ # resp = client.get_sql_injection_match_set({
2047
+ # sql_injection_match_set_id: "example1ds3t-46da-4fdb-b8d5-abc321j569j5",
2048
+ # })
2049
+ #
2050
+ # resp.to_h outputs the following:
2051
+ # {
2052
+ # sql_injection_match_set: {
2053
+ # name: "MySQLInjectionMatchSet",
2054
+ # sql_injection_match_set_id: "example1ds3t-46da-4fdb-b8d5-abc321j569j5",
2055
+ # sql_injection_match_tuples: [
2056
+ # {
2057
+ # field_to_match: {
2058
+ # type: "QUERY_STRING",
2059
+ # },
2060
+ # text_transformation: "URL_DECODE",
2061
+ # },
2062
+ # ],
2063
+ # },
2064
+ # }
2065
+ #
1591
2066
  # @example Request syntax with placeholder values
1592
2067
  #
1593
2068
  # resp = client.get_sql_injection_match_set({
@@ -1622,6 +2097,36 @@ module Aws::WAF
1622
2097
  #
1623
2098
  # * {Types::GetWebACLResponse#web_acl #web_acl} => Types::WebACL
1624
2099
  #
2100
+ #
2101
+ # @example Example: To get a web ACL
2102
+ #
2103
+ # # The following example returns the details of a web ACL with the ID createwebacl-1472061481310.
2104
+ #
2105
+ # resp = client.get_web_acl({
2106
+ # web_acl_id: "createwebacl-1472061481310",
2107
+ # })
2108
+ #
2109
+ # resp.to_h outputs the following:
2110
+ # {
2111
+ # web_acl: {
2112
+ # default_action: {
2113
+ # type: "ALLOW",
2114
+ # },
2115
+ # metric_name: "CreateExample",
2116
+ # name: "CreateExample",
2117
+ # rules: [
2118
+ # {
2119
+ # action: {
2120
+ # type: "ALLOW",
2121
+ # },
2122
+ # priority: 1,
2123
+ # rule_id: "WAFRule-1-Example",
2124
+ # },
2125
+ # ],
2126
+ # web_acl_id: "createwebacl-1472061481310",
2127
+ # },
2128
+ # }
2129
+ #
1625
2130
  # @example Request syntax with placeholder values
1626
2131
  #
1627
2132
  # resp = client.get_web_acl({
@@ -1660,6 +2165,31 @@ module Aws::WAF
1660
2165
  #
1661
2166
  # * {Types::GetXssMatchSetResponse#xss_match_set #xss_match_set} => Types::XssMatchSet
1662
2167
  #
2168
+ #
2169
+ # @example Example: To get an XSS match set
2170
+ #
2171
+ # # The following example returns the details of an XSS match set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.
2172
+ #
2173
+ # resp = client.get_xss_match_set({
2174
+ # xss_match_set_id: "example1ds3t-46da-4fdb-b8d5-abc321j569j5",
2175
+ # })
2176
+ #
2177
+ # resp.to_h outputs the following:
2178
+ # {
2179
+ # xss_match_set: {
2180
+ # name: "MySampleXssMatchSet",
2181
+ # xss_match_set_id: "example1ds3t-46da-4fdb-b8d5-abc321j569j5",
2182
+ # xss_match_tuples: [
2183
+ # {
2184
+ # field_to_match: {
2185
+ # type: "QUERY_STRING",
2186
+ # },
2187
+ # text_transformation: "URL_DECODE",
2188
+ # },
2189
+ # ],
2190
+ # },
2191
+ # }
2192
+ #
1663
2193
  # @example Request syntax with placeholder values
1664
2194
  #
1665
2195
  # resp = client.get_xss_match_set({
@@ -1750,6 +2280,25 @@ module Aws::WAF
1750
2280
  # * {Types::ListIPSetsResponse#next_marker #next_marker} => String
1751
2281
  # * {Types::ListIPSetsResponse#ip_sets #ip_sets} => Array<Types::IPSetSummary>
1752
2282
  #
2283
+ #
2284
+ # @example Example: To list IP sets
2285
+ #
2286
+ # # The following example returns an array of up to 100 IP match sets.
2287
+ #
2288
+ # resp = client.list_ip_sets({
2289
+ # limit: 100,
2290
+ # })
2291
+ #
2292
+ # resp.to_h outputs the following:
2293
+ # {
2294
+ # ip_sets: [
2295
+ # {
2296
+ # ip_set_id: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f",
2297
+ # name: "MyIPSetFriendlyName",
2298
+ # },
2299
+ # ],
2300
+ # }
2301
+ #
1753
2302
  # @example Request syntax with placeholder values
1754
2303
  #
1755
2304
  # resp = client.list_ip_sets({
@@ -1838,6 +2387,25 @@ module Aws::WAF
1838
2387
  # * {Types::ListRulesResponse#next_marker #next_marker} => String
1839
2388
  # * {Types::ListRulesResponse#rules #rules} => Array<Types::RuleSummary>
1840
2389
  #
2390
+ #
2391
+ # @example Example: To list rules
2392
+ #
2393
+ # # The following example returns an array of up to 100 rules.
2394
+ #
2395
+ # resp = client.list_rules({
2396
+ # limit: 100,
2397
+ # })
2398
+ #
2399
+ # resp.to_h outputs the following:
2400
+ # {
2401
+ # rules: [
2402
+ # {
2403
+ # name: "WAFByteHeaderRule",
2404
+ # rule_id: "WAFRule-1-Example",
2405
+ # },
2406
+ # ],
2407
+ # }
2408
+ #
1841
2409
  # @example Request syntax with placeholder values
1842
2410
  #
1843
2411
  # resp = client.list_rules({
@@ -1884,6 +2452,25 @@ module Aws::WAF
1884
2452
  # * {Types::ListSizeConstraintSetsResponse#next_marker #next_marker} => String
1885
2453
  # * {Types::ListSizeConstraintSetsResponse#size_constraint_sets #size_constraint_sets} => Array<Types::SizeConstraintSetSummary>
1886
2454
  #
2455
+ #
2456
+ # @example Example: To list a size constraint sets
2457
+ #
2458
+ # # The following example returns an array of up to 100 size contraint match sets.
2459
+ #
2460
+ # resp = client.list_size_constraint_sets({
2461
+ # limit: 100,
2462
+ # })
2463
+ #
2464
+ # resp.to_h outputs the following:
2465
+ # {
2466
+ # size_constraint_sets: [
2467
+ # {
2468
+ # name: "MySampleSizeConstraintSet",
2469
+ # size_constraint_set_id: "example1ds3t-46da-4fdb-b8d5-abc321j569j5",
2470
+ # },
2471
+ # ],
2472
+ # }
2473
+ #
1887
2474
  # @example Request syntax with placeholder values
1888
2475
  #
1889
2476
  # resp = client.list_size_constraint_sets({
@@ -1930,6 +2517,25 @@ module Aws::WAF
1930
2517
  # * {Types::ListSqlInjectionMatchSetsResponse#next_marker #next_marker} => String
1931
2518
  # * {Types::ListSqlInjectionMatchSetsResponse#sql_injection_match_sets #sql_injection_match_sets} => Array<Types::SqlInjectionMatchSetSummary>
1932
2519
  #
2520
+ #
2521
+ # @example Example: To list SQL injection match sets
2522
+ #
2523
+ # # The following example returns an array of up to 100 SQL injection match sets.
2524
+ #
2525
+ # resp = client.list_sql_injection_match_sets({
2526
+ # limit: 100,
2527
+ # })
2528
+ #
2529
+ # resp.to_h outputs the following:
2530
+ # {
2531
+ # sql_injection_match_sets: [
2532
+ # {
2533
+ # name: "MySQLInjectionMatchSet",
2534
+ # sql_injection_match_set_id: "example1ds3t-46da-4fdb-b8d5-abc321j569j5",
2535
+ # },
2536
+ # ],
2537
+ # }
2538
+ #
1933
2539
  # @example Request syntax with placeholder values
1934
2540
  #
1935
2541
  # resp = client.list_sql_injection_match_sets({
@@ -1975,6 +2581,25 @@ module Aws::WAF
1975
2581
  # * {Types::ListWebACLsResponse#next_marker #next_marker} => String
1976
2582
  # * {Types::ListWebACLsResponse#web_acls #web_acls} => Array<Types::WebACLSummary>
1977
2583
  #
2584
+ #
2585
+ # @example Example: To list Web ACLs
2586
+ #
2587
+ # # The following example returns an array of up to 100 web ACLs.
2588
+ #
2589
+ # resp = client.list_web_acls({
2590
+ # limit: 100,
2591
+ # })
2592
+ #
2593
+ # resp.to_h outputs the following:
2594
+ # {
2595
+ # web_acls: [
2596
+ # {
2597
+ # name: "WebACLexample",
2598
+ # web_acl_id: "webacl-1472061481310",
2599
+ # },
2600
+ # ],
2601
+ # }
2602
+ #
1978
2603
  # @example Request syntax with placeholder values
1979
2604
  #
1980
2605
  # resp = client.list_web_acls({
@@ -2019,6 +2644,25 @@ module Aws::WAF
2019
2644
  # * {Types::ListXssMatchSetsResponse#next_marker #next_marker} => String
2020
2645
  # * {Types::ListXssMatchSetsResponse#xss_match_sets #xss_match_sets} => Array<Types::XssMatchSetSummary>
2021
2646
  #
2647
+ #
2648
+ # @example Example: To list XSS match sets
2649
+ #
2650
+ # # The following example returns an array of up to 100 XSS match sets.
2651
+ #
2652
+ # resp = client.list_xss_match_sets({
2653
+ # limit: 100,
2654
+ # })
2655
+ #
2656
+ # resp.to_h outputs the following:
2657
+ # {
2658
+ # xss_match_sets: [
2659
+ # {
2660
+ # name: "MySampleXssMatchSet",
2661
+ # xss_match_set_id: "example1ds3t-46da-4fdb-b8d5-abc321j569j5",
2662
+ # },
2663
+ # ],
2664
+ # }
2665
+ #
2022
2666
  # @example Request syntax with placeholder values
2023
2667
  #
2024
2668
  # resp = client.list_xss_match_sets({
@@ -2111,6 +2755,35 @@ module Aws::WAF
2111
2755
  #
2112
2756
  # * {Types::UpdateByteMatchSetResponse#change_token #change_token} => String
2113
2757
  #
2758
+ #
2759
+ # @example Example: To update a byte match set
2760
+ #
2761
+ # # The following example deletes a ByteMatchTuple object (filters) in an byte match set with the ID exampleIDs3t-46da-4fdb-b8d5-abc321j569j5.
2762
+ #
2763
+ # resp = client.update_byte_match_set({
2764
+ # byte_match_set_id: "exampleIDs3t-46da-4fdb-b8d5-abc321j569j5",
2765
+ # change_token: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f",
2766
+ # updates: [
2767
+ # {
2768
+ # action: "DELETE",
2769
+ # byte_match_tuple: {
2770
+ # field_to_match: {
2771
+ # data: "referer",
2772
+ # type: "HEADER",
2773
+ # },
2774
+ # positional_constraint: "CONTAINS",
2775
+ # target_string: "badrefer1",
2776
+ # text_transformation: "NONE",
2777
+ # },
2778
+ # },
2779
+ # ],
2780
+ # })
2781
+ #
2782
+ # resp.to_h outputs the following:
2783
+ # {
2784
+ # change_token: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f",
2785
+ # }
2786
+ #
2114
2787
  # @example Request syntax with placeholder values
2115
2788
  #
2116
2789
  # resp = client.update_byte_match_set({
@@ -2223,6 +2896,30 @@ module Aws::WAF
2223
2896
  #
2224
2897
  # * {Types::UpdateIPSetResponse#change_token #change_token} => String
2225
2898
  #
2899
+ #
2900
+ # @example Example: To update an IP set
2901
+ #
2902
+ # # The following example deletes an IPSetDescriptor object in an IP match set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.
2903
+ #
2904
+ # resp = client.update_ip_set({
2905
+ # change_token: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f",
2906
+ # ip_set_id: "example1ds3t-46da-4fdb-b8d5-abc321j569j5",
2907
+ # updates: [
2908
+ # {
2909
+ # action: "DELETE",
2910
+ # ip_set_descriptor: {
2911
+ # type: "IPV4",
2912
+ # value: "192.0.2.44/32",
2913
+ # },
2914
+ # },
2915
+ # ],
2916
+ # })
2917
+ #
2918
+ # resp.to_h outputs the following:
2919
+ # {
2920
+ # change_token: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f",
2921
+ # }
2922
+ #
2226
2923
  # @example Request syntax with placeholder values
2227
2924
  #
2228
2925
  # resp = client.update_ip_set({
@@ -2411,6 +3108,31 @@ module Aws::WAF
2411
3108
  #
2412
3109
  # * {Types::UpdateRuleResponse#change_token #change_token} => String
2413
3110
  #
3111
+ #
3112
+ # @example Example: To update a rule
3113
+ #
3114
+ # # The following example deletes a Predicate object in a rule with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.
3115
+ #
3116
+ # resp = client.update_rule({
3117
+ # change_token: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f",
3118
+ # rule_id: "example1ds3t-46da-4fdb-b8d5-abc321j569j5",
3119
+ # updates: [
3120
+ # {
3121
+ # action: "DELETE",
3122
+ # predicate: {
3123
+ # data_id: "MyByteMatchSetID",
3124
+ # negated: false,
3125
+ # type: "ByteMatch",
3126
+ # },
3127
+ # },
3128
+ # ],
3129
+ # })
3130
+ #
3131
+ # resp.to_h outputs the following:
3132
+ # {
3133
+ # change_token: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f",
3134
+ # }
3135
+ #
2414
3136
  # @example Request syntax with placeholder values
2415
3137
  #
2416
3138
  # resp = client.update_rule({
@@ -2517,6 +3239,34 @@ module Aws::WAF
2517
3239
  #
2518
3240
  # * {Types::UpdateSizeConstraintSetResponse#change_token #change_token} => String
2519
3241
  #
3242
+ #
3243
+ # @example Example: To update a size constraint set
3244
+ #
3245
+ # # The following example deletes a SizeConstraint object (filters) in a size constraint set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.
3246
+ #
3247
+ # resp = client.update_size_constraint_set({
3248
+ # change_token: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f",
3249
+ # size_constraint_set_id: "example1ds3t-46da-4fdb-b8d5-abc321j569j5",
3250
+ # updates: [
3251
+ # {
3252
+ # action: "DELETE",
3253
+ # size_constraint: {
3254
+ # comparison_operator: "GT",
3255
+ # field_to_match: {
3256
+ # type: "QUERY_STRING",
3257
+ # },
3258
+ # size: 0,
3259
+ # text_transformation: "NONE",
3260
+ # },
3261
+ # },
3262
+ # ],
3263
+ # })
3264
+ #
3265
+ # resp.to_h outputs the following:
3266
+ # {
3267
+ # change_token: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f",
3268
+ # }
3269
+ #
2520
3270
  # @example Request syntax with placeholder values
2521
3271
  #
2522
3272
  # resp = client.update_size_constraint_set({
@@ -2618,6 +3368,32 @@ module Aws::WAF
2618
3368
  #
2619
3369
  # * {Types::UpdateSqlInjectionMatchSetResponse#change_token #change_token} => String
2620
3370
  #
3371
+ #
3372
+ # @example Example: To update a SQL injection match set
3373
+ #
3374
+ # # The following example deletes a SqlInjectionMatchTuple object (filters) in a SQL injection match set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.
3375
+ #
3376
+ # resp = client.update_sql_injection_match_set({
3377
+ # change_token: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f",
3378
+ # sql_injection_match_set_id: "example1ds3t-46da-4fdb-b8d5-abc321j569j5",
3379
+ # updates: [
3380
+ # {
3381
+ # action: "DELETE",
3382
+ # sql_injection_match_tuple: {
3383
+ # field_to_match: {
3384
+ # type: "QUERY_STRING",
3385
+ # },
3386
+ # text_transformation: "URL_DECODE",
3387
+ # },
3388
+ # },
3389
+ # ],
3390
+ # })
3391
+ #
3392
+ # resp.to_h outputs the following:
3393
+ # {
3394
+ # change_token: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f",
3395
+ # }
3396
+ #
2621
3397
  # @example Request syntax with placeholder values
2622
3398
  #
2623
3399
  # resp = client.update_sql_injection_match_set({
@@ -2736,6 +3512,36 @@ module Aws::WAF
2736
3512
  #
2737
3513
  # * {Types::UpdateWebACLResponse#change_token #change_token} => String
2738
3514
  #
3515
+ #
3516
+ # @example Example: To update a Web ACL
3517
+ #
3518
+ # # The following example deletes an ActivatedRule object in a WebACL with the ID webacl-1472061481310.
3519
+ #
3520
+ # resp = client.update_web_acl({
3521
+ # change_token: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f",
3522
+ # default_action: {
3523
+ # type: "ALLOW",
3524
+ # },
3525
+ # updates: [
3526
+ # {
3527
+ # action: "DELETE",
3528
+ # activated_rule: {
3529
+ # action: {
3530
+ # type: "ALLOW",
3531
+ # },
3532
+ # priority: 1,
3533
+ # rule_id: "WAFRule-1-Example",
3534
+ # },
3535
+ # },
3536
+ # ],
3537
+ # web_acl_id: "webacl-1472061481310",
3538
+ # })
3539
+ #
3540
+ # resp.to_h outputs the following:
3541
+ # {
3542
+ # change_token: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f",
3543
+ # }
3544
+ #
2739
3545
  # @example Request syntax with placeholder values
2740
3546
  #
2741
3547
  # resp = client.update_web_acl({
@@ -2835,6 +3641,32 @@ module Aws::WAF
2835
3641
  #
2836
3642
  # * {Types::UpdateXssMatchSetResponse#change_token #change_token} => String
2837
3643
  #
3644
+ #
3645
+ # @example Example: To update an XSS match set
3646
+ #
3647
+ # # The following example deletes an XssMatchTuple object (filters) in an XssMatchSet with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.
3648
+ #
3649
+ # resp = client.update_xss_match_set({
3650
+ # change_token: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f",
3651
+ # updates: [
3652
+ # {
3653
+ # action: "DELETE",
3654
+ # xss_match_tuple: {
3655
+ # field_to_match: {
3656
+ # type: "QUERY_STRING",
3657
+ # },
3658
+ # text_transformation: "URL_DECODE",
3659
+ # },
3660
+ # },
3661
+ # ],
3662
+ # xss_match_set_id: "example1ds3t-46da-4fdb-b8d5-abc321j569j5",
3663
+ # })
3664
+ #
3665
+ # resp.to_h outputs the following:
3666
+ # {
3667
+ # change_token: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f",
3668
+ # }
3669
+ #
2838
3670
  # @example Request syntax with placeholder values
2839
3671
  #
2840
3672
  # resp = client.update_xss_match_set({
@@ -2880,7 +3712,7 @@ module Aws::WAF
2880
3712
  params: params,
2881
3713
  config: config)
2882
3714
  context[:gem_name] = 'aws-sdk-waf'
2883
- context[:gem_version] = '1.0.0.rc8'
3715
+ context[:gem_version] = '1.0.0.rc9'
2884
3716
  Seahorse::Client::Request.new(handlers, context)
2885
3717
  end
2886
3718
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-waf
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.rc8
4
+ version: 1.0.0.rc9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-06-26 00:00:00.000000000 Z
11
+ date: 2017-06-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 3.0.0.rc13
19
+ version: 3.0.0.rc14
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 3.0.0.rc13
26
+ version: 3.0.0.rc14
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: aws-sigv4
29
29
  requirement: !ruby/object:Gem::Requirement