aws-sdk-wafv2 1.21.0 → 1.25.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -98,6 +98,8 @@ module Aws::WAFV2
98
98
  GetIPSetResponse = Shapes::StructureShape.new(name: 'GetIPSetResponse')
99
99
  GetLoggingConfigurationRequest = Shapes::StructureShape.new(name: 'GetLoggingConfigurationRequest')
100
100
  GetLoggingConfigurationResponse = Shapes::StructureShape.new(name: 'GetLoggingConfigurationResponse')
101
+ GetManagedRuleSetRequest = Shapes::StructureShape.new(name: 'GetManagedRuleSetRequest')
102
+ GetManagedRuleSetResponse = Shapes::StructureShape.new(name: 'GetManagedRuleSetResponse')
101
103
  GetPermissionPolicyRequest = Shapes::StructureShape.new(name: 'GetPermissionPolicyRequest')
102
104
  GetPermissionPolicyResponse = Shapes::StructureShape.new(name: 'GetPermissionPolicyResponse')
103
105
  GetRateBasedStatementManagedKeysRequest = Shapes::StructureShape.new(name: 'GetRateBasedStatementManagedKeysRequest')
@@ -142,12 +144,16 @@ module Aws::WAFV2
142
144
  LabelSummaries = Shapes::ListShape.new(name: 'LabelSummaries')
143
145
  LabelSummary = Shapes::StructureShape.new(name: 'LabelSummary')
144
146
  Labels = Shapes::ListShape.new(name: 'Labels')
147
+ ListAvailableManagedRuleGroupVersionsRequest = Shapes::StructureShape.new(name: 'ListAvailableManagedRuleGroupVersionsRequest')
148
+ ListAvailableManagedRuleGroupVersionsResponse = Shapes::StructureShape.new(name: 'ListAvailableManagedRuleGroupVersionsResponse')
145
149
  ListAvailableManagedRuleGroupsRequest = Shapes::StructureShape.new(name: 'ListAvailableManagedRuleGroupsRequest')
146
150
  ListAvailableManagedRuleGroupsResponse = Shapes::StructureShape.new(name: 'ListAvailableManagedRuleGroupsResponse')
147
151
  ListIPSetsRequest = Shapes::StructureShape.new(name: 'ListIPSetsRequest')
148
152
  ListIPSetsResponse = Shapes::StructureShape.new(name: 'ListIPSetsResponse')
149
153
  ListLoggingConfigurationsRequest = Shapes::StructureShape.new(name: 'ListLoggingConfigurationsRequest')
150
154
  ListLoggingConfigurationsResponse = Shapes::StructureShape.new(name: 'ListLoggingConfigurationsResponse')
155
+ ListManagedRuleSetsRequest = Shapes::StructureShape.new(name: 'ListManagedRuleSetsRequest')
156
+ ListManagedRuleSetsResponse = Shapes::StructureShape.new(name: 'ListManagedRuleSetsResponse')
151
157
  ListMaxItems = Shapes::IntegerShape.new(name: 'ListMaxItems')
152
158
  ListRegexPatternSetsRequest = Shapes::StructureShape.new(name: 'ListRegexPatternSetsRequest')
153
159
  ListRegexPatternSetsResponse = Shapes::StructureShape.new(name: 'ListRegexPatternSetsResponse')
@@ -167,6 +173,12 @@ module Aws::WAFV2
167
173
  ManagedRuleGroupStatement = Shapes::StructureShape.new(name: 'ManagedRuleGroupStatement')
168
174
  ManagedRuleGroupSummaries = Shapes::ListShape.new(name: 'ManagedRuleGroupSummaries')
169
175
  ManagedRuleGroupSummary = Shapes::StructureShape.new(name: 'ManagedRuleGroupSummary')
176
+ ManagedRuleGroupVersion = Shapes::StructureShape.new(name: 'ManagedRuleGroupVersion')
177
+ ManagedRuleGroupVersions = Shapes::ListShape.new(name: 'ManagedRuleGroupVersions')
178
+ ManagedRuleSet = Shapes::StructureShape.new(name: 'ManagedRuleSet')
179
+ ManagedRuleSetSummaries = Shapes::ListShape.new(name: 'ManagedRuleSetSummaries')
180
+ ManagedRuleSetSummary = Shapes::StructureShape.new(name: 'ManagedRuleSetSummary')
181
+ ManagedRuleSetVersion = Shapes::StructureShape.new(name: 'ManagedRuleSetVersion')
170
182
  Method = Shapes::StructureShape.new(name: 'Method')
171
183
  MetricName = Shapes::StringShape.new(name: 'MetricName')
172
184
  NextMarker = Shapes::StringShape.new(name: 'NextMarker')
@@ -180,8 +192,11 @@ module Aws::WAFV2
180
192
  PolicyString = Shapes::StringShape.new(name: 'PolicyString')
181
193
  PopulationSize = Shapes::IntegerShape.new(name: 'PopulationSize')
182
194
  PositionalConstraint = Shapes::StringShape.new(name: 'PositionalConstraint')
195
+ PublishedVersions = Shapes::MapShape.new(name: 'PublishedVersions')
183
196
  PutLoggingConfigurationRequest = Shapes::StructureShape.new(name: 'PutLoggingConfigurationRequest')
184
197
  PutLoggingConfigurationResponse = Shapes::StructureShape.new(name: 'PutLoggingConfigurationResponse')
198
+ PutManagedRuleSetVersionsRequest = Shapes::StructureShape.new(name: 'PutManagedRuleSetVersionsRequest')
199
+ PutManagedRuleSetVersionsResponse = Shapes::StructureShape.new(name: 'PutManagedRuleSetVersionsResponse')
185
200
  PutPermissionPolicyRequest = Shapes::StructureShape.new(name: 'PutPermissionPolicyRequest')
186
201
  PutPermissionPolicyResponse = Shapes::StructureShape.new(name: 'PutPermissionPolicyResponse')
187
202
  QueryString = Shapes::StructureShape.new(name: 'QueryString')
@@ -238,12 +253,15 @@ module Aws::WAFV2
238
253
  TextTransformationType = Shapes::StringShape.new(name: 'TextTransformationType')
239
254
  TextTransformations = Shapes::ListShape.new(name: 'TextTransformations')
240
255
  TimeWindow = Shapes::StructureShape.new(name: 'TimeWindow')
256
+ TimeWindowDay = Shapes::IntegerShape.new(name: 'TimeWindowDay')
241
257
  Timestamp = Shapes::TimestampShape.new(name: 'Timestamp')
242
258
  URIString = Shapes::StringShape.new(name: 'URIString')
243
259
  UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
244
260
  UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
245
261
  UpdateIPSetRequest = Shapes::StructureShape.new(name: 'UpdateIPSetRequest')
246
262
  UpdateIPSetResponse = Shapes::StructureShape.new(name: 'UpdateIPSetResponse')
263
+ UpdateManagedRuleSetVersionExpiryDateRequest = Shapes::StructureShape.new(name: 'UpdateManagedRuleSetVersionExpiryDateRequest')
264
+ UpdateManagedRuleSetVersionExpiryDateResponse = Shapes::StructureShape.new(name: 'UpdateManagedRuleSetVersionExpiryDateResponse')
247
265
  UpdateRegexPatternSetRequest = Shapes::StructureShape.new(name: 'UpdateRegexPatternSetRequest')
248
266
  UpdateRegexPatternSetResponse = Shapes::StructureShape.new(name: 'UpdateRegexPatternSetResponse')
249
267
  UpdateRuleGroupRequest = Shapes::StructureShape.new(name: 'UpdateRuleGroupRequest')
@@ -252,9 +270,13 @@ module Aws::WAFV2
252
270
  UpdateWebACLResponse = Shapes::StructureShape.new(name: 'UpdateWebACLResponse')
253
271
  UriPath = Shapes::StructureShape.new(name: 'UriPath')
254
272
  VendorName = Shapes::StringShape.new(name: 'VendorName')
273
+ VersionKeyString = Shapes::StringShape.new(name: 'VersionKeyString')
274
+ VersionToPublish = Shapes::StructureShape.new(name: 'VersionToPublish')
275
+ VersionsToPublish = Shapes::MapShape.new(name: 'VersionsToPublish')
255
276
  VisibilityConfig = Shapes::StructureShape.new(name: 'VisibilityConfig')
256
277
  WAFAssociatedItemException = Shapes::StructureShape.new(name: 'WAFAssociatedItemException')
257
278
  WAFDuplicateItemException = Shapes::StructureShape.new(name: 'WAFDuplicateItemException')
279
+ WAFExpiredManagedRuleGroupVersionException = Shapes::StructureShape.new(name: 'WAFExpiredManagedRuleGroupVersionException')
258
280
  WAFInternalErrorException = Shapes::StructureShape.new(name: 'WAFInternalErrorException')
259
281
  WAFInvalidOperationException = Shapes::StructureShape.new(name: 'WAFInvalidOperationException')
260
282
  WAFInvalidParameterException = Shapes::StructureShape.new(name: 'WAFInvalidParameterException')
@@ -445,8 +467,11 @@ module Aws::WAFV2
445
467
  DescribeManagedRuleGroupRequest.add_member(:vendor_name, Shapes::ShapeRef.new(shape: VendorName, required: true, location_name: "VendorName"))
446
468
  DescribeManagedRuleGroupRequest.add_member(:name, Shapes::ShapeRef.new(shape: EntityName, required: true, location_name: "Name"))
447
469
  DescribeManagedRuleGroupRequest.add_member(:scope, Shapes::ShapeRef.new(shape: Scope, required: true, location_name: "Scope"))
470
+ DescribeManagedRuleGroupRequest.add_member(:version_name, Shapes::ShapeRef.new(shape: VersionKeyString, location_name: "VersionName"))
448
471
  DescribeManagedRuleGroupRequest.struct_class = Types::DescribeManagedRuleGroupRequest
449
472
 
473
+ DescribeManagedRuleGroupResponse.add_member(:version_name, Shapes::ShapeRef.new(shape: VersionKeyString, location_name: "VersionName"))
474
+ DescribeManagedRuleGroupResponse.add_member(:sns_topic_arn, Shapes::ShapeRef.new(shape: ResourceArn, location_name: "SnsTopicArn"))
450
475
  DescribeManagedRuleGroupResponse.add_member(:capacity, Shapes::ShapeRef.new(shape: CapacityUnit, location_name: "Capacity"))
451
476
  DescribeManagedRuleGroupResponse.add_member(:rules, Shapes::ShapeRef.new(shape: RuleSummaries, location_name: "Rules"))
452
477
  DescribeManagedRuleGroupResponse.add_member(:label_namespace, Shapes::ShapeRef.new(shape: LabelName, location_name: "LabelNamespace"))
@@ -517,6 +542,15 @@ module Aws::WAFV2
517
542
  GetLoggingConfigurationResponse.add_member(:logging_configuration, Shapes::ShapeRef.new(shape: LoggingConfiguration, location_name: "LoggingConfiguration"))
518
543
  GetLoggingConfigurationResponse.struct_class = Types::GetLoggingConfigurationResponse
519
544
 
545
+ GetManagedRuleSetRequest.add_member(:name, Shapes::ShapeRef.new(shape: EntityName, required: true, location_name: "Name"))
546
+ GetManagedRuleSetRequest.add_member(:scope, Shapes::ShapeRef.new(shape: Scope, required: true, location_name: "Scope"))
547
+ GetManagedRuleSetRequest.add_member(:id, Shapes::ShapeRef.new(shape: EntityId, required: true, location_name: "Id"))
548
+ GetManagedRuleSetRequest.struct_class = Types::GetManagedRuleSetRequest
549
+
550
+ GetManagedRuleSetResponse.add_member(:managed_rule_set, Shapes::ShapeRef.new(shape: ManagedRuleSet, location_name: "ManagedRuleSet"))
551
+ GetManagedRuleSetResponse.add_member(:lock_token, Shapes::ShapeRef.new(shape: LockToken, location_name: "LockToken"))
552
+ GetManagedRuleSetResponse.struct_class = Types::GetManagedRuleSetResponse
553
+
520
554
  GetPermissionPolicyRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArn, required: true, location_name: "ResourceArn"))
521
555
  GetPermissionPolicyRequest.struct_class = Types::GetPermissionPolicyRequest
522
556
 
@@ -649,6 +683,17 @@ module Aws::WAFV2
649
683
 
650
684
  Labels.member = Shapes::ShapeRef.new(shape: Label)
651
685
 
686
+ ListAvailableManagedRuleGroupVersionsRequest.add_member(:vendor_name, Shapes::ShapeRef.new(shape: VendorName, required: true, location_name: "VendorName"))
687
+ ListAvailableManagedRuleGroupVersionsRequest.add_member(:name, Shapes::ShapeRef.new(shape: EntityName, required: true, location_name: "Name"))
688
+ ListAvailableManagedRuleGroupVersionsRequest.add_member(:scope, Shapes::ShapeRef.new(shape: Scope, required: true, location_name: "Scope"))
689
+ ListAvailableManagedRuleGroupVersionsRequest.add_member(:next_marker, Shapes::ShapeRef.new(shape: NextMarker, location_name: "NextMarker"))
690
+ ListAvailableManagedRuleGroupVersionsRequest.add_member(:limit, Shapes::ShapeRef.new(shape: PaginationLimit, location_name: "Limit"))
691
+ ListAvailableManagedRuleGroupVersionsRequest.struct_class = Types::ListAvailableManagedRuleGroupVersionsRequest
692
+
693
+ ListAvailableManagedRuleGroupVersionsResponse.add_member(:next_marker, Shapes::ShapeRef.new(shape: NextMarker, location_name: "NextMarker"))
694
+ ListAvailableManagedRuleGroupVersionsResponse.add_member(:versions, Shapes::ShapeRef.new(shape: ManagedRuleGroupVersions, location_name: "Versions"))
695
+ ListAvailableManagedRuleGroupVersionsResponse.struct_class = Types::ListAvailableManagedRuleGroupVersionsResponse
696
+
652
697
  ListAvailableManagedRuleGroupsRequest.add_member(:scope, Shapes::ShapeRef.new(shape: Scope, required: true, location_name: "Scope"))
