aws-sdk-wafv2 1.23.0 → 1.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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