653
698
  ListAvailableManagedRuleGroupsRequest.add_member(:next_marker, Shapes::ShapeRef.new(shape: NextMarker, location_name: "NextMarker"))
654
699
  ListAvailableManagedRuleGroupsRequest.add_member(:limit, Shapes::ShapeRef.new(shape: PaginationLimit, location_name: "Limit"))
@@ -676,6 +721,15 @@ module Aws::WAFV2
676
721
  ListLoggingConfigurationsResponse.add_member(:next_marker, Shapes::ShapeRef.new(shape: NextMarker, location_name: "NextMarker"))
677
722
  ListLoggingConfigurationsResponse.struct_class = Types::ListLoggingConfigurationsResponse
678
723
 
724
+ ListManagedRuleSetsRequest.add_member(:scope, Shapes::ShapeRef.new(shape: Scope, required: true, location_name: "Scope"))
725
+ ListManagedRuleSetsRequest.add_member(:next_marker, Shapes::ShapeRef.new(shape: NextMarker, location_name: "NextMarker"))
726
+ ListManagedRuleSetsRequest.add_member(:limit, Shapes::ShapeRef.new(shape: PaginationLimit, location_name: "Limit"))
727
+ ListManagedRuleSetsRequest.struct_class = Types::ListManagedRuleSetsRequest
728
+
729
+ ListManagedRuleSetsResponse.add_member(:next_marker, Shapes::ShapeRef.new(shape: NextMarker, location_name: "NextMarker"))
730
+ ListManagedRuleSetsResponse.add_member(:managed_rule_sets, Shapes::ShapeRef.new(shape: ManagedRuleSetSummaries, location_name: "ManagedRuleSets"))
731
+ ListManagedRuleSetsResponse.struct_class = Types::ListManagedRuleSetsResponse
732
+
679
733
  ListRegexPatternSetsRequest.add_member(:scope, Shapes::ShapeRef.new(shape: Scope, required: true, location_name: "Scope"))
680
734
  ListRegexPatternSetsRequest.add_member(:next_marker, Shapes::ShapeRef.new(shape: NextMarker, location_name: "NextMarker"))
681
735
  ListRegexPatternSetsRequest.add_member(:limit, Shapes::ShapeRef.new(shape: PaginationLimit, location_name: "Limit"))
@@ -736,6 +790,7 @@ module Aws::WAFV2
736
790
 
737
791
  ManagedRuleGroupStatement.add_member(:vendor_name, Shapes::ShapeRef.new(shape: VendorName, required: true, location_name: "VendorName"))
738
792
  ManagedRuleGroupStatement.add_member(:name, Shapes::ShapeRef.new(shape: EntityName, required: true, location_name: "Name"))
793
+ ManagedRuleGroupStatement.add_member(:version, Shapes::ShapeRef.new(shape: VersionKeyString, location_name: "Version"))
739
794
  ManagedRuleGroupStatement.add_member(:excluded_rules, Shapes::ShapeRef.new(shape: ExcludedRules, location_name: "ExcludedRules"))
740
795
  ManagedRuleGroupStatement.add_member(:scope_down_statement, Shapes::ShapeRef.new(shape: Statement, location_name: "ScopeDownStatement"))
741
796
  ManagedRuleGroupStatement.struct_class = Types::ManagedRuleGroupStatement
@@ -747,6 +802,39 @@ module Aws::WAFV2
747
802
  ManagedRuleGroupSummary.add_member(:description, Shapes::ShapeRef.new(shape: EntityDescription, location_name: "Description"))
748
803
  ManagedRuleGroupSummary.struct_class = Types::ManagedRuleGroupSummary
749
804
 
805
+ ManagedRuleGroupVersion.add_member(:name, Shapes::ShapeRef.new(shape: VersionKeyString, location_name: "Name"))
806
+ ManagedRuleGroupVersion.add_member(:last_update_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "LastUpdateTimestamp"))
807
+ ManagedRuleGroupVersion.struct_class = Types::ManagedRuleGroupVersion
808
+
809
+ ManagedRuleGroupVersions.member = Shapes::ShapeRef.new(shape: ManagedRuleGroupVersion)
810
+
811
+ ManagedRuleSet.add_member(:name, Shapes::ShapeRef.new(shape: EntityName, required: true, location_name: "Name"))
812
+ ManagedRuleSet.add_member(:id, Shapes::ShapeRef.new(shape: EntityId, required: true, location_name: "Id"))
813
+ ManagedRuleSet.add_member(:arn, Shapes::ShapeRef.new(shape: ResourceArn, required: true, location_name: "ARN"))
814
+ ManagedRuleSet.add_member(:description, Shapes::ShapeRef.new(shape: EntityDescription, location_name: "Description"))
815
+ ManagedRuleSet.add_member(:published_versions, Shapes::ShapeRef.new(shape: PublishedVersions, location_name: "PublishedVersions"))
816
+ ManagedRuleSet.add_member(:recommended_version, Shapes::ShapeRef.new(shape: VersionKeyString, location_name: "RecommendedVersion"))
817
+ ManagedRuleSet.add_member(:label_namespace, Shapes::ShapeRef.new(shape: LabelName, location_name: "LabelNamespace"))
818
+ ManagedRuleSet.struct_class = Types::ManagedRuleSet
819
+
820
+ ManagedRuleSetSummaries.member = Shapes::ShapeRef.new(shape: ManagedRuleSetSummary)
821
+
822
+ ManagedRuleSetSummary.add_member(:name, Shapes::ShapeRef.new(shape: EntityName, location_name: "Name"))
823
+ ManagedRuleSetSummary.add_member(:id, Shapes::ShapeRef.new(shape: EntityId, location_name: "Id"))
824
+ ManagedRuleSetSummary.add_member(:description, Shapes::ShapeRef.new(shape: EntityDescription, location_name: "Description"))
825
+ ManagedRuleSetSummary.add_member(:lock_token, Shapes::ShapeRef.new(shape: LockToken, location_name: "LockToken"))
826
+ ManagedRuleSetSummary.add_member(:arn, Shapes::ShapeRef.new(shape: ResourceArn, location_name: "ARN"))
827
+ ManagedRuleSetSummary.add_member(:label_namespace, Shapes::ShapeRef.new(shape: LabelName, location_name: "LabelNamespace"))
828
+ ManagedRuleSetSummary.struct_class = Types::ManagedRuleSetSummary
829
+
830
+ ManagedRuleSetVersion.add_member(:associated_rule_group_arn, Shapes::ShapeRef.new(shape: ResourceArn, location_name: "AssociatedRuleGroupArn"))
831
+ ManagedRuleSetVersion.add_member(:capacity, Shapes::ShapeRef.new(shape: CapacityUnit, location_name: "Capacity"))
832
+ ManagedRuleSetVersion.add_member(:forecasted_lifetime, Shapes::ShapeRef.new(shape: TimeWindowDay, location_name: "ForecastedLifetime"))
833
+ ManagedRuleSetVersion.add_member(:publish_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "PublishTimestamp"))
834
+ ManagedRuleSetVersion.add_member(:last_update_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "LastUpdateTimestamp"))
835
+ ManagedRuleSetVersion.add_member(:expiry_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "ExpiryTimestamp"))
836
+ ManagedRuleSetVersion.struct_class = Types::ManagedRuleSetVersion
837
+
750
838
  Method.struct_class = Types::Method
751
839
 
752
840
  NoneAction.struct_class = Types::NoneAction
@@ -761,12 +849,26 @@ module Aws::WAFV2
761
849
  OverrideAction.add_member(:none, Shapes::ShapeRef.new(shape: NoneAction, location_name: "None"))
762
850
  OverrideAction.struct_class = Types::OverrideAction
763
851
 
852
+ PublishedVersions.key = Shapes::ShapeRef.new(shape: VersionKeyString)
853
+ PublishedVersions.value = Shapes::ShapeRef.new(shape: ManagedRuleSetVersion)
854
+
764
855
  PutLoggingConfigurationRequest.add_member(:logging_configuration, Shapes::ShapeRef.new(shape: LoggingConfiguration, required: true, location_name: "LoggingConfiguration"))
765
856
  PutLoggingConfigurationRequest.struct_class = Types::PutLoggingConfigurationRequest
766
857
 
767
858
  PutLoggingConfigurationResponse.add_member(:logging_configuration, Shapes::ShapeRef.new(shape: LoggingConfiguration, location_name: "LoggingConfiguration"))
768
859
  PutLoggingConfigurationResponse.struct_class = Types::PutLoggingConfigurationResponse
769
860
 
861
+ PutManagedRuleSetVersionsRequest.add_member(:name, Shapes::ShapeRef.new(shape: EntityName, required: true, location_name: "Name"))
862
+ PutManagedRuleSetVersionsRequest.add_member(:scope, Shapes::ShapeRef.new(shape: Scope, required: true, location_name: "Scope"))
863
+ PutManagedRuleSetVersionsRequest.add_member(:id, Shapes::ShapeRef.new(shape: EntityId, required: true, location_name: "Id"))
864
+ PutManagedRuleSetVersionsRequest.add_member(:lock_token, Shapes::ShapeRef.new(shape: LockToken, required: true, location_name: "LockToken"))
865
+ PutManagedRuleSetVersionsRequest.add_member(:recommended_version, Shapes::ShapeRef.new(shape: VersionKeyString, location_name: "RecommendedVersion"))
866
+ PutManagedRuleSetVersionsRequest.add_member(:versions_to_publish, Shapes::ShapeRef.new(shape: VersionsToPublish, location_name: "VersionsToPublish"))
867
+ PutManagedRuleSetVersionsRequest.struct_class = Types::PutManagedRuleSetVersionsRequest
868
+
869
+ PutManagedRuleSetVersionsResponse.add_member(:next_lock_token, Shapes::ShapeRef.new(shape: LockToken, location_name: "NextLockToken"))
870
+ PutManagedRuleSetVersionsResponse.struct_class = Types::PutManagedRuleSetVersionsResponse
871
+
770
872
  PutPermissionPolicyRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArn, required: true, location_name: "ResourceArn"))
771
873
  PutPermissionPolicyRequest.add_member(:policy, Shapes::ShapeRef.new(shape: PolicyString, required: true, location_name: "Policy"))
772
874
  PutPermissionPolicyRequest.struct_class = Types::PutPermissionPolicyRequest
@@ -954,6 +1056,19 @@ module Aws::WAFV2
954
1056
  UpdateIPSetResponse.add_member(:next_lock_token, Shapes::ShapeRef.new(shape: LockToken, location_name: "NextLockToken"))
955
1057
  UpdateIPSetResponse.struct_class = Types::UpdateIPSetResponse
956
1058
 
1059
+ UpdateManagedRuleSetVersionExpiryDateRequest.add_member(:name, Shapes::ShapeRef.new(shape: EntityName, required: true, location_name: "Name"))
1060
+ UpdateManagedRuleSetVersionExpiryDateRequest.add_member(:scope, Shapes::ShapeRef.new(shape: Scope, required: true, location_name: "Scope"))
1061
+ UpdateManagedRuleSetVersionExpiryDateRequest.add_member(:id, Shapes::ShapeRef.new(shape: EntityId, required: true, location_name: "Id"))
1062
+ UpdateManagedRuleSetVersionExpiryDateRequest.add_member(:lock_token, Shapes::ShapeRef.new(shape: LockToken, required: true, location_name: "LockToken"))
1063
+ UpdateManagedRuleSetVersionExpiryDateRequest.add_member(:version_to_expire, Shapes::ShapeRef.new(shape: VersionKeyString, required: true, location_name: "VersionToExpire"))
1064
+ UpdateManagedRuleSetVersionExpiryDateRequest.add_member(:expiry_timestamp, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "ExpiryTimestamp"))
1065
+ UpdateManagedRuleSetVersionExpiryDateRequest.struct_class = Types::UpdateManagedRuleSetVersionExpiryDateRequest
1066
+
1067
+ UpdateManagedRuleSetVersionExpiryDateResponse.add_member(:expiring_version, Shapes::ShapeRef.new(shape: VersionKeyString, location_name: "ExpiringVersion"))
1068
+ UpdateManagedRuleSetVersionExpiryDateResponse.add_member(:expiry_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "ExpiryTimestamp"))
1069
+ UpdateManagedRuleSetVersionExpiryDateResponse.add_member(:next_lock_token, Shapes::ShapeRef.new(shape: LockToken, location_name: "NextLockToken"))
1070
+ UpdateManagedRuleSetVersionExpiryDateResponse.struct_class = Types::UpdateManagedRuleSetVersionExpiryDateResponse
1071
+
957
1072
  UpdateRegexPatternSetRequest.add_member(:name, Shapes::ShapeRef.new(shape: EntityName, required: true, location_name: "Name"))
958
1073
  UpdateRegexPatternSetRequest.add_member(:scope, Shapes::ShapeRef.new(shape: Scope, required: true, location_name: "Scope"))
959
1074
  UpdateRegexPatternSetRequest.add_member(:id, Shapes::ShapeRef.new(shape: EntityId, required: true, location_name: "Id"))
@@ -994,6 +1109,13 @@ module Aws::WAFV2
994
1109
 
995
1110
  UriPath.struct_class = Types::UriPath
996
1111
 
1112
+ VersionToPublish.add_member(:associated_rule_group_arn, Shapes::ShapeRef.new(shape: ResourceArn, location_name: "AssociatedRuleGroupArn"))
1113
+ VersionToPublish.add_member(:forecasted_lifetime, Shapes::ShapeRef.new(shape: TimeWindowDay, location_name: "ForecastedLifetime"))
1114
+ VersionToPublish.struct_class = Types::VersionToPublish
1115
+
1116
+ VersionsToPublish.key = Shapes::ShapeRef.new(shape: VersionKeyString)
1117
+ VersionsToPublish.value = Shapes::ShapeRef.new(shape: VersionToPublish)
1118
+
997
1119
  VisibilityConfig.add_member(:sampled_requests_enabled, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "SampledRequestsEnabled"))
998
1120
  VisibilityConfig.add_member(:cloud_watch_metrics_enabled, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "CloudWatchMetricsEnabled"))
999
1121
  VisibilityConfig.add_member(:metric_name, Shapes::ShapeRef.new(shape: MetricName, required: true, location_name: "MetricName"))
@@ -1005,6 +1127,9 @@ module Aws::WAFV2
1005
1127
  WAFDuplicateItemException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
1006
1128
  WAFDuplicateItemException.struct_class = Types::WAFDuplicateItemException
1007
1129
 
1130
+ WAFExpiredManagedRuleGroupVersionException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
1131
+ WAFExpiredManagedRuleGroupVersionException.struct_class = Types::WAFExpiredManagedRuleGroupVersionException
1132
+
1008
1133
  WAFInternalErrorException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
1009
1134
  WAFInternalErrorException.struct_class = Types::WAFInternalErrorException
1010
1135
 
@@ -1120,6 +1245,7 @@ module Aws::WAFV2
1120
1245
  o.errors << Shapes::ShapeRef.new(shape: WAFInvalidResourceException)
1121
1246
  o.errors << Shapes::ShapeRef.new(shape: WAFUnavailableEntityException)
1122
1247
  o.errors << Shapes::ShapeRef.new(shape: WAFSubscriptionNotFoundException)
1248
+ o.errors << Shapes::ShapeRef.new(shape: WAFExpiredManagedRuleGroupVersionException)
1123
1249
  end)
1124
1250
 
1125
1251
  api.add_operation(:create_ip_set, Seahorse::Model::Operation.new.tap do |o|
@@ -1305,6 +1431,7 @@ module Aws::WAFV2
1305
1431
  o.errors << Shapes::ShapeRef.new(shape: WAFInvalidResourceException)
1306
1432
  o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
1307
1433
  o.errors << Shapes::ShapeRef.new(shape: WAFInvalidOperationException)
1434
+ o.errors << Shapes::ShapeRef.new(shape: WAFExpiredManagedRuleGroupVersionException)
1308
1435
  end)
1309
1436
 
1310
1437
  api.add_operation(:disassociate_web_acl, Seahorse::Model::Operation.new.tap do |o|
@@ -1343,6 +1470,18 @@ module Aws::WAFV2
1343
1470
  o.errors << Shapes::ShapeRef.new(shape: WAFInvalidOperationException)
1344
1471
  end)
1345
1472
 
1473
+ api.add_operation(:get_managed_rule_set, Seahorse::Model::Operation.new.tap do |o|
1474
+ o.name = "GetManagedRuleSet"
1475
+ o.http_method = "POST"
1476
+ o.http_request_uri = "/"
1477
+ o.input = Shapes::ShapeRef.new(shape: GetManagedRuleSetRequest)
1478
+ o.output = Shapes::ShapeRef.new(shape: GetManagedRuleSetResponse)
1479
+ o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
1480
+ o.errors << Shapes::ShapeRef.new(shape: WAFInvalidParameterException)
1481
+ o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
1482
+ o.errors << Shapes::ShapeRef.new(shape: WAFInvalidOperationException)
1483
+ end)
1484
+
1346
1485
  api.add_operation(:get_permission_policy, Seahorse::Model::Operation.new.tap do |o|
1347
1486
  o.name = "GetPermissionPolicy"
1348
1487
  o.http_method = "POST"
@@ -1426,6 +1565,17 @@ module Aws::WAFV2
1426
1565
  o.errors << Shapes::ShapeRef.new(shape: WAFInvalidOperationException)
1427
1566
  end)
1428
1567
 
1568
+ api.add_operation(:list_available_managed_rule_group_versions, Seahorse::Model::Operation.new.tap do |o|
1569
+ o.name = "ListAvailableManagedRuleGroupVersions"
1570
+ o.http_method = "POST"
1571
+ o.http_request_uri = "/"
1572
+ o.input = Shapes::ShapeRef.new(shape: ListAvailableManagedRuleGroupVersionsRequest)
1573
+ o.output = Shapes::ShapeRef.new(shape: ListAvailableManagedRuleGroupVersionsResponse)
1574
+ o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
1575
+ o.errors << Shapes::ShapeRef.new(shape: WAFInvalidParameterException)
1576
+ o.errors << Shapes::ShapeRef.new(shape: WAFInvalidOperationException)
1577
+ end)
1578
+
1429
1579
  api.add_operation(:list_available_managed_rule_groups, Seahorse::Model::Operation.new.tap do |o|
1430
1580
  o.name = "ListAvailableManagedRuleGroups"
1431
1581
  o.http_method = "POST"
@@ -1459,6 +1609,17 @@ module Aws::WAFV2
1459
1609
  o.errors << Shapes::ShapeRef.new(shape: WAFInvalidOperationException)
1460
1610
  end)
1461
1611
 
1612
+ api.add_operation(:list_managed_rule_sets, Seahorse::Model::Operation.new.tap do |o|
1613
+ o.name = "ListManagedRuleSets"
1614
+ o.http_method = "POST"
1615
+ o.http_request_uri = "/"
1616
+ o.input = Shapes::ShapeRef.new(shape: ListManagedRuleSetsRequest)
1617
+ o.output = Shapes::ShapeRef.new(shape: ListManagedRuleSetsResponse)
1618
+ o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
1619
+ o.errors << Shapes::ShapeRef.new(shape: WAFInvalidParameterException)
1620
+ o.errors << Shapes::ShapeRef.new(shape: WAFInvalidOperationException)
1621
+ end)
1622
+
1462
1623
  api.add_operation(:list_regex_pattern_sets, Seahorse::Model::Operation.new.tap do |o|
1463
1624
  o.name = "ListRegexPatternSets"
1464
1625
  o.http_method = "POST"
@@ -1533,6 +1694,19 @@ module Aws::WAFV2
1533
1694
  o.errors << Shapes::ShapeRef.new(shape: WAFLimitsExceededException)
1534
1695
  end)
1535
1696
 
1697
+ api.add_operation(:put_managed_rule_set_versions, Seahorse::Model::Operation.new.tap do |o|
1698
+ o.name = "PutManagedRuleSetVersions"
1699
+ o.http_method = "POST"
1700
+ o.http_request_uri = "/"
1701
+ o.input = Shapes::ShapeRef.new(shape: PutManagedRuleSetVersionsRequest)
1702
+ o.output = Shapes::ShapeRef.new(shape: PutManagedRuleSetVersionsResponse)
1703
+ o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
1704
+ o.errors << Shapes::ShapeRef.new(shape: WAFInvalidParameterException)
1705
+ o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
1706
+ o.errors << Shapes::ShapeRef.new(shape: WAFOptimisticLockException)
1707
+ o.errors << Shapes::ShapeRef.new(shape: WAFInvalidOperationException)
1708
+ end)
1709
+
1536
1710
  api.add_operation(:put_permission_policy, Seahorse::Model::Operation.new.tap do |o|
1537
1711
  o.name = "PutPermissionPolicy"
1538
1712
  o.http_method = "POST"
@@ -1589,6 +1763,19 @@ module Aws::WAFV2
1589
1763
  o.errors << Shapes::ShapeRef.new(shape: WAFInvalidOperationException)
1590
1764
  end)
1591
1765
 
1766
+ api.add_operation(:update_managed_rule_set_version_expiry_date, Seahorse::Model::Operation.new.tap do |o|
1767
+ o.name = "UpdateManagedRuleSetVersionExpiryDate"
1768
+ o.http_method = "POST"
1769
+ o.http_request_uri = "/"
1770
+ o.input = Shapes::ShapeRef.new(shape: UpdateManagedRuleSetVersionExpiryDateRequest)
1771
+ o.output = Shapes::ShapeRef.new(shape: UpdateManagedRuleSetVersionExpiryDateResponse)
1772
+ o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
1773
+ o.errors << Shapes::ShapeRef.new(shape: WAFInvalidParameterException)
1774
+ o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
1775
+ o.errors << Shapes::ShapeRef.new(shape: WAFOptimisticLockException)
1776
+ o.errors << Shapes::ShapeRef.new(shape: WAFInvalidOperationException)
1777
+ end)
1778
+
1592
1779
  api.add_operation(:update_regex_pattern_set, Seahorse::Model::Operation.new.tap do |o|
1593
1780
  o.name = "UpdateRegexPatternSet"
1594
1781
  o.http_method = "POST"
@@ -1637,6 +1824,7 @@ module Aws::WAFV2
1637
1824
  o.errors << Shapes::ShapeRef.new(shape: WAFUnavailableEntityException)
1638
1825
  o.errors << Shapes::ShapeRef.new(shape: WAFSubscriptionNotFoundException)
1639
1826
  o.errors << Shapes::ShapeRef.new(shape: WAFInvalidOperationException)
1827
+ o.errors << Shapes::ShapeRef.new(shape: WAFExpiredManagedRuleGroupVersionException)
1640
1828
  end)
1641
1829
  end
1642
1830
 
@@ -29,6 +29,7 @@ module Aws::WAFV2
29
29
  # ## Error Classes
30
30
  # * {WAFAssociatedItemException}
31
31
  # * {WAFDuplicateItemException}
32
+ # * {WAFExpiredManagedRuleGroupVersionException}
32
33
  # * {WAFInternalErrorException}
33
34
  # * {WAFInvalidOperationException}
34
35
  # * {WAFInvalidParameterException}
@@ -79,6 +80,21 @@ module Aws::WAFV2
79
80
  end
80
81
  end
81
82
 
83
+ class WAFExpiredManagedRuleGroupVersionException < ServiceError
84
+
85
+ # @param [Seahorse::Client::RequestContext] context
86
+ # @param [String] message
87
+ # @param [Aws::WAFV2::Types::WAFExpiredManagedRuleGroupVersionException] data
88
+ def initialize(context, message, data = Aws::EmptyStructure.new)
89
+ super(context, message, data)
90
+ end
91
+
92
+ # @return [String]
93
+ def message
94
+ @message || @data[:message]
95
+ end
96
+ end
97
+
82
98
  class WAFInternalErrorException < ServiceError
83
99
 
84
100
  # @param [Seahorse::Client::RequestContext] context
@@ -339,6 +339,7 @@ module Aws::WAFV2
339
339
  # managed_rule_group_statement: {
340
340
  # vendor_name: "VendorName", # required
341
341
  # name: "EntityName", # required
342
+ # version: "VersionKeyString",
342
343
  # excluded_rules: [
343
344
  # {
344
345
  # name: "EntityName", # required
@@ -863,6 +864,7 @@ module Aws::WAFV2
863
864
  # managed_rule_group_statement: {
864
865
  # vendor_name: "VendorName", # required
865
866
  # name: "EntityName", # required
867
+ # version: "VersionKeyString",
866
868
  # excluded_rules: [
867
869
  # {
868
870
  # name: "EntityName", # required
@@ -1094,7 +1096,7 @@ module Aws::WAFV2
1094
1096
  # @return [String]
1095
1097
  #
1096
1098
  # @!attribute [rw] ip_address_version
1097
- # Specify IPV4 or IPV6.
1099
+ # The version of the IP addresses, either `IPV4` or `IPV6`.
1098
1100
  # @return [String]
1099
1101
  #
1100
1102
  # @!attribute [rw] addresses
@@ -1492,6 +1494,7 @@ module Aws::WAFV2
1492
1494
  # managed_rule_group_statement: {
1493
1495
  # vendor_name: "VendorName", # required
1494
1496
  # name: "EntityName", # required
1497
+ # version: "VersionKeyString",
1495
1498
  # excluded_rules: [
1496
1499
  # {
1497
1500
  # name: "EntityName", # required
@@ -1967,6 +1970,7 @@ module Aws::WAFV2
1967
1970
  # managed_rule_group_statement: {
1968
1971
  # vendor_name: "VendorName", # required
1969
1972
  # name: "EntityName", # required
1973
+ # version: "VersionKeyString",
1970
1974
  # excluded_rules: [
1971
1975
  # {
1972
1976
  # name: "EntityName", # required
@@ -2415,15 +2419,15 @@ module Aws::WAFV2
2415
2419
  # @return [String]
2416
2420
  #
2417
2421
  # @!attribute [rw] web_acl_lock_token
2418
- # A token used for optimistic locking. WAF returns a token to your get
2419
- # and list requests, to mark the state of the entity at the time of
2420
- # the request. To make changes to the entity associated with the
2421
- # token, you provide the token to operations like update and delete.
2422
- # WAF uses the token to ensure that no changes have been made to the
2423
- # entity since you last retrieved it. If a change has been made, the
2424
- # update fails with a `WAFOptimisticLockException`. If this happens,
2425
- # perform another get, and use the new token returned by that
2426
- # operation.
2422
+ # A token used for optimistic locking. WAF returns a token to your
2423
+ # `get` and `list` requests, to mark the state of the entity at the
2424
+ # time of the request. To make changes to the entity associated with
2425
+ # the token, you provide the token to operations like `update` and
2426
+ # `delete`. WAF uses the token to ensure that no changes have been
2427
+ # made to the entity since you last retrieved it. If a change has been
2428
+ # made, the update fails with a `WAFOptimisticLockException`. If this
2429
+ # happens, perform another `get`, and use the new token returned by
2430
+ # that operation.
2427
2431
  # @return [String]
2428
2432
  #
2429
2433
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/DeleteFirewallManagerRuleGroupsRequest AWS API Documentation
@@ -2436,15 +2440,15 @@ module Aws::WAFV2
2436
2440
  end
2437
2441
 
2438
2442
  # @!attribute [rw] next_web_acl_lock_token
2439
- # A token used for optimistic locking. WAF returns a token to your get
2440
- # and list requests, to mark the state of the entity at the time of
2441
- # the request. To make changes to the entity associated with the
2442
- # token, you provide the token to operations like update and delete.
2443
- # WAF uses the token to ensure that no changes have been made to the
2444
- # entity since you last retrieved it. If a change has been made, the
2445
- # update fails with a `WAFOptimisticLockException`. If this happens,
2446
- # perform another get, and use the new token returned by that
2447
- # operation.
2443
+ # A token used for optimistic locking. WAF returns a token to your
2444
+ # `get` and `list` requests, to mark the state of the entity at the
2445
+ # time of the request. To make changes to the entity associated with
2446
+ # the token, you provide the token to operations like `update` and
2447
+ # `delete`. WAF uses the token to ensure that no changes have been
2448
+ # made to the entity since you last retrieved it. If a change has been
2449
+ # made, the update fails with a `WAFOptimisticLockException`. If this
2450
+ # happens, perform another `get`, and use the new token returned by
2451
+ # that operation.
2448
2452
  # @return [String]
2449
2453
  #
2450
2454
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/DeleteFirewallManagerRuleGroupsResponse AWS API Documentation
@@ -2492,15 +2496,15 @@ module Aws::WAFV2
2492
2496
  # @return [String]
2493
2497
  #
2494
2498
  # @!attribute [rw] lock_token
2495
- # A token used for optimistic locking. WAF returns a token to your get
2496
- # and list requests, to mark the state of the entity at the time of
2497
- # the request. To make changes to the entity associated with the
2498
- # token, you provide the token to operations like update and delete.
2499
- # WAF uses the token to ensure that no changes have been made to the
2500
- # entity since you last retrieved it. If a change has been made, the
2501
- # update fails with a `WAFOptimisticLockException`. If this happens,
2502
- # perform another get, and use the new token returned by that
2503
- # operation.
2499
+ # A token used for optimistic locking. WAF returns a token to your
2500
+ # `get` and `list` requests, to mark the state of the entity at the
2501
+ # time of the request. To make changes to the entity associated with
2502
+ # the token, you provide the token to operations like `update` and
2503
+ # `delete`. WAF uses the token to ensure that no changes have been
2504
+ # made to the entity since you last retrieved it. If a change has been
2505
+ # made, the update fails with a `WAFOptimisticLockException`. If this
2506
+ # happens, perform another `get`, and use the new token returned by
2507
+ # that operation.
2504
2508
  # @return [String]
2505
2509
  #
2506
2510
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/DeleteIPSetRequest AWS API Documentation
@@ -2605,15 +2609,15 @@ module Aws::WAFV2
2605
2609
  # @return [String]
2606
2610
  #
2607
2611
  # @!attribute [rw] lock_token
2608
- # A token used for optimistic locking. WAF returns a token to your get
2609
- # and list requests, to mark the state of the entity at the time of
2610
- # the request. To make changes to the entity associated with the
2611
- # token, you provide the token to operations like update and delete.
2612
- # WAF uses the token to ensure that no changes have been made to the
2613
- # entity since you last retrieved it. If a change has been made, the
2614
- # update fails with a `WAFOptimisticLockException`. If this happens,
2615
- # perform another get, and use the new token returned by that
2616
- # operation.
2612
+ # A token used for optimistic locking. WAF returns a token to your
2613
+ # `get` and `list` requests, to mark the state of the entity at the
2614
+ # time of the request. To make changes to the entity associated with
2615
+ # the token, you provide the token to operations like `update` and
2616
+ # `delete`. WAF uses the token to ensure that no changes have been
2617
+ # made to the entity since you last retrieved it. If a change has been
2618
+ # made, the update fails with a `WAFOptimisticLockException`. If this
2619
+ # happens, perform another `get`, and use the new token returned by
2620
+ # that operation.
2617
2621
  # @return [String]
2618
2622
  #
2619
2623
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/DeleteRegexPatternSetRequest AWS API Documentation
@@ -2668,15 +2672,15 @@ module Aws::WAFV2
2668
2672
  # @return [String]
2669
2673
  #
2670
2674
  # @!attribute [rw] lock_token
2671
- # A token used for optimistic locking. WAF returns a token to your get
2672
- # and list requests, to mark the state of the entity at the time of
2673
- # the request. To make changes to the entity associated with the
2674
- # token, you provide the token to operations like update and delete.
2675
- # WAF uses the token to ensure that no changes have been made to the
2676
- # entity since you last retrieved it. If a change has been made, the
2677
- # update fails with a `WAFOptimisticLockException`. If this happens,
2678
- # perform another get, and use the new token returned by that
2679
- # operation.
2675
+ # A token used for optimistic locking. WAF returns a token to your
2676
+ # `get` and `list` requests, to mark the state of the entity at the
2677
+ # time of the request. To make changes to the entity associated with
2678
+ # the token, you provide the token to operations like `update` and
2679
+ # `delete`. WAF uses the token to ensure that no changes have been
2680
+ # made to the entity since you last retrieved it. If a change has been
2681
+ # made, the update fails with a `WAFOptimisticLockException`. If this
2682
+ # happens, perform another `get`, and use the new token returned by
2683
+ # that operation.
2680
2684
  # @return [String]
2681
2685
  #
2682
2686
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/DeleteRuleGroupRequest AWS API Documentation
@@ -2731,15 +2735,15 @@ module Aws::WAFV2
2731
2735
  # @return [String]
2732
2736
  #
2733
2737
  # @!attribute [rw] lock_token
2734
- # A token used for optimistic locking. WAF returns a token to your get
2735
- # and list requests, to mark the state of the entity at the time of
2736
- # the request. To make changes to the entity associated with the
2737
- # token, you provide the token to operations like update and delete.
2738
- # WAF uses the token to ensure that no changes have been made to the
2739
- # entity since you last retrieved it. If a change has been made, the
2740
- # update fails with a `WAFOptimisticLockException`. If this happens,
2741
- # perform another get, and use the new token returned by that
2742
- # operation.
2738
+ # A token used for optimistic locking. WAF returns a token to your
2739
+ # `get` and `list` requests, to mark the state of the entity at the
2740
+ # time of the request. To make changes to the entity associated with
2741
+ # the token, you provide the token to operations like `update` and
2742
+ # `delete`. WAF uses the token to ensure that no changes have been
2743
+ # made to the entity since you last retrieved it. If a change has been
2744
+ # made, the update fails with a `WAFOptimisticLockException`. If this
2745
+ # happens, perform another `get`, and use the new token returned by
2746
+ # that operation.
2743
2747
  # @return [String]
2744
2748
  #
2745
2749
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/DeleteWebACLRequest AWS API Documentation
@@ -2764,6 +2768,7 @@ module Aws::WAFV2
2764
2768
  # vendor_name: "VendorName", # required
2765
2769
  # name: "EntityName", # required
2766
2770
  # scope: "CLOUDFRONT", # required, accepts CLOUDFRONT, REGIONAL
2771
+ # version_name: "VersionKeyString",
2767
2772
  # }
2768
2773
  #
2769
2774
  # @!attribute [rw] vendor_name
@@ -2791,16 +2796,40 @@ module Aws::WAFV2
2791
2796
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
2792
2797
  # @return [String]
2793
2798
  #
2799
+ # @!attribute [rw] version_name
2800
+ # The version of the rule group. You can only use a version that is
2801
+ # not scheduled for expiration. If you don't provide this, WAF uses
2802
+ # the vendor's default version.
2803
+ # @return [String]
2804
+ #
2794
2805
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/DescribeManagedRuleGroupRequest AWS API Documentation
2795
2806
  #
2796
2807
  class DescribeManagedRuleGroupRequest < Struct.new(
2797
2808
  :vendor_name,
2798
2809
  :name,
2799
- :scope)
2810
+ :scope,
2811
+ :version_name)
2800
2812
  SENSITIVE = []
2801
2813
  include Aws::Structure
2802
2814
  end
2803
2815
 
2816
+ # @!attribute [rw] version_name
2817
+ # The managed rule group's version.
2818
+ # @return [String]
2819
+ #
2820
+ # @!attribute [rw] sns_topic_arn
2821
+ # The Amazon resource name (ARN) of the Amazon Simple Notification
2822
+ # Service SNS topic that's used to record changes to the managed rule
2823
+ # group. You can subscribe to the SNS topic to receive notifications
2824
+ # when the managed rule group is modified, such as for new versions
2825
+ # and for version expiration. For more information, see the [Amazon
2826
+ # Simple Notification Service Developer Guide][1].
2827
+ #
2828
+ #
2829
+ #
2830
+ # [1]: https://docs.aws.amazon.com/sns/latest/dg/welcome.html
2831
+ # @return [String]
2832
+ #
2804
2833
  # @!attribute [rw] capacity
2805
2834
  # The web ACL capacity units (WCUs) required for this rule group. WAF
2806
2835
  # uses web ACL capacity units (WCU) to calculate and control the
@@ -2847,6 +2876,8 @@ module Aws::WAFV2
2847
2876
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/DescribeManagedRuleGroupResponse AWS API Documentation
2848
2877
  #
2849
2878
  class DescribeManagedRuleGroupResponse < Struct.new(
2879
+ :version_name,
2880
+ :sns_topic_arn,
2850
2881
  :capacity,
2851
2882
  :rules,
2852
2883
  :label_namespace,
@@ -3330,15 +3361,15 @@ module Aws::WAFV2
3330
3361
  # @return [Types::IPSet]
3331
3362
  #
3332
3363
  # @!attribute [rw] lock_token
3333
- # A token used for optimistic locking. WAF returns a token to your get
3334
- # and list requests, to mark the state of the entity at the time of
3335
- # the request. To make changes to the entity associated with the
3336
- # token, you provide the token to operations like update and delete.
3337
- # WAF uses the token to ensure that no changes have been made to the
3338
- # entity since you last retrieved it. If a change has been made, the
3339
- # update fails with a `WAFOptimisticLockException`. If this happens,
3340
- # perform another get, and use the new token returned by that
3341
- # operation.
3364
+ # A token used for optimistic locking. WAF returns a token to your
3365
+ # `get` and `list` requests, to mark the state of the entity at the
3366
+ # time of the request. To make changes to the entity associated with
3367
+ # the token, you provide the token to operations like `update` and
3368
+ # `delete`. WAF uses the token to ensure that no changes have been
3369
+ # made to the entity since you last retrieved it. If a change has been
3370
+ # made, the update fails with a `WAFOptimisticLockException`. If this
3371
+ # happens, perform another `get`, and use the new token returned by
3372
+ # that operation.
3342
3373
  # @return [String]
3343
3374
  #
3344
3375
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetIPSetResponse AWS API Documentation
@@ -3382,6 +3413,79 @@ module Aws::WAFV2
3382
3413
  include Aws::Structure
3383
3414
  end
3384
3415
 
3416
+ # @note When making an API call, you may pass GetManagedRuleSetRequest
3417
+ # data as a hash:
3418
+ #
3419
+ # {
3420
+ # name: "EntityName", # required
3421
+ # scope: "CLOUDFRONT", # required, accepts CLOUDFRONT, REGIONAL
3422
+ # id: "EntityId", # required
3423
+ # }
3424
+ #
3425
+ # @!attribute [rw] name
3426
+ # The name of the managed rule set. You use this, along with the rule
3427
+ # set ID, to identify the rule set.
3428
+ #
3429
+ # This name is assigned to the corresponding managed rule group, which
3430
+ # your customers can access and use.
3431
+ # @return [String]
3432
+ #
3433
+ # @!attribute [rw] scope
3434
+ # Specifies whether this is for an Amazon CloudFront distribution or
3435
+ # for a regional application. A regional application can be an
3436
+ # Application Load Balancer (ALB), an Amazon API Gateway REST API, or
3437
+ # an AppSync GraphQL API.
3438
+ #
3439
+ # To work with CloudFront, you must also specify the Region US East
3440
+ # (N. Virginia) as follows:
3441
+ #
3442
+ # * CLI - Specify the Region when you use the CloudFront scope:
3443
+ # `--scope=CLOUDFRONT --region=us-east-1`.
3444
+ #
3445
+ # * API and SDKs - For all calls, use the Region endpoint us-east-1.
3446
+ # @return [String]
3447
+ #
3448
+ # @!attribute [rw] id
3449
+ # A unique identifier for the managed rule set. The ID is returned in
3450
+ # the responses to commands like `list`. You provide it to operations
3451
+ # like `get` and `update`.
3452
+ # @return [String]
3453
+ #
3454
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetManagedRuleSetRequest AWS API Documentation
3455
+ #
3456
+ class GetManagedRuleSetRequest < Struct.new(
3457
+ :name,
3458
+ :scope,
3459
+ :id)
3460
+ SENSITIVE = []
3461
+ include Aws::Structure
3462
+ end
3463
+
3464
+ # @!attribute [rw] managed_rule_set
3465
+ # The managed rule set that you requested.
3466
+ # @return [Types::ManagedRuleSet]
3467
+ #
3468
+ # @!attribute [rw] lock_token
3469
+ # A token used for optimistic locking. WAF returns a token to your
3470
+ # `get` and `list` requests, to mark the state of the entity at the
3471
+ # time of the request. To make changes to the entity associated with
3472
+ # the token, you provide the token to operations like `update` and
3473
+ # `delete`. WAF uses the token to ensure that no changes have been
3474
+ # made to the entity since you last retrieved it. If a change has been
3475
+ # made, the update fails with a `WAFOptimisticLockException`. If this
3476
+ # happens, perform another `get`, and use the new token returned by
3477
+ # that operation.
3478
+ # @return [String]
3479
+ #
3480
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetManagedRuleSetResponse AWS API Documentation
3481
+ #
3482
+ class GetManagedRuleSetResponse < Struct.new(
3483
+ :managed_rule_set,
3484
+ :lock_token)
3485
+ SENSITIVE = []
3486
+ include Aws::Structure
3487
+ end
3488
+
3385
3489
  # @note When making an API call, you may pass GetPermissionPolicyRequest
3386
3490
  # data as a hash:
3387
3491
  #
@@ -3531,15 +3635,15 @@ module Aws::WAFV2
3531
3635
  # @return [Types::RegexPatternSet]
3532
3636
  #
3533
3637
  # @!attribute [rw] lock_token
3534
- # A token used for optimistic locking. WAF returns a token to your get
3535
- # and list requests, to mark the state of the entity at the time of
3536
- # the request. To make changes to the entity associated with the
3537
- # token, you provide the token to operations like update and delete.
3538
- # WAF uses the token to ensure that no changes have been made to the
3539
- # entity since you last retrieved it. If a change has been made, the
3540
- # update fails with a `WAFOptimisticLockException`. If this happens,
3541
- # perform another get, and use the new token returned by that
3542
- # operation.
3638
+ # A token used for optimistic locking. WAF returns a token to your
3639
+ # `get` and `list` requests, to mark the state of the entity at the
3640
+ # time of the request. To make changes to the entity associated with
3641
+ # the token, you provide the token to operations like `update` and
3642
+ # `delete`. WAF uses the token to ensure that no changes have been
3643
+ # made to the entity since you last retrieved it. If a change has been
3644
+ # made, the update fails with a `WAFOptimisticLockException`. If this
3645
+ # happens, perform another `get`, and use the new token returned by
3646
+ # that operation.
3543
3647
  # @return [String]
3544
3648
  #
3545
3649
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetRegexPatternSetResponse AWS API Documentation
@@ -3606,15 +3710,15 @@ module Aws::WAFV2
3606
3710
  # @return [Types::RuleGroup]
3607
3711
  #
3608
3712
  # @!attribute [rw] lock_token
3609
- # A token used for optimistic locking. WAF returns a token to your get
3610
- # and list requests, to mark the state of the entity at the time of
3611
- # the request. To make changes to the entity associated with the
3612
- # token, you provide the token to operations like update and delete.
3613
- # WAF uses the token to ensure that no changes have been made to the
3614
- # entity since you last retrieved it. If a change has been made, the
3615
- # update fails with a `WAFOptimisticLockException`. If this happens,
3616
- # perform another get, and use the new token returned by that
3617
- # operation.
3713
+ # A token used for optimistic locking. WAF returns a token to your
3714
+ # `get` and `list` requests, to mark the state of the entity at the
3715
+ # time of the request. To make changes to the entity associated with
3716
+ # the token, you provide the token to operations like `update` and
3717
+ # `delete`. WAF uses the token to ensure that no changes have been
3718
+ # made to the entity since you last retrieved it. If a change has been
3719
+ # made, the update fails with a `WAFOptimisticLockException`. If this
3720
+ # happens, perform another `get`, and use the new token returned by
3721
+ # that operation.
3618
3722
  # @return [String]
3619
3723
  #
3620
3724
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetRuleGroupResponse AWS API Documentation
@@ -3809,15 +3913,15 @@ module Aws::WAFV2
3809
3913
  # @return [Types::WebACL]
3810
3914
  #
3811
3915
  # @!attribute [rw] lock_token
3812
- # A token used for optimistic locking. WAF returns a token to your get
3813
- # and list requests, to mark the state of the entity at the time of
3814
- # the request. To make changes to the entity associated with the
3815
- # token, you provide the token to operations like update and delete.
3816
- # WAF uses the token to ensure that no changes have been made to the
3817
- # entity since you last retrieved it. If a change has been made, the
3818
- # update fails with a `WAFOptimisticLockException`. If this happens,
3819
- # perform another get, and use the new token returned by that
3820
- # operation.
3916
+ # A token used for optimistic locking. WAF returns a token to your
3917
+ # `get` and `list` requests, to mark the state of the entity at the
3918
+ # time of the request. To make changes to the entity associated with
3919
+ # the token, you provide the token to operations like `update` and
3920
+ # `delete`. WAF uses the token to ensure that no changes have been
3921
+ # made to the entity since you last retrieved it. If a change has been
3922
+ # made, the update fails with a `WAFOptimisticLockException`. If this
3923
+ # happens, perform another `get`, and use the new token returned by
3924
+ # that operation.
3821
3925
  # @return [String]
3822
3926
  #
3823
3927
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetWebACLResponse AWS API Documentation
@@ -3942,7 +4046,7 @@ module Aws::WAFV2
3942
4046
  # @return [String]
3943
4047
  #
3944
4048
  # @!attribute [rw] ip_address_version
3945
- # Specify IPV4 or IPV6.
4049
+ # The version of the IP addresses, either `IPV4` or `IPV6`.
3946
4050
  # @return [String]
3947
4051
  #
3948
4052
  # @!attribute [rw] addresses
@@ -4143,15 +4247,15 @@ module Aws::WAFV2
4143
4247
  # @return [String]
4144
4248
  #
4145
4249
  # @!attribute [rw] lock_token
4146
- # A token used for optimistic locking. WAF returns a token to your get
4147
- # and list requests, to mark the state of the entity at the time of
4148
- # the request. To make changes to the entity associated with the
4149
- # token, you provide the token to operations like update and delete.
4150
- # WAF uses the token to ensure that no changes have been made to the
4151
- # entity since you last retrieved it. If a change has been made, the
4152
- # update fails with a `WAFOptimisticLockException`. If this happens,
4153
- # perform another get, and use the new token returned by that
4154
- # operation.
4250
+ # A token used for optimistic locking. WAF returns a token to your
4251
+ # `get` and `list` requests, to mark the state of the entity at the
4252
+ # time of the request. To make changes to the entity associated with
4253
+ # the token, you provide the token to operations like `update` and
4254
+ # `delete`. WAF uses the token to ensure that no changes have been
4255
+ # made to the entity since you last retrieved it. If a change has been
4256
+ # made, the update fails with a `WAFOptimisticLockException`. If this
4257
+ # happens, perform another `get`, and use the new token returned by
4258
+ # that operation.
4155
4259
  # @return [String]
4156
4260
  #
4157
4261
  # @!attribute [rw] arn
@@ -4220,9 +4324,9 @@ module Aws::WAFV2
4220
4324
  # content only up to the first parsing failure that it encounters.
4221
4325
  #
4222
4326
  # WAF does its best to parse the entire JSON body, but might be forced
4223
- # to stop for reasons such as characters that aren't valid, duplicate
4224
- # keys, truncation, and any content whose root node isn't an object
4225
- # or an array.
4327
+ # to stop for reasons such as invalid characters, duplicate keys,
4328
+ # truncation, and any content whose root node isn't an object or an
4329
+ # array.
4226
4330
  #
4227
4331
  # WAF parses the JSON in the following examples as two valid key,
4228
4332
  # value pairs:
@@ -4418,6 +4522,91 @@ module Aws::WAFV2
4418
4522
  include Aws::Structure
4419
4523
  end
4420
4524
 
4525
+ # @note When making an API call, you may pass ListAvailableManagedRuleGroupVersionsRequest
4526
+ # data as a hash:
4527
+ #
4528
+ # {
4529
+ # vendor_name: "VendorName", # required
4530
+ # name: "EntityName", # required
4531
+ # scope: "CLOUDFRONT", # required, accepts CLOUDFRONT, REGIONAL
4532
+ # next_marker: "NextMarker",
4533
+ # limit: 1,
4534
+ # }
4535
+ #
4536
+ # @!attribute [rw] vendor_name
4537
+ # The name of the managed rule group vendor. You use this, along with
4538
+ # the rule group name, to identify the rule group.
4539
+ # @return [String]
4540
+ #
4541
+ # @!attribute [rw] name
4542
+ # The name of the managed rule group. You use this, along with the
4543
+ # vendor name, to identify the rule group.
4544
+ # @return [String]
4545
+ #
4546
+ # @!attribute [rw] scope
4547
+ # Specifies whether this is for an Amazon CloudFront distribution or
4548
+ # for a regional application. A regional application can be an
4549
+ # Application Load Balancer (ALB), an Amazon API Gateway REST API, or
4550
+ # an AppSync GraphQL API.
4551
+ #
4552
+ # To work with CloudFront, you must also specify the Region US East
4553
+ # (N. Virginia) as follows:
4554
+ #
4555
+ # * CLI - Specify the Region when you use the CloudFront scope:
4556
+ # `--scope=CLOUDFRONT --region=us-east-1`.
4557
+ #
4558
+ # * API and SDKs - For all calls, use the Region endpoint us-east-1.
4559
+ # @return [String]
4560
+ #
4561
+ # @!attribute [rw] next_marker
4562
+ # When you request a list of objects with a `Limit` setting, if the
4563
+ # number of objects that are still available for retrieval exceeds the
4564
+ # limit, WAF returns a `NextMarker` value in the response. To retrieve
4565
+ # the next batch of objects, provide the marker from the prior call in
4566
+ # your next request.
4567
+ # @return [String]
4568
+ #
4569
+ # @!attribute [rw] limit
4570
+ # The maximum number of objects that you want WAF to return for this
4571
+ # request. If more objects are available, in the response, WAF
4572
+ # provides a `NextMarker` value that you can use in a subsequent call
4573
+ # to get the next batch of objects.
4574
+ # @return [Integer]
4575
+ #
4576
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ListAvailableManagedRuleGroupVersionsRequest AWS API Documentation
4577
+ #
4578
+ class ListAvailableManagedRuleGroupVersionsRequest < Struct.new(
4579
+ :vendor_name,
4580
+ :name,
4581
+ :scope,
4582
+ :next_marker,
4583
+ :limit)
4584
+ SENSITIVE = []
4585
+ include Aws::Structure
4586
+ end
4587
+
4588
+ # @!attribute [rw] next_marker
4589
+ # When you request a list of objects with a `Limit` setting, if the
4590
+ # number of objects that are still available for retrieval exceeds the
4591
+ # limit, WAF returns a `NextMarker` value in the response. To retrieve
4592
+ # the next batch of objects, provide the marker from the prior call in
4593
+ # your next request.
4594
+ # @return [String]
4595
+ #
4596
+ # @!attribute [rw] versions
4597
+ # The versions that are currently available for the specified managed
4598
+ # rule group.
4599
+ # @return [Array<Types::ManagedRuleGroupVersion>]
4600
+ #
4601
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ListAvailableManagedRuleGroupVersionsResponse AWS API Documentation
4602
+ #
4603
+ class ListAvailableManagedRuleGroupVersionsResponse < Struct.new(
4604
+ :next_marker,
4605
+ :versions)
4606
+ SENSITIVE = []
4607
+ include Aws::Structure
4608
+ end
4609
+
4421
4610
  # @note When making an API call, you may pass ListAvailableManagedRuleGroupsRequest
4422
4611
  # data as a hash:
4423
4612
  #
@@ -4627,6 +4816,76 @@ module Aws::WAFV2
4627
4816
  include Aws::Structure
4628
4817
  end
4629
4818
 
4819
+ # @note When making an API call, you may pass ListManagedRuleSetsRequest
4820
+ # data as a hash:
4821
+ #
4822
+ # {
4823
+ # scope: "CLOUDFRONT", # required, accepts CLOUDFRONT, REGIONAL
4824
+ # next_marker: "NextMarker",
4825
+ # limit: 1,
4826
+ # }
4827
+ #
4828
+ # @!attribute [rw] scope
4829
+ # Specifies whether this is for an Amazon CloudFront distribution or
4830
+ # for a regional application. A regional application can be an
4831
+ # Application Load Balancer (ALB), an Amazon API Gateway REST API, or
4832
+ # an AppSync GraphQL API.
4833
+ #
4834
+ # To work with CloudFront, you must also specify the Region US East
4835
+ # (N. Virginia) as follows:
4836
+ #
4837
+ # * CLI - Specify the Region when you use the CloudFront scope:
4838
+ # `--scope=CLOUDFRONT --region=us-east-1`.
4839
+ #
4840
+ # * API and SDKs - For all calls, use the Region endpoint us-east-1.
4841
+ # @return [String]
4842
+ #
4843
+ # @!attribute [rw] next_marker
4844
+ # When you request a list of objects with a `Limit` setting, if the
4845
+ # number of objects that are still available for retrieval exceeds the
4846
+ # limit, WAF returns a `NextMarker` value in the response. To retrieve
4847
+ # the next batch of objects, provide the marker from the prior call in
4848
+ # your next request.
4849
+ # @return [String]
4850
+ #
4851
+ # @!attribute [rw] limit
4852
+ # The maximum number of objects that you want WAF to return for this
4853
+ # request. If more objects are available, in the response, WAF
4854
+ # provides a `NextMarker` value that you can use in a subsequent call
4855
+ # to get the next batch of objects.
4856
+ # @return [Integer]
4857
+ #
4858
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ListManagedRuleSetsRequest AWS API Documentation
4859
+ #
4860
+ class ListManagedRuleSetsRequest < Struct.new(
4861
+ :scope,
4862
+ :next_marker,
4863
+ :limit)
4864
+ SENSITIVE = []
4865
+ include Aws::Structure
4866
+ end
4867
+
4868
+ # @!attribute [rw] next_marker
4869
+ # When you request a list of objects with a `Limit` setting, if the
4870
+ # number of objects that are still available for retrieval exceeds the
4871
+ # limit, WAF returns a `NextMarker` value in the response. To retrieve
4872
+ # the next batch of objects, provide the marker from the prior call in
4873
+ # your next request.
4874
+ # @return [String]
4875
+ #
4876
+ # @!attribute [rw] managed_rule_sets
4877
+ # Your managed rule sets.
4878
+ # @return [Array<Types::ManagedRuleSetSummary>]
4879
+ #
4880
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ListManagedRuleSetsResponse AWS API Documentation
4881
+ #
4882
+ class ListManagedRuleSetsResponse < Struct.new(
4883
+ :next_marker,
4884
+ :managed_rule_sets)
4885
+ SENSITIVE = []
4886
+ include Aws::Structure
4887
+ end
4888
+
4630
4889
  # @note When making an API call, you may pass ListRegexPatternSetsRequest
4631
4890
  # data as a hash:
4632
4891
  #
@@ -5104,6 +5363,7 @@ module Aws::WAFV2
5104
5363
  # {
5105
5364
  # vendor_name: "VendorName", # required
5106
5365
  # name: "EntityName", # required
5366
+ # version: "VersionKeyString",
5107
5367
  # excluded_rules: [
5108
5368
  # {
5109
5369
  # name: "EntityName", # required
@@ -5346,6 +5606,7 @@ module Aws::WAFV2
5346
5606
  # managed_rule_group_statement: {
5347
5607
  # vendor_name: "VendorName", # required
5348
5608
  # name: "EntityName", # required
5609
+ # version: "VersionKeyString",
5349
5610
  # excluded_rules: [
5350
5611
  # {
5351
5612
  # name: "EntityName", # required
@@ -5372,6 +5633,14 @@ module Aws::WAFV2
5372
5633
  # vendor name, to identify the rule group.
5373
5634
  # @return [String]
5374
5635
  #
5636
+ # @!attribute [rw] version
5637
+ # The version of the managed rule group to use. If you specify this,
5638
+ # the version setting is fixed until you change it. If you don't
5639
+ # specify this, WAF uses the vendor's default version, and then keeps
5640
+ # the version at the vendor's default when the vendor updates the
5641
+ # managed rule group settings.
5642
+ # @return [String]
5643
+ #
5375
5644
  # @!attribute [rw] excluded_rules
5376
5645
  # The rules whose actions are set to `COUNT` by the web ACL,
5377
5646
  # regardless of the action that is set on the rule. This effectively
@@ -5392,6 +5661,7 @@ module Aws::WAFV2
5392
5661
  class ManagedRuleGroupStatement < Struct.new(
5393
5662
  :vendor_name,
5394
5663
  :name,
5664
+ :version,
5395
5665
  :excluded_rules,
5396
5666
  :scope_down_statement)
5397
5667
  SENSITIVE = []
@@ -5431,6 +5701,254 @@ module Aws::WAFV2
5431
5701
  include Aws::Structure
5432
5702
  end
5433
5703
 
5704
+ # Describes a single version of a managed rule group.
5705
+ #
5706
+ # @!attribute [rw] name
5707
+ # The version name.
5708
+ # @return [String]
5709
+ #
5710
+ # @!attribute [rw] last_update_timestamp
5711
+ # The date and time that the managed rule group owner updated the rule
5712
+ # group version information.
5713
+ # @return [Time]
5714
+ #
5715
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ManagedRuleGroupVersion AWS API Documentation
5716
+ #
5717
+ class ManagedRuleGroupVersion < Struct.new(
5718
+ :name,
5719
+ :last_update_timestamp)
5720
+ SENSITIVE = []
5721
+ include Aws::Structure
5722
+ end
5723
+
5724
+ # A set of rules that is managed by Amazon Web Services and Marketplace
5725
+ # sellers to provide versioned managed rule groups for customers of WAF.
5726
+ #
5727
+ # <note markdown="1"> This is intended for use only by vendors of managed rule sets. Vendors
5728
+ # are Amazon Web Services and Marketplace sellers.
5729
+ #
5730
+ # Vendors, you can use the managed rule set APIs to provide controlled
5731
+ # rollout of your versioned managed rule group offerings for your
5732
+ # customers. The APIs are `ListManagedRuleSets`, `GetManagedRuleSet`,
5733
+ # `PutManagedRuleSetVersions`, and
5734
+ # `UpdateManagedRuleSetVersionExpiryDate`.
5735
+ #
5736
+ # </note>
5737
+ #
5738
+ # @!attribute [rw] name
5739
+ # The name of the managed rule set. You use this, along with the rule
5740
+ # set ID, to identify the rule set.
5741
+ #
5742
+ # This name is assigned to the corresponding managed rule group, which
5743
+ # your customers can access and use.
5744
+ # @return [String]
5745
+ #
5746
+ # @!attribute [rw] id
5747
+ # A unique identifier for the managed rule set. The ID is returned in
5748
+ # the responses to commands like `list`. You provide it to operations
5749
+ # like `get` and `update`.
5750
+ # @return [String]
5751
+ #
5752
+ # @!attribute [rw] arn
5753
+ # The Amazon Resource Name (ARN) of the entity.
5754
+ # @return [String]
5755
+ #
5756
+ # @!attribute [rw] description
5757
+ # A description of the set that helps with identification.
5758
+ # @return [String]
5759
+ #
5760
+ # @!attribute [rw] published_versions
5761
+ # The versions of this managed rule set that are available for use by
5762
+ # customers.
5763
+ # @return [Hash<String,Types::ManagedRuleSetVersion>]
5764
+ #
5765
+ # @!attribute [rw] recommended_version
5766
+ # The version that you would like your customers to use.
5767
+ # @return [String]
5768
+ #
5769
+ # @!attribute [rw] label_namespace
5770
+ # The label namespace prefix for the managed rule groups that are
5771
+ # offered to customers from this managed rule set. All labels that are
5772
+ # added by rules in the managed rule group have this prefix.
5773
+ #
5774
+ # * The syntax for the label namespace prefix for a managed rule group
5775
+ # is the following:
5776
+ #
5777
+ # `awswaf:managed:<vendor>:<rule group name>`\:
5778
+ #
5779
+ # * When a rule with a label matches a web request, WAF adds the fully
5780
+ # qualified label to the request. A fully qualified label is made up
5781
+ # of the label namespace from the rule group or web ACL where the
5782
+ # rule is defined and the label from the rule, separated by a colon:
5783
+ #
5784
+ # `<label namespace>:<label from rule>`
5785
+ # @return [String]
5786
+ #
5787
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ManagedRuleSet AWS API Documentation
5788
+ #
5789
+ class ManagedRuleSet < Struct.new(
5790
+ :name,
5791
+ :id,
5792
+ :arn,
5793
+ :description,
5794
+ :published_versions,
5795
+ :recommended_version,
5796
+ :label_namespace)
5797
+ SENSITIVE = []
5798
+ include Aws::Structure
5799
+ end
5800
+
5801
+ # High-level information for a managed rule set.
5802
+ #
5803
+ # <note markdown="1"> This is intended for use only by vendors of managed rule sets. Vendors
5804
+ # are Amazon Web Services and Marketplace sellers.
5805
+ #
5806
+ # Vendors, you can use the managed rule set APIs to provide controlled
5807
+ # rollout of your versioned managed rule group offerings for your
5808
+ # customers. The APIs are `ListManagedRuleSets`, `GetManagedRuleSet`,
5809
+ # `PutManagedRuleSetVersions`, and
5810
+ # `UpdateManagedRuleSetVersionExpiryDate`.
5811
+ #
5812
+ # </note>
5813
+ #
5814
+ # @!attribute [rw] name
5815
+ # The name of the managed rule set. You use this, along with the rule
5816
+ # set ID, to identify the rule set.
5817
+ #
5818
+ # This name is assigned to the corresponding managed rule group, which
5819
+ # your customers can access and use.
5820
+ # @return [String]
5821
+ #
5822
+ # @!attribute [rw] id
5823
+ # A unique identifier for the managed rule set. The ID is returned in
5824
+ # the responses to commands like `list`. You provide it to operations
5825
+ # like `get` and `update`.
5826
+ # @return [String]
5827
+ #
5828
+ # @!attribute [rw] description
5829
+ # A description of the set that helps with identification.
5830
+ # @return [String]
5831
+ #
5832
+ # @!attribute [rw] lock_token
5833
+ # A token used for optimistic locking. WAF returns a token to your
5834
+ # `get` and `list` requests, to mark the state of the entity at the
5835
+ # time of the request. To make changes to the entity associated with
5836
+ # the token, you provide the token to operations like `update` and
5837
+ # `delete`. WAF uses the token to ensure that no changes have been
5838
+ # made to the entity since you last retrieved it. If a change has been
5839
+ # made, the update fails with a `WAFOptimisticLockException`. If this
5840
+ # happens, perform another `get`, and use the new token returned by
5841
+ # that operation.
5842
+ # @return [String]
5843
+ #
5844
+ # @!attribute [rw] arn
5845
+ # The Amazon Resource Name (ARN) of the entity.
5846
+ # @return [String]
5847
+ #
5848
+ # @!attribute [rw] label_namespace
5849
+ # The label namespace prefix for the managed rule groups that are
5850
+ # offered to customers from this managed rule set. All labels that are
5851
+ # added by rules in the managed rule group have this prefix.
5852
+ #
5853
+ # * The syntax for the label namespace prefix for a managed rule group
5854
+ # is the following:
5855
+ #
5856
+ # `awswaf:managed:<vendor>:<rule group name>`\:
5857
+ #
5858
+ # * When a rule with a label matches a web request, WAF adds the fully
5859
+ # qualified label to the request. A fully qualified label is made up
5860
+ # of the label namespace from the rule group or web ACL where the
5861
+ # rule is defined and the label from the rule, separated by a colon:
5862
+ #
5863
+ # `<label namespace>:<label from rule>`
5864
+ # @return [String]
5865
+ #
5866
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ManagedRuleSetSummary AWS API Documentation
5867
+ #
5868
+ class ManagedRuleSetSummary < Struct.new(
5869
+ :name,
5870
+ :id,
5871
+ :description,
5872
+ :lock_token,
5873
+ :arn,
5874
+ :label_namespace)
5875
+ SENSITIVE = []
5876
+ include Aws::Structure
5877
+ end
5878
+
5879
+ # Information for a single version of a managed rule set.
5880
+ #
5881
+ # <note markdown="1"> This is intended for use only by vendors of managed rule sets. Vendors
5882
+ # are Amazon Web Services and Marketplace sellers.
5883
+ #
5884
+ # Vendors, you can use the managed rule set APIs to provide controlled
5885
+ # rollout of your versioned managed rule group offerings for your
5886
+ # customers. The APIs are `ListManagedRuleSets`, `GetManagedRuleSet`,
5887
+ # `PutManagedRuleSetVersions`, and
5888
+ # `UpdateManagedRuleSetVersionExpiryDate`.
5889
+ #
5890
+ # </note>
5891
+ #
5892
+ # @!attribute [rw] associated_rule_group_arn
5893
+ # The Amazon Resource Name (ARN) of the vendor rule group that's used
5894
+ # to define the published version of your managed rule group.
5895
+ # @return [String]
5896
+ #
5897
+ # @!attribute [rw] capacity
5898
+ # The web ACL capacity units (WCUs) required for this rule group.
5899
+ #
5900
+ # WAF uses WCUs to calculate and control the operating resources that
5901
+ # are used to run your rules, rule groups, and web ACLs. WAF
5902
+ # calculates capacity differently for each rule type, to reflect the
5903
+ # relative cost of each rule. Simple rules that cost little to run use
5904
+ # fewer WCUs than more complex rules that use more processing power.
5905
+ # Rule group capacity is fixed at creation, which helps users plan
5906
+ # their web ACL WCU usage when they use a rule group. The WCU limit
5907
+ # for web ACLs is 1,500.
5908
+ # @return [Integer]
5909
+ #
5910
+ # @!attribute [rw] forecasted_lifetime
5911
+ # The amount of time you expect this version of your managed rule
5912
+ # group to last, in days.
5913
+ # @return [Integer]
5914
+ #
5915
+ # @!attribute [rw] publish_timestamp
5916
+ # The time that you first published this version.
5917
+ #
5918
+ # Times are in Coordinated Universal Time (UTC) format. UTC format
5919
+ # includes the special designator, Z. For example,
5920
+ # "2016-09-27T14:50Z".
5921
+ # @return [Time]
5922
+ #
5923
+ # @!attribute [rw] last_update_timestamp
5924
+ # The last time that you updated this version.
5925
+ #
5926
+ # Times are in Coordinated Universal Time (UTC) format. UTC format
5927
+ # includes the special designator, Z. For example,
5928
+ # "2016-09-27T14:50Z".
5929
+ # @return [Time]
5930
+ #
5931
+ # @!attribute [rw] expiry_timestamp
5932
+ # The time that this version is set to expire.
5933
+ #
5934
+ # Times are in Coordinated Universal Time (UTC) format. UTC format
5935
+ # includes the special designator, Z. For example,
5936
+ # "2016-09-27T14:50Z".
5937
+ # @return [Time]
5938
+ #
5939
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ManagedRuleSetVersion AWS API Documentation
5940
+ #
5941
+ class ManagedRuleSetVersion < Struct.new(
5942
+ :associated_rule_group_arn,
5943
+ :capacity,
5944
+ :forecasted_lifetime,
5945
+ :publish_timestamp,
5946
+ :last_update_timestamp,
5947
+ :expiry_timestamp)
5948
+ SENSITIVE = []
5949
+ include Aws::Structure
5950
+ end
5951
+
5434
5952
  # The HTTP method of a web request. The method indicates the type of
5435
5953
  # operation that the request is asking the origin to perform.
5436
5954
  #
@@ -5700,6 +6218,7 @@ module Aws::WAFV2
5700
6218
  # managed_rule_group_statement: {
5701
6219
  # vendor_name: "VendorName", # required
5702
6220
  # name: "EntityName", # required
6221
+ # version: "VersionKeyString",
5703
6222
  # excluded_rules: [
5704
6223
  # {
5705
6224
  # name: "EntityName", # required
@@ -5970,6 +6489,7 @@ module Aws::WAFV2
5970
6489
  # managed_rule_group_statement: {
5971
6490
  # vendor_name: "VendorName", # required
5972
6491
  # name: "EntityName", # required
6492
+ # version: "VersionKeyString",
5973
6493
  # excluded_rules: [
5974
6494
  # {
5975
6495
  # name: "EntityName", # required
@@ -6133,6 +6653,107 @@ module Aws::WAFV2
6133
6653
  include Aws::Structure
6134
6654
  end
6135
6655
 
6656
+ # @note When making an API call, you may pass PutManagedRuleSetVersionsRequest
6657
+ # data as a hash:
6658
+ #
6659
+ # {
6660
+ # name: "EntityName", # required
6661
+ # scope: "CLOUDFRONT", # required, accepts CLOUDFRONT, REGIONAL
6662
+ # id: "EntityId", # required
6663
+ # lock_token: "LockToken", # required
6664
+ # recommended_version: "VersionKeyString",
6665
+ # versions_to_publish: {
6666
+ # "VersionKeyString" => {
6667
+ # associated_rule_group_arn: "ResourceArn",
6668
+ # forecasted_lifetime: 1,
6669
+ # },
6670
+ # },
6671
+ # }
6672
+ #
6673
+ # @!attribute [rw] name
6674
+ # The name of the managed rule set. You use this, along with the rule
6675
+ # set ID, to identify the rule set.
6676
+ #
6677
+ # This name is assigned to the corresponding managed rule group, which
6678
+ # your customers can access and use.
6679
+ # @return [String]
6680
+ #
6681
+ # @!attribute [rw] scope
6682
+ # Specifies whether this is for an Amazon CloudFront distribution or
6683
+ # for a regional application. A regional application can be an
6684
+ # Application Load Balancer (ALB), an Amazon API Gateway REST API, or
6685
+ # an AppSync GraphQL API.
6686
+ #
6687
+ # To work with CloudFront, you must also specify the Region US East
6688
+ # (N. Virginia) as follows:
6689
+ #
6690
+ # * CLI - Specify the Region when you use the CloudFront scope:
6691
+ # `--scope=CLOUDFRONT --region=us-east-1`.
6692
+ #
6693
+ # * API and SDKs - For all calls, use the Region endpoint us-east-1.
6694
+ # @return [String]
6695
+ #
6696
+ # @!attribute [rw] id
6697
+ # A unique identifier for the managed rule set. The ID is returned in
6698
+ # the responses to commands like `list`. You provide it to operations
6699
+ # like `get` and `update`.
6700
+ # @return [String]
6701
+ #
6702
+ # @!attribute [rw] lock_token
6703
+ # A token used for optimistic locking. WAF returns a token to your
6704
+ # `get` and `list` requests, to mark the state of the entity at the
6705
+ # time of the request. To make changes to the entity associated with
6706
+ # the token, you provide the token to operations like `update` and
6707
+ # `delete`. WAF uses the token to ensure that no changes have been
6708
+ # made to the entity since you last retrieved it. If a change has been
6709
+ # made, the update fails with a `WAFOptimisticLockException`. If this
6710
+ # happens, perform another `get`, and use the new token returned by
6711
+ # that operation.
6712
+ # @return [String]
6713
+ #
6714
+ # @!attribute [rw] recommended_version
6715
+ # The version of the named managed rule group that you'd like your
6716
+ # customers to choose, from among your version offerings.
6717
+ # @return [String]
6718
+ #
6719
+ # @!attribute [rw] versions_to_publish
6720
+ # The versions of the named managed rule group that you want to offer
6721
+ # to your customers.
6722
+ # @return [Hash<String,Types::VersionToPublish>]
6723
+ #
6724
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/PutManagedRuleSetVersionsRequest AWS API Documentation
6725
+ #
6726
+ class PutManagedRuleSetVersionsRequest < Struct.new(
6727
+ :name,
6728
+ :scope,
6729
+ :id,
6730
+ :lock_token,
6731
+ :recommended_version,
6732
+ :versions_to_publish)
6733
+ SENSITIVE = []
6734
+ include Aws::Structure
6735
+ end
6736
+
6737
+ # @!attribute [rw] next_lock_token
6738
+ # A token used for optimistic locking. WAF returns a token to your
6739
+ # `get` and `list` requests, to mark the state of the entity at the
6740
+ # time of the request. To make changes to the entity associated with
6741
+ # the token, you provide the token to operations like `update` and
6742
+ # `delete`. WAF uses the token to ensure that no changes have been
6743
+ # made to the entity since you last retrieved it. If a change has been
6744
+ # made, the update fails with a `WAFOptimisticLockException`. If this
6745
+ # happens, perform another `get`, and use the new token returned by
6746
+ # that operation.
6747
+ # @return [String]
6748
+ #
6749
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/PutManagedRuleSetVersionsResponse AWS API Documentation
6750
+ #
6751
+ class PutManagedRuleSetVersionsResponse < Struct.new(
6752
+ :next_lock_token)
6753
+ SENSITIVE = []
6754
+ include Aws::Structure
6755
+ end
6756
+
6136
6757
  # @note When making an API call, you may pass PutPermissionPolicyRequest
6137
6758
  # data as a hash:
6138
6759
  #
@@ -6473,6 +7094,7 @@ module Aws::WAFV2
6473
7094
  # managed_rule_group_statement: {
6474
7095
  # vendor_name: "VendorName", # required
6475
7096
  # name: "EntityName", # required
7097
+ # version: "VersionKeyString",
6476
7098
  # excluded_rules: [
6477
7099
  # {
6478
7100
  # name: "EntityName", # required
@@ -6549,6 +7171,7 @@ module Aws::WAFV2
6549
7171
  # statement.
6550
7172
  #
6551
7173
  # @!attribute [rw] ip_address_version
7174
+ # The version of the IP addresses, either `IPV4` or `IPV6`.
6552
7175
  # @return [String]
6553
7176
  #
6554
7177
  # @!attribute [rw] addresses
@@ -6729,15 +7352,15 @@ module Aws::WAFV2
6729
7352
  # @return [String]
6730
7353
  #
6731
7354
  # @!attribute [rw] lock_token
6732
- # A token used for optimistic locking. WAF returns a token to your get
6733
- # and list requests, to mark the state of the entity at the time of
6734
- # the request. To make changes to the entity associated with the
6735
- # token, you provide the token to operations like update and delete.
6736
- # WAF uses the token to ensure that no changes have been made to the
6737
- # entity since you last retrieved it. If a change has been made, the
6738
- # update fails with a `WAFOptimisticLockException`. If this happens,
6739
- # perform another get, and use the new token returned by that
6740
- # operation.
7355
+ # A token used for optimistic locking. WAF returns a token to your
7356
+ # `get` and `list` requests, to mark the state of the entity at the
7357
+ # time of the request. To make changes to the entity associated with
7358
+ # the token, you provide the token to operations like `update` and
7359
+ # `delete`. WAF uses the token to ensure that no changes have been
7360
+ # made to the entity since you last retrieved it. If a change has been
7361
+ # made, the update fails with a `WAFOptimisticLockException`. If this
7362
+ # happens, perform another `get`, and use the new token returned by
7363
+ # that operation.
6741
7364
  # @return [String]
6742
7365
  #
6743
7366
  # @!attribute [rw] arn
@@ -7004,6 +7627,7 @@ module Aws::WAFV2
7004
7627
  # managed_rule_group_statement: {
7005
7628
  # vendor_name: "VendorName", # required
7006
7629
  # name: "EntityName", # required
7630
+ # version: "VersionKeyString",
7007
7631
  # excluded_rules: [
7008
7632
  # {
7009
7633
  # name: "EntityName", # required
@@ -7427,15 +8051,15 @@ module Aws::WAFV2
7427
8051
  # @return [String]
7428
8052
  #
7429
8053
  # @!attribute [rw] lock_token
7430
- # A token used for optimistic locking. WAF returns a token to your get
7431
- # and list requests, to mark the state of the entity at the time of
7432
- # the request. To make changes to the entity associated with the
7433
- # token, you provide the token to operations like update and delete.
7434
- # WAF uses the token to ensure that no changes have been made to the
7435
- # entity since you last retrieved it. If a change has been made, the
7436
- # update fails with a `WAFOptimisticLockException`. If this happens,
7437
- # perform another get, and use the new token returned by that
7438
- # operation.
8054
+ # A token used for optimistic locking. WAF returns a token to your
8055
+ # `get` and `list` requests, to mark the state of the entity at the
8056
+ # time of the request. To make changes to the entity associated with
8057
+ # the token, you provide the token to operations like `update` and
8058
+ # `delete`. WAF uses the token to ensure that no changes have been
8059
+ # made to the entity since you last retrieved it. If a change has been
8060
+ # made, the update fails with a `WAFOptimisticLockException`. If this
8061
+ # happens, perform another `get`, and use the new token returned by
8062
+ # that operation.
7439
8063
  # @return [String]
7440
8064
  #
7441
8065
  # @!attribute [rw] arn
@@ -8199,6 +8823,7 @@ module Aws::WAFV2
8199
8823
  # managed_rule_group_statement: {
8200
8824
  # vendor_name: "VendorName", # required
8201
8825
  # name: "EntityName", # required
8826
+ # version: "VersionKeyString",
8202
8827
  # excluded_rules: [
8203
8828
  # {
8204
8829
  # name: "EntityName", # required
@@ -8451,6 +9076,7 @@ module Aws::WAFV2
8451
9076
  # managed_rule_group_statement: {
8452
9077
  # vendor_name: "VendorName", # required
8453
9078
  # name: "EntityName", # required
9079
+ # version: "VersionKeyString",
8454
9080
  # excluded_rules: [
8455
9081
  # {
8456
9082
  # name: "EntityName", # required
@@ -8700,6 +9326,7 @@ module Aws::WAFV2
8700
9326
  # managed_rule_group_statement: {
8701
9327
  # vendor_name: "VendorName", # required
8702
9328
  # name: "EntityName", # required
9329
+ # version: "VersionKeyString",
8703
9330
  # excluded_rules: [
8704
9331
  # {
8705
9332
  # name: "EntityName", # required
@@ -8952,6 +9579,7 @@ module Aws::WAFV2
8952
9579
  # managed_rule_group_statement: {
8953
9580
  # vendor_name: "VendorName", # required
8954
9581
  # name: "EntityName", # required
9582
+ # version: "VersionKeyString",
8955
9583
  # excluded_rules: [
8956
9584
  # {
8957
9585
  # name: "EntityName", # required
@@ -8970,6 +9598,7 @@ module Aws::WAFV2
8970
9598
  # managed_rule_group_statement: {
8971
9599
  # vendor_name: "VendorName", # required
8972
9600
  # name: "EntityName", # required
9601
+ # version: "VersionKeyString",
8973
9602
  # excluded_rules: [
8974
9603
  # {
8975
9604
  # name: "EntityName", # required
@@ -9649,10 +10278,8 @@ module Aws::WAFV2
9649
10278
  # **REPLACE\_NULLS** - Replace NULL bytes in the input with space
9650
10279
  # characters (ASCII `0x20`).
9651
10280
  #
9652
- # **SQL\_HEX\_DECODE** - Decode the following ANSI C escape sequences:
9653
- # `\a`, `\b`, `\f`, `\n`, `\r`, `\t`, `\v`, `\`, `\?`, `'`, `"`,
9654
- # `\xHH` (hexadecimal), `\0OOO` (octal). Encodings that aren't valid
9655
- # remain in the output.
10281
+ # **SQL\_HEX\_DECODE** - Decode SQL hex data. Example (`0x414243`)
10282
+ # will be decoded to (`ABC`).
9656
10283
  #
9657
10284
  # **URL\_DECODE** - Decode a URL-encoded value.
9658
10285
  #
@@ -9836,15 +10463,15 @@ module Aws::WAFV2
9836
10463
  # @return [Array<String>]
9837
10464
  #
9838
10465
  # @!attribute [rw] lock_token
9839
- # A token used for optimistic locking. WAF returns a token to your get
9840
- # and list requests, to mark the state of the entity at the time of
9841
- # the request. To make changes to the entity associated with the
9842
- # token, you provide the token to operations like update and delete.
9843
- # WAF uses the token to ensure that no changes have been made to the
9844
- # entity since you last retrieved it. If a change has been made, the
9845
- # update fails with a `WAFOptimisticLockException`. If this happens,
9846
- # perform another get, and use the new token returned by that
9847
- # operation.
10466
+ # A token used for optimistic locking. WAF returns a token to your
10467
+ # `get` and `list` requests, to mark the state of the entity at the
10468
+ # time of the request. To make changes to the entity associated with
10469
+ # the token, you provide the token to operations like `update` and
10470
+ # `delete`. WAF uses the token to ensure that no changes have been
10471
+ # made to the entity since you last retrieved it. If a change has been
10472
+ # made, the update fails with a `WAFOptimisticLockException`. If this
10473
+ # happens, perform another `get`, and use the new token returned by
10474
+ # that operation.
9848
10475
  # @return [String]
9849
10476
  #
9850
10477
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/UpdateIPSetRequest AWS API Documentation
@@ -9862,7 +10489,7 @@ module Aws::WAFV2
9862
10489
 
9863
10490
  # @!attribute [rw] next_lock_token
9864
10491
  # A token used for optimistic locking. WAF returns this token to your
9865
- # update requests. You use `NextLockToken` in the same manner as you
10492
+ # `update` requests. You use `NextLockToken` in the same manner as you
9866
10493
  # use `LockToken`.
9867
10494
  # @return [String]
9868
10495
  #
@@ -9874,6 +10501,119 @@ module Aws::WAFV2
9874
10501
  include Aws::Structure
9875
10502
  end
9876
10503
 
10504
+ # @note When making an API call, you may pass UpdateManagedRuleSetVersionExpiryDateRequest
10505
+ # data as a hash:
10506
+ #
10507
+ # {
10508
+ # name: "EntityName", # required
10509
+ # scope: "CLOUDFRONT", # required, accepts CLOUDFRONT, REGIONAL
10510
+ # id: "EntityId", # required
10511
+ # lock_token: "LockToken", # required
10512
+ # version_to_expire: "VersionKeyString", # required
10513
+ # expiry_timestamp: Time.now, # required
10514
+ # }
10515
+ #
10516
+ # @!attribute [rw] name
10517
+ # The name of the managed rule set. You use this, along with the rule
10518
+ # set ID, to identify the rule set.
10519
+ #
10520
+ # This name is assigned to the corresponding managed rule group, which
10521
+ # your customers can access and use.
10522
+ # @return [String]
10523
+ #
10524
+ # @!attribute [rw] scope
10525
+ # Specifies whether this is for an Amazon CloudFront distribution or
10526
+ # for a regional application. A regional application can be an
10527
+ # Application Load Balancer (ALB), an Amazon API Gateway REST API, or
10528
+ # an AppSync GraphQL API.
10529
+ #
10530
+ # To work with CloudFront, you must also specify the Region US East
10531
+ # (N. Virginia) as follows:
10532
+ #
10533
+ # * CLI - Specify the Region when you use the CloudFront scope:
10534
+ # `--scope=CLOUDFRONT --region=us-east-1`.
10535
+ #
10536
+ # * API and SDKs - For all calls, use the Region endpoint us-east-1.
10537
+ # @return [String]
10538
+ #
10539
+ # @!attribute [rw] id
10540
+ # A unique identifier for the managed rule set. The ID is returned in
10541
+ # the responses to commands like `list`. You provide it to operations
10542
+ # like `get` and `update`.
10543
+ # @return [String]
10544
+ #
10545
+ # @!attribute [rw] lock_token
10546
+ # A token used for optimistic locking. WAF returns a token to your
10547
+ # `get` and `list` requests, to mark the state of the entity at the
10548
+ # time of the request. To make changes to the entity associated with
10549
+ # the token, you provide the token to operations like `update` and
10550
+ # `delete`. WAF uses the token to ensure that no changes have been
10551
+ # made to the entity since you last retrieved it. If a change has been
10552
+ # made, the update fails with a `WAFOptimisticLockException`. If this
10553
+ # happens, perform another `get`, and use the new token returned by
10554
+ # that operation.
10555
+ # @return [String]
10556
+ #
10557
+ # @!attribute [rw] version_to_expire
10558
+ # The version that you want to remove from your list of offerings for
10559
+ # the named managed rule group.
10560
+ # @return [String]
10561
+ #
10562
+ # @!attribute [rw] expiry_timestamp
10563
+ # The time that you want the version to expire.
10564
+ #
10565
+ # Times are in Coordinated Universal Time (UTC) format. UTC format
10566
+ # includes the special designator, Z. For example,
10567
+ # "2016-09-27T14:50Z".
10568
+ # @return [Time]
10569
+ #
10570
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/UpdateManagedRuleSetVersionExpiryDateRequest AWS API Documentation
10571
+ #
10572
+ class UpdateManagedRuleSetVersionExpiryDateRequest < Struct.new(
10573
+ :name,
10574
+ :scope,
10575
+ :id,
10576
+ :lock_token,
10577
+ :version_to_expire,
10578
+ :expiry_timestamp)
10579
+ SENSITIVE = []
10580
+ include Aws::Structure
10581
+ end
10582
+
10583
+ # @!attribute [rw] expiring_version
10584
+ # The version that is set to expire.
10585
+ # @return [String]
10586
+ #
10587
+ # @!attribute [rw] expiry_timestamp
10588
+ # The time that the version will expire.
10589
+ #
10590
+ # Times are in Coordinated Universal Time (UTC) format. UTC format
10591
+ # includes the special designator, Z. For example,
10592
+ # "2016-09-27T14:50Z".
10593
+ # @return [Time]
10594
+ #
10595
+ # @!attribute [rw] next_lock_token
10596
+ # A token used for optimistic locking. WAF returns a token to your
10597
+ # `get` and `list` requests, to mark the state of the entity at the
10598
+ # time of the request. To make changes to the entity associated with
10599
+ # the token, you provide the token to operations like `update` and
10600
+ # `delete`. WAF uses the token to ensure that no changes have been
10601
+ # made to the entity since you last retrieved it. If a change has been
10602
+ # made, the update fails with a `WAFOptimisticLockException`. If this
10603
+ # happens, perform another `get`, and use the new token returned by
10604
+ # that operation.
10605
+ # @return [String]
10606
+ #
10607
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/UpdateManagedRuleSetVersionExpiryDateResponse AWS API Documentation
10608
+ #
10609
+ class UpdateManagedRuleSetVersionExpiryDateResponse < Struct.new(
10610
+ :expiring_version,
10611
+ :expiry_timestamp,
10612
+ :next_lock_token)
10613
+ SENSITIVE = []
10614
+ include Aws::Structure
10615
+ end
10616
+
9877
10617
  # @note When making an API call, you may pass UpdateRegexPatternSetRequest
9878
10618
  # data as a hash:
9879
10619
  #
@@ -9924,15 +10664,15 @@ module Aws::WAFV2
9924
10664
  # @return [Array<Types::Regex>]
9925
10665
  #
9926
10666
  # @!attribute [rw] lock_token
9927
- # A token used for optimistic locking. WAF returns a token to your get
9928
- # and list requests, to mark the state of the entity at the time of
9929
- # the request. To make changes to the entity associated with the
9930
- # token, you provide the token to operations like update and delete.
9931
- # WAF uses the token to ensure that no changes have been made to the
9932
- # entity since you last retrieved it. If a change has been made, the
9933
- # update fails with a `WAFOptimisticLockException`. If this happens,
9934
- # perform another get, and use the new token returned by that
9935
- # operation.
10667
+ # A token used for optimistic locking. WAF returns a token to your
10668
+ # `get` and `list` requests, to mark the state of the entity at the
10669
+ # time of the request. To make changes to the entity associated with
10670
+ # the token, you provide the token to operations like `update` and
10671
+ # `delete`. WAF uses the token to ensure that no changes have been
10672
+ # made to the entity since you last retrieved it. If a change has been
10673
+ # made, the update fails with a `WAFOptimisticLockException`. If this
10674
+ # happens, perform another `get`, and use the new token returned by
10675
+ # that operation.
9936
10676
  # @return [String]
9937
10677
  #
9938
10678
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/UpdateRegexPatternSetRequest AWS API Documentation
@@ -9950,7 +10690,7 @@ module Aws::WAFV2
9950
10690
 
9951
10691
  # @!attribute [rw] next_lock_token
9952
10692
  # A token used for optimistic locking. WAF returns this token to your
9953
- # update requests. You use `NextLockToken` in the same manner as you
10693
+ # `update` requests. You use `NextLockToken` in the same manner as you
9954
10694
  # use `LockToken`.
9955
10695
  # @return [String]
9956
10696
  #
@@ -10211,6 +10951,7 @@ module Aws::WAFV2
10211
10951
  # managed_rule_group_statement: {
10212
10952
  # vendor_name: "VendorName", # required
10213
10953
  # name: "EntityName", # required
10954
+ # version: "VersionKeyString",
10214
10955
  # excluded_rules: [
10215
10956
  # {
10216
10957
  # name: "EntityName", # required
@@ -10342,15 +11083,15 @@ module Aws::WAFV2
10342
11083
  # @return [Types::VisibilityConfig]
10343
11084
  #
10344
11085
  # @!attribute [rw] lock_token
10345
- # A token used for optimistic locking. WAF returns a token to your get
10346
- # and list requests, to mark the state of the entity at the time of
10347
- # the request. To make changes to the entity associated with the
10348
- # token, you provide the token to operations like update and delete.
10349
- # WAF uses the token to ensure that no changes have been made to the
10350
- # entity since you last retrieved it. If a change has been made, the
10351
- # update fails with a `WAFOptimisticLockException`. If this happens,
10352
- # perform another get, and use the new token returned by that
10353
- # operation.
11086
+ # A token used for optimistic locking. WAF returns a token to your
11087
+ # `get` and `list` requests, to mark the state of the entity at the
11088
+ # time of the request. To make changes to the entity associated with
11089
+ # the token, you provide the token to operations like `update` and
11090
+ # `delete`. WAF uses the token to ensure that no changes have been
11091
+ # made to the entity since you last retrieved it. If a change has been
11092
+ # made, the update fails with a `WAFOptimisticLockException`. If this
11093
+ # happens, perform another `get`, and use the new token returned by
11094
+ # that operation.
10354
11095
  # @return [String]
10355
11096
  #
10356
11097
  # @!attribute [rw] custom_response_bodies
@@ -10391,7 +11132,7 @@ module Aws::WAFV2
10391
11132
 
10392
11133
  # @!attribute [rw] next_lock_token
10393
11134
  # A token used for optimistic locking. WAF returns this token to your
10394
- # update requests. You use `NextLockToken` in the same manner as you
11135
+ # `update` requests. You use `NextLockToken` in the same manner as you
10395
11136
  # use `LockToken`.
10396
11137
  # @return [String]
10397
11138
  #
@@ -10676,6 +11417,7 @@ module Aws::WAFV2
10676
11417
  # managed_rule_group_statement: {
10677
11418
  # vendor_name: "VendorName", # required
10678
11419
  # name: "EntityName", # required
11420
+ # version: "VersionKeyString",
10679
11421
  # excluded_rules: [
10680
11422
  # {
10681
11423
  # name: "EntityName", # required
@@ -10812,15 +11554,15 @@ module Aws::WAFV2
10812
11554
  # @return [Types::VisibilityConfig]
10813
11555
  #
10814
11556
  # @!attribute [rw] lock_token
10815
- # A token used for optimistic locking. WAF returns a token to your get
10816
- # and list requests, to mark the state of the entity at the time of
10817
- # the request. To make changes to the entity associated with the
10818
- # token, you provide the token to operations like update and delete.
10819
- # WAF uses the token to ensure that no changes have been made to the
10820
- # entity since you last retrieved it. If a change has been made, the
10821
- # update fails with a `WAFOptimisticLockException`. If this happens,
10822
- # perform another get, and use the new token returned by that
10823
- # operation.
11557
+ # A token used for optimistic locking. WAF returns a token to your
11558
+ # `get` and `list` requests, to mark the state of the entity at the
11559
+ # time of the request. To make changes to the entity associated with
11560
+ # the token, you provide the token to operations like `update` and
11561
+ # `delete`. WAF uses the token to ensure that no changes have been
11562
+ # made to the entity since you last retrieved it. If a change has been
11563
+ # made, the update fails with a `WAFOptimisticLockException`. If this
11564
+ # happens, perform another `get`, and use the new token returned by
11565
+ # that operation.
10824
11566
  # @return [String]
10825
11567
  #
10826
11568
  # @!attribute [rw] custom_response_bodies
@@ -10862,7 +11604,7 @@ module Aws::WAFV2
10862
11604
 
10863
11605
  # @!attribute [rw] next_lock_token
10864
11606
  # A token used for optimistic locking. WAF returns this token to your
10865
- # update requests. You use `NextLockToken` in the same manner as you
11607
+ # `update` requests. You use `NextLockToken` in the same manner as you
10866
11608
  # use `LockToken`.
10867
11609
  # @return [String]
10868
11610
  #
@@ -10887,6 +11629,47 @@ module Aws::WAFV2
10887
11629
  #
10888
11630
  class UriPath < Aws::EmptyStructure; end
10889
11631
 
11632
+ # A version of the named managed rule group, that the rule group's
11633
+ # vendor publishes for use by customers.
11634
+ #
11635
+ # <note markdown="1"> This is intended for use only by vendors of managed rule sets. Vendors
11636
+ # are Amazon Web Services and Marketplace sellers.
11637
+ #
11638
+ # Vendors, you can use the managed rule set APIs to provide controlled
11639
+ # rollout of your versioned managed rule group offerings for your
11640
+ # customers. The APIs are `ListManagedRuleSets`, `GetManagedRuleSet`,
11641
+ # `PutManagedRuleSetVersions`, and
11642
+ # `UpdateManagedRuleSetVersionExpiryDate`.
11643
+ #
11644
+ # </note>
11645
+ #
11646
+ # @note When making an API call, you may pass VersionToPublish
11647
+ # data as a hash:
11648
+ #
11649
+ # {
11650
+ # associated_rule_group_arn: "ResourceArn",
11651
+ # forecasted_lifetime: 1,
11652
+ # }
11653
+ #
11654
+ # @!attribute [rw] associated_rule_group_arn
11655
+ # The Amazon Resource Name (ARN) of the vendor's rule group that's
11656
+ # used in the published managed rule group version.
11657
+ # @return [String]
11658
+ #
11659
+ # @!attribute [rw] forecasted_lifetime
11660
+ # The amount of time the vendor expects this version of the managed
11661
+ # rule group to last, in days.
11662
+ # @return [Integer]
11663
+ #
11664
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/VersionToPublish AWS API Documentation
11665
+ #
11666
+ class VersionToPublish < Struct.new(
11667
+ :associated_rule_group_arn,
11668
+ :forecasted_lifetime)
11669
+ SENSITIVE = []
11670
+ include Aws::Structure
11671
+ end
11672
+
10890
11673
  # Defines and enables Amazon CloudWatch metrics and web request sample
10891
11674
  # collection.
10892
11675
  #
@@ -10961,6 +11744,22 @@ module Aws::WAFV2
10961
11744
  include Aws::Structure
10962
11745
  end
10963
11746
 
11747
+ # The operation failed because the specified version for the managed
11748
+ # rule group has expired. You can retrieve the available versions for
11749
+ # the managed rule group by calling
11750
+ # ListAvailableManagedRuleGroupVersions.
11751
+ #
11752
+ # @!attribute [rw] message
11753
+ # @return [String]
11754
+ #
11755
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/WAFExpiredManagedRuleGroupVersionException AWS API Documentation
11756
+ #
11757
+ class WAFExpiredManagedRuleGroupVersionException < Struct.new(
11758
+ :message)
11759
+ SENSITIVE = []
11760
+ include Aws::Structure
11761
+ end
11762
+
10964
11763
  # Your request is valid, but WAF couldn’t perform the operation because
10965
11764
  # of a system problem. Retry your request.
10966
11765
  #
@@ -11006,12 +11805,15 @@ module Aws::WAFV2
11006
11805
  # @return [String]
11007
11806
  #
11008
11807
  # @!attribute [rw] field
11808
+ # The settings where the invalid parameter was found.
11009
11809
  # @return [String]
11010
11810
  #
11011
11811
  # @!attribute [rw] parameter
11812
+ # The invalid parameter that resulted in the exception.
11012
11813
  # @return [String]
11013
11814
  #
11014
11815
  # @!attribute [rw] reason
11816
+ # Additional information about the exception.
11015
11817
  # @return [String]
11016
11818
  #
11017
11819
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/WAFInvalidParameterException AWS API Documentation
@@ -11077,8 +11879,8 @@ module Aws::WAFV2
11077
11879
 
11078
11880
  # WAF couldn’t perform the operation because you exceeded your resource
11079
11881
  # limit. For example, the maximum number of `WebACL` objects that you
11080
- # can create for an account. For more information, see [Limits][1] in
11081
- # the *WAF Developer Guide*.
11882
+ # can create for an Amazon Web Services account. For more information,
11883
+ # see [WAF quotas][1] in the *WAF Developer Guide*.
11082
11884
  #
11083
11885
  #
11084
11886
  #
@@ -11374,15 +12176,15 @@ module Aws::WAFV2
11374
12176
  # @return [String]
11375
12177
  #
11376
12178
  # @!attribute [rw] lock_token
11377
- # A token used for optimistic locking. WAF returns a token to your get
11378
- # and list requests, to mark the state of the entity at the time of
11379
- # the request. To make changes to the entity associated with the
11380
- # token, you provide the token to operations like update and delete.
11381
- # WAF uses the token to ensure that no changes have been made to the
11382
- # entity since you last retrieved it. If a change has been made, the
11383
- # update fails with a `WAFOptimisticLockException`. If this happens,
11384
- # perform another get, and use the new token returned by that
11385
- # operation.
12179
+ # A token used for optimistic locking. WAF returns a token to your
12180
+ # `get` and `list` requests, to mark the state of the entity at the
12181
+ # time of the request. To make changes to the entity associated with
12182
+ # the token, you provide the token to operations like `update` and
12183
+ # `delete`. WAF uses the token to ensure that no changes have been
12184
+ # made to the entity since you last retrieved it. If a change has been
12185
+ # made, the update fails with a `WAFOptimisticLockException`. If this
12186
+ # happens, perform another `get`, and use the new token returned by
12187
+ # that operation.
11386
12188
  # @return [String]
11387
12189
  #
11388
12190
  # @!attribute [rw] arn