@aws-sdk/client-wafv2 3.1068.0 → 3.1069.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.
- package/README.md +28 -0
- package/dist-cjs/auth/httpAuthSchemeProvider.js +9 -15
- package/dist-cjs/endpoint/bdd.js +2 -5
- package/dist-cjs/endpoint/endpointResolver.js +7 -11
- package/dist-cjs/index.js +338 -225
- package/dist-cjs/models/WAFV2ServiceException.js +4 -8
- package/dist-cjs/models/errors.js +41 -64
- package/dist-cjs/runtimeConfig.browser.js +22 -26
- package/dist-cjs/runtimeConfig.js +30 -34
- package/dist-cjs/runtimeConfig.native.js +4 -7
- package/dist-cjs/runtimeConfig.shared.js +20 -24
- package/dist-cjs/schemas/schemas_0.js +970 -492
- package/dist-es/WAFV2.js +8 -0
- package/dist-es/commands/GetRevenueStatisticsCommand.js +16 -0
- package/dist-es/commands/GetRevenueStatisticsSummaryCommand.js +16 -0
- package/dist-es/commands/GetRevenueStatisticsTimeSeriesCommand.js +16 -0
- package/dist-es/commands/ListSettlementRecordsCommand.js +16 -0
- package/dist-es/commands/index.js +4 -0
- package/dist-es/models/enums.js +65 -0
- package/dist-es/schemas/schemas_0.js +216 -21
- package/dist-types/WAFV2.d.ts +28 -0
- package/dist-types/WAFV2Client.d.ts +6 -2
- package/dist-types/commands/CheckCapacityCommand.d.ts +12 -0
- package/dist-types/commands/CreateRuleGroupCommand.d.ts +29 -0
- package/dist-types/commands/CreateWebACLCommand.d.ts +29 -0
- package/dist-types/commands/DescribeManagedRuleGroupCommand.d.ts +3 -0
- package/dist-types/commands/GetLoggingConfigurationCommand.d.ts +1 -1
- package/dist-types/commands/GetRevenueStatisticsCommand.d.ts +150 -0
- package/dist-types/commands/GetRevenueStatisticsSummaryCommand.d.ts +130 -0
- package/dist-types/commands/GetRevenueStatisticsTimeSeriesCommand.d.ts +139 -0
- package/dist-types/commands/GetRuleGroupCommand.d.ts +29 -0
- package/dist-types/commands/GetWebACLCommand.d.ts +29 -0
- package/dist-types/commands/GetWebACLForResourceCommand.d.ts +29 -0
- package/dist-types/commands/ListLoggingConfigurationsCommand.d.ts +1 -1
- package/dist-types/commands/ListSettlementRecordsCommand.d.ts +148 -0
- package/dist-types/commands/PutLoggingConfigurationCommand.d.ts +2 -2
- package/dist-types/commands/UpdateRuleGroupCommand.d.ts +29 -0
- package/dist-types/commands/UpdateWebACLCommand.d.ts +29 -0
- package/dist-types/commands/index.d.ts +4 -0
- package/dist-types/models/enums.d.ts +161 -0
- package/dist-types/models/models_0.d.ts +843 -114
- package/dist-types/schemas/schemas_0.d.ts +23 -0
- package/dist-types/ts3.4/WAFV2.d.ts +68 -0
- package/dist-types/ts3.4/WAFV2Client.d.ts +24 -0
- package/dist-types/ts3.4/commands/GetRevenueStatisticsCommand.d.ts +53 -0
- package/dist-types/ts3.4/commands/GetRevenueStatisticsSummaryCommand.d.ts +53 -0
- package/dist-types/ts3.4/commands/GetRevenueStatisticsTimeSeriesCommand.d.ts +53 -0
- package/dist-types/ts3.4/commands/ListSettlementRecordsCommand.d.ts +53 -0
- package/dist-types/ts3.4/commands/index.d.ts +4 -0
- package/dist-types/ts3.4/models/enums.d.ts +83 -0
- package/dist-types/ts3.4/models/models_0.d.ts +154 -4
- package/dist-types/ts3.4/schemas/schemas_0.d.ts +23 -0
- package/package.json +8 -8
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ActionValue, AssociatedResourceType, BodyParsingFallbackBehavior, ComparisonOperator, CountryCode, DataProtectionAction, FailureReason, FallbackBehavior, FieldToProtectType, FilterBehavior, FilterRequirement, ForwardedIPPosition, InspectionLevel, IPAddressVersion, JsonMatchScope, LabelMatchScope, LogScope, LogType, LowReputationMode, MapMatchScope, OversizeHandling, PayloadType, Platform, PositionalConstraint, RateBasedStatementAggregateKeyType, ResourceType, ResponseContentType, Scope, SensitivityLevel, SensitivityToAct, SizeInspectionLimit, TextTransformationType, UsageOfAction } from "./enums";
|
|
1
|
+
import type { ActionValue, AssociatedResourceType, BlockchainChain, BodyParsingFallbackBehavior, ComparisonOperator, CountryCode, CryptoCurrency, Currency, CurrencyMode, DataProtectionAction, FailureReason, FallbackBehavior, FieldToProtectType, FilterBehavior, FilterRequirement, ForwardedIPPosition, GroupByType, InspectionLevel, IntervalType, IPAddressVersion, JsonMatchScope, LabelMatchScope, LogScope, LogType, LowReputationMode, MapMatchScope, OversizeHandling, PayloadType, Platform, PositionalConstraint, RankingSortBy, RankingStatisticType, RateBasedStatementAggregateKeyType, ResourceType, ResponseContentType, Scope, SensitivityLevel, SensitivityToAct, SettlementSortBy, SettlementStatus, SizeInspectionLimit, SortOrder, TextTransformationType, TimeSeriesStatisticType, UsageOfAction } from "./enums";
|
|
2
2
|
/**
|
|
3
3
|
* <p>A single action condition for a <a>Condition</a> in a logging filter.</p>
|
|
4
4
|
* @public
|
|
@@ -2239,6 +2239,17 @@ export interface CountAction {
|
|
|
2239
2239
|
*/
|
|
2240
2240
|
CustomRequestHandling?: CustomRequestHandling | undefined;
|
|
2241
2241
|
}
|
|
2242
|
+
/**
|
|
2243
|
+
* <p>Specifies the monetize action settings for a rule. When WAF applies this action, it returns an HTTP 402 Payment Required response containing pricing information that the requesting client uses to complete payment and gain access to the resource. This is a terminating action-if the client does not complete the 402 payment flow, the request is blocked. This action is available only for web ACLs associated with Amazon CloudFront distributions. You must configure a <code>MonetizationConfig</code> on the web ACL or rule group before adding rules that use this action. You cannot use the Monetize action for rate-based rules.</p>
|
|
2244
|
+
* @public
|
|
2245
|
+
*/
|
|
2246
|
+
export interface MonetizeAction {
|
|
2247
|
+
/**
|
|
2248
|
+
* <p>An integer multiplier applied to the base price defined in the web ACL's <code>MonetizationConfig</code>. The effective price for the request is the base price multiplied by this value. Specify as a string. Valid values: 1 to 100.</p>
|
|
2249
|
+
* @public
|
|
2250
|
+
*/
|
|
2251
|
+
PriceMultiplier?: string | undefined;
|
|
2252
|
+
}
|
|
2242
2253
|
/**
|
|
2243
2254
|
* <p>The action that WAF should take on a web request when it matches a rule's
|
|
2244
2255
|
* statement. Settings at the web ACL level can override the rule action setting. </p>
|
|
@@ -2270,6 +2281,11 @@ export interface RuleAction {
|
|
|
2270
2281
|
* @public
|
|
2271
2282
|
*/
|
|
2272
2283
|
Challenge?: ChallengeAction | undefined;
|
|
2284
|
+
/**
|
|
2285
|
+
* <p>Instructs WAF to return an HTTP 402 Payment Required response with a price manifest. The requesting client can complete payment and resubmit the request to gain access. This is a terminating action-requests that do not complete payment are blocked. This action is available only for web ACLs associated with Amazon CloudFront distributions and requires a <code>MonetizationConfig</code> on the web ACL.</p>
|
|
2286
|
+
* @public
|
|
2287
|
+
*/
|
|
2288
|
+
Monetize?: MonetizeAction | undefined;
|
|
2273
2289
|
}
|
|
2274
2290
|
/**
|
|
2275
2291
|
* <p>Action setting to use in the place of a rule action that is configured inside the rule group. You specify one override for each rule whose action you want to change. </p>
|
|
@@ -3316,6 +3332,71 @@ export interface CustomResponseBody {
|
|
|
3316
3332
|
*/
|
|
3317
3333
|
Content: string | undefined;
|
|
3318
3334
|
}
|
|
3335
|
+
/**
|
|
3336
|
+
* <p>The price per request for a payment network, specifying the amount and cryptocurrency.</p>
|
|
3337
|
+
* @public
|
|
3338
|
+
*/
|
|
3339
|
+
export interface Price {
|
|
3340
|
+
/**
|
|
3341
|
+
* <p>The price per request as a decimal string in the specified currency. Minimum: 0.001. Maximum: 999999999.999. Supports up to 3 decimal places.</p>
|
|
3342
|
+
* @public
|
|
3343
|
+
*/
|
|
3344
|
+
Amount: string | undefined;
|
|
3345
|
+
/**
|
|
3346
|
+
* <p>The cryptocurrency for payment. Currently only <code>USDC</code> is supported.</p>
|
|
3347
|
+
* @public
|
|
3348
|
+
*/
|
|
3349
|
+
Currency: CryptoCurrency | undefined;
|
|
3350
|
+
}
|
|
3351
|
+
/**
|
|
3352
|
+
* <p>A blockchain payment network configuration for receiving AI bot monetization payments. Specifies the blockchain chain, your wallet address on that chain, and the price per request.</p>
|
|
3353
|
+
* @public
|
|
3354
|
+
*/
|
|
3355
|
+
export interface PaymentNetwork {
|
|
3356
|
+
/**
|
|
3357
|
+
* <p>The blockchain network for receiving payments. Production networks: <code>BASE</code> (Base mainnet), <code>SOLANA</code> (Solana mainnet). Test networks: <code>BASE_SEPOLIA</code> (Base Sepolia testnet), <code>SOLANA_DEVNET</code> (Solana Devnet).</p>
|
|
3358
|
+
* @public
|
|
3359
|
+
*/
|
|
3360
|
+
Chain: BlockchainChain | undefined;
|
|
3361
|
+
/**
|
|
3362
|
+
* <p>Your wallet address on the specified blockchain where payments are sent. For EVM chains (Base, Base Sepolia), provide a valid Ethereum address (42 characters including 0x prefix). For Solana chains, provide a valid Base58-encoded public key (32-44 characters).</p>
|
|
3363
|
+
* <p>For EVM addresses, WAF performs EIP-55 checksum validation for typo detection when the address uses a mix of lower and upper case letters. You can bypass this validation by providing the address in all lowercase or all uppercase.</p>
|
|
3364
|
+
* @public
|
|
3365
|
+
*/
|
|
3366
|
+
WalletAddress: string | undefined;
|
|
3367
|
+
/**
|
|
3368
|
+
* <p>The price configuration for this payment network. Currently supports a single price entry in USDC.</p>
|
|
3369
|
+
* @public
|
|
3370
|
+
*/
|
|
3371
|
+
Prices: Price[] | undefined;
|
|
3372
|
+
}
|
|
3373
|
+
/**
|
|
3374
|
+
* <p>The cryptocurrency payment configuration for AI bot monetization. Contains the list of blockchain payment networks where you receive payments.</p>
|
|
3375
|
+
* @public
|
|
3376
|
+
*/
|
|
3377
|
+
export interface CryptoConfig {
|
|
3378
|
+
/**
|
|
3379
|
+
* <p>The blockchain payment networks configured to receive payments. You can specify 1 to 2 networks. All networks must be in the same environment-either all production networks (Base, Solana) or all test networks (Base Sepolia, Solana Devnet).</p>
|
|
3380
|
+
* @public
|
|
3381
|
+
*/
|
|
3382
|
+
PaymentNetworks: PaymentNetwork[] | undefined;
|
|
3383
|
+
}
|
|
3384
|
+
/**
|
|
3385
|
+
* <p>The monetization configuration for a web ACL or rule group. Specifies the cryptocurrency payment networks and currency mode for AI bot monetization. You must provide this configuration when any rule in the web ACL or rule group uses the <code>Monetize</code> action.</p>
|
|
3386
|
+
* @public
|
|
3387
|
+
*/
|
|
3388
|
+
export interface MonetizationConfig {
|
|
3389
|
+
/**
|
|
3390
|
+
* <p>The cryptocurrency payment configuration, including the blockchain networks and wallet addresses where you receive payments.</p>
|
|
3391
|
+
* @public
|
|
3392
|
+
*/
|
|
3393
|
+
CryptoConfig?: CryptoConfig | undefined;
|
|
3394
|
+
/**
|
|
3395
|
+
* <p>Specifies whether the configuration uses real or test currency. Set to <code>REAL</code> to settle payments in USDC on production blockchain networks (Base, Solana). Set to <code>TEST</code> to settle on testnet networks (Base Sepolia, Solana Devnet) with tokens that have no monetary value. If not specified, defaults to <code>REAL</code>.</p>
|
|
3396
|
+
* @public
|
|
3397
|
+
*/
|
|
3398
|
+
CurrencyMode?: CurrencyMode | undefined;
|
|
3399
|
+
}
|
|
3319
3400
|
/**
|
|
3320
3401
|
* <p>High-level information about a <a>RuleGroup</a>, returned by operations like create and list. This provides information like the ID, that you can use to retrieve and manage a <code>RuleGroup</code>, and the ARN, that you provide to the <a>RuleGroupReferenceStatement</a> to use the rule group in a <a>Rule</a>.</p>
|
|
3321
3402
|
* @public
|
|
@@ -4735,141 +4816,619 @@ export interface GetRateBasedStatementManagedKeysRequest {
|
|
|
4735
4816
|
* </ul>
|
|
4736
4817
|
* @public
|
|
4737
4818
|
*/
|
|
4738
|
-
Scope: Scope | undefined;
|
|
4819
|
+
Scope: Scope | undefined;
|
|
4820
|
+
/**
|
|
4821
|
+
* <p>The name of the web ACL. You cannot change the name of a web ACL after you create it.</p>
|
|
4822
|
+
* @public
|
|
4823
|
+
*/
|
|
4824
|
+
WebACLName: string | undefined;
|
|
4825
|
+
/**
|
|
4826
|
+
* <p>The unique identifier for the web ACL. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.</p>
|
|
4827
|
+
* @public
|
|
4828
|
+
*/
|
|
4829
|
+
WebACLId: string | undefined;
|
|
4830
|
+
/**
|
|
4831
|
+
* <p>The name of the rule group reference statement in your web ACL. This is required only
|
|
4832
|
+
* when you have the rate-based rule nested inside a rule group. </p>
|
|
4833
|
+
* @public
|
|
4834
|
+
*/
|
|
4835
|
+
RuleGroupRuleName?: string | undefined;
|
|
4836
|
+
/**
|
|
4837
|
+
* <p>The name of the rate-based rule to get the keys for. If you have the rule defined inside
|
|
4838
|
+
* a rule group that you're using in your web ACL, also provide the name of the rule group
|
|
4839
|
+
* reference statement in the request parameter <code>RuleGroupRuleName</code>.</p>
|
|
4840
|
+
* @public
|
|
4841
|
+
*/
|
|
4842
|
+
RuleName: string | undefined;
|
|
4843
|
+
}
|
|
4844
|
+
/**
|
|
4845
|
+
* <p>The set of IP addresses that are currently blocked for a <a>RateBasedStatement</a>. This is only available for rate-based rules
|
|
4846
|
+
* that aggregate on just the IP address, with the <code>AggregateKeyType</code> set to <code>IP</code> or <code>FORWARDED_IP</code>.</p>
|
|
4847
|
+
* <p>A rate-based rule applies its rule action to requests from IP addresses that are in the rule's managed keys list and that match the rule's scope-down statement. When a rule has no scope-down statement, it applies the action to all requests from the IP addresses that are in the list. The rule applies its rule action to rate limit the matching requests. The action is usually Block but it can be any valid rule action except for Allow. </p>
|
|
4848
|
+
* <p>The maximum number of IP addresses that can be rate limited by a single rate-based rule instance is 10,000. If more than 10,000 addresses exceed the rate limit, WAF limits those with the highest rates. </p>
|
|
4849
|
+
* @public
|
|
4850
|
+
*/
|
|
4851
|
+
export interface RateBasedStatementManagedKeysIPSet {
|
|
4852
|
+
/**
|
|
4853
|
+
* <p>The version of the IP addresses, either <code>IPV4</code> or <code>IPV6</code>. </p>
|
|
4854
|
+
* @public
|
|
4855
|
+
*/
|
|
4856
|
+
IPAddressVersion?: IPAddressVersion | undefined;
|
|
4857
|
+
/**
|
|
4858
|
+
* <p>The IP addresses that are currently blocked.</p>
|
|
4859
|
+
* @public
|
|
4860
|
+
*/
|
|
4861
|
+
Addresses?: string[] | undefined;
|
|
4862
|
+
}
|
|
4863
|
+
/**
|
|
4864
|
+
* @public
|
|
4865
|
+
*/
|
|
4866
|
+
export interface GetRateBasedStatementManagedKeysResponse {
|
|
4867
|
+
/**
|
|
4868
|
+
* <p>The keys that are of Internet Protocol version 4 (IPv4). </p>
|
|
4869
|
+
* @public
|
|
4870
|
+
*/
|
|
4871
|
+
ManagedKeysIPV4?: RateBasedStatementManagedKeysIPSet | undefined;
|
|
4872
|
+
/**
|
|
4873
|
+
* <p>The keys that are of Internet Protocol version 6 (IPv6). </p>
|
|
4874
|
+
* @public
|
|
4875
|
+
*/
|
|
4876
|
+
ManagedKeysIPV6?: RateBasedStatementManagedKeysIPSet | undefined;
|
|
4877
|
+
}
|
|
4878
|
+
/**
|
|
4879
|
+
* @public
|
|
4880
|
+
*/
|
|
4881
|
+
export interface GetRegexPatternSetRequest {
|
|
4882
|
+
/**
|
|
4883
|
+
* <p>The name of the set. You cannot change the name after you create the set.</p>
|
|
4884
|
+
* @public
|
|
4885
|
+
*/
|
|
4886
|
+
Name: string | undefined;
|
|
4887
|
+
/**
|
|
4888
|
+
* <p>Specifies whether this is for a global resource type, such as a Amazon CloudFront distribution. For an Amplify application, use <code>CLOUDFRONT</code>.</p>
|
|
4889
|
+
* <p>To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: </p>
|
|
4890
|
+
* <ul>
|
|
4891
|
+
* <li>
|
|
4892
|
+
* <p>CLI - Specify the Region when you use the CloudFront scope: <code>--scope=CLOUDFRONT --region=us-east-1</code>. </p>
|
|
4893
|
+
* </li>
|
|
4894
|
+
* <li>
|
|
4895
|
+
* <p>API and SDKs - For all calls, use the Region endpoint us-east-1. </p>
|
|
4896
|
+
* </li>
|
|
4897
|
+
* </ul>
|
|
4898
|
+
* @public
|
|
4899
|
+
*/
|
|
4900
|
+
Scope: Scope | undefined;
|
|
4901
|
+
/**
|
|
4902
|
+
* <p>A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.</p>
|
|
4903
|
+
* @public
|
|
4904
|
+
*/
|
|
4905
|
+
Id: string | undefined;
|
|
4906
|
+
}
|
|
4907
|
+
/**
|
|
4908
|
+
* <p>Contains one or more regular expressions. </p>
|
|
4909
|
+
* <p>WAF assigns an ARN to each <code>RegexPatternSet</code> that you create. To use a
|
|
4910
|
+
* set in a rule, you provide the ARN to the <a>Rule</a> statement <a>RegexPatternSetReferenceStatement</a>. </p>
|
|
4911
|
+
* @public
|
|
4912
|
+
*/
|
|
4913
|
+
export interface RegexPatternSet {
|
|
4914
|
+
/**
|
|
4915
|
+
* <p>The name of the set. You cannot change the name after you create the set.</p>
|
|
4916
|
+
* @public
|
|
4917
|
+
*/
|
|
4918
|
+
Name?: string | undefined;
|
|
4919
|
+
/**
|
|
4920
|
+
* <p>A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.</p>
|
|
4921
|
+
* @public
|
|
4922
|
+
*/
|
|
4923
|
+
Id?: string | undefined;
|
|
4924
|
+
/**
|
|
4925
|
+
* <p>The Amazon Resource Name (ARN) of the entity.</p>
|
|
4926
|
+
* @public
|
|
4927
|
+
*/
|
|
4928
|
+
ARN?: string | undefined;
|
|
4929
|
+
/**
|
|
4930
|
+
* <p>A description of the set that helps with identification. </p>
|
|
4931
|
+
* @public
|
|
4932
|
+
*/
|
|
4933
|
+
Description?: string | undefined;
|
|
4934
|
+
/**
|
|
4935
|
+
* <p>The regular expression patterns in the set.</p>
|
|
4936
|
+
* @public
|
|
4937
|
+
*/
|
|
4938
|
+
RegularExpressionList?: Regex[] | undefined;
|
|
4939
|
+
}
|
|
4940
|
+
/**
|
|
4941
|
+
* @public
|
|
4942
|
+
*/
|
|
4943
|
+
export interface GetRegexPatternSetResponse {
|
|
4944
|
+
/**
|
|
4945
|
+
* <p></p>
|
|
4946
|
+
* @public
|
|
4947
|
+
*/
|
|
4948
|
+
RegexPatternSet?: RegexPatternSet | undefined;
|
|
4949
|
+
/**
|
|
4950
|
+
* <p>A token used for optimistic locking. WAF returns a token to your <code>get</code> and <code>list</code> requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like <code>update</code> and <code>delete</code>. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a <code>WAFOptimisticLockException</code>. If this happens, perform another <code>get</code>, and use the new token returned by that operation. </p>
|
|
4951
|
+
* @public
|
|
4952
|
+
*/
|
|
4953
|
+
LockToken?: string | undefined;
|
|
4954
|
+
}
|
|
4955
|
+
/**
|
|
4956
|
+
* <p>A filter for narrowing monetization statistics and settlement record results. Specify a filter name and one or more values to match.</p>
|
|
4957
|
+
* <p>Filter behavior:</p>
|
|
4958
|
+
* <ul>
|
|
4959
|
+
* <li>
|
|
4960
|
+
* <p>Multiple values within one filter: OR (match any)</p>
|
|
4961
|
+
* </li>
|
|
4962
|
+
* <li>
|
|
4963
|
+
* <p>Multiple filters: AND (all must match)</p>
|
|
4964
|
+
* </li>
|
|
4965
|
+
* <li>
|
|
4966
|
+
* <p>No duplicate filter names allowed (rejected with error)</p>
|
|
4967
|
+
* </li>
|
|
4968
|
+
* <li>
|
|
4969
|
+
* <p>Duplicate values within a filter are silently deduplicated</p>
|
|
4970
|
+
* </li>
|
|
4971
|
+
* <li>
|
|
4972
|
+
* <p>If no <code>CurrencyMode</code> filter is specified, defaults to <code>REAL</code>
|
|
4973
|
+
* </p>
|
|
4974
|
+
* </li>
|
|
4975
|
+
* </ul>
|
|
4976
|
+
* @public
|
|
4977
|
+
*/
|
|
4978
|
+
export interface MonetizationFilter {
|
|
4979
|
+
/**
|
|
4980
|
+
* <p>The filter name. Format: Key is a string, Value is a list of strings.</p>
|
|
4981
|
+
* <p>Enum-restricted (invalid values rejected):</p>
|
|
4982
|
+
* <ul>
|
|
4983
|
+
* <li>
|
|
4984
|
+
* <p>
|
|
4985
|
+
* <code>CurrencyMode</code>: <code>REAL</code>, <code>TEST</code>
|
|
4986
|
+
* </p>
|
|
4987
|
+
* </li>
|
|
4988
|
+
* <li>
|
|
4989
|
+
* <p>
|
|
4990
|
+
* <code>ChainName</code>: <code>BASE</code>, <code>SOLANA</code>, <code>BASE_SEPOLIA</code>, <code>SOLANA_DEVNET</code>
|
|
4991
|
+
* </p>
|
|
4992
|
+
* </li>
|
|
4993
|
+
* <li>
|
|
4994
|
+
* <p>
|
|
4995
|
+
* <code>SettlementStatus</code>: <code>SETTLED</code>, <code>PENDING</code>, <code>FAILED</code>, <code>SERVICE_ERROR</code>, <code>SKIPPED_ORIGIN_ERROR</code>, <code>DUPLICATE</code>
|
|
4996
|
+
* </p>
|
|
4997
|
+
* </li>
|
|
4998
|
+
* <li>
|
|
4999
|
+
* <p>
|
|
5000
|
+
* <code>HttpSourceName</code>: <code>CF</code>, <code>ALB</code>, <code>APIGW</code>, <code>APPRUNNER</code>, <code>COGNITO</code>, <code>VERIFIED_ACCESS</code>
|
|
5001
|
+
* </p>
|
|
5002
|
+
* </li>
|
|
5003
|
+
* </ul>
|
|
5004
|
+
* <p>ARN-validated:</p>
|
|
5005
|
+
* <ul>
|
|
5006
|
+
* <li>
|
|
5007
|
+
* <p>
|
|
5008
|
+
* <code>WebACLArn</code>: valid WAFv2 web ACL ARN</p>
|
|
5009
|
+
* </li>
|
|
5010
|
+
* </ul>
|
|
5011
|
+
* <p>Free-text (any string up to 256 chars):</p>
|
|
5012
|
+
* <ul>
|
|
5013
|
+
* <li>
|
|
5014
|
+
* <p>
|
|
5015
|
+
* <code>SourceName</code>: The name of the bot. Populated from Bot Control verified bot labels.</p>
|
|
5016
|
+
* </li>
|
|
5017
|
+
* <li>
|
|
5018
|
+
* <p>
|
|
5019
|
+
* <code>SourceCategory</code>: The category classification of the bot. From Bot Control categorization.</p>
|
|
5020
|
+
* </li>
|
|
5021
|
+
* <li>
|
|
5022
|
+
* <p>
|
|
5023
|
+
* <code>Intent</code>: The declared intent of the bot request.</p>
|
|
5024
|
+
* </li>
|
|
5025
|
+
* <li>
|
|
5026
|
+
* <p>
|
|
5027
|
+
* <code>Organization</code>: The organization operating the bot.</p>
|
|
5028
|
+
* </li>
|
|
5029
|
+
* <li>
|
|
5030
|
+
* <p>
|
|
5031
|
+
* <code>UriPathPrefix</code>: The URI path of the request that was monetized.</p>
|
|
5032
|
+
* </li>
|
|
5033
|
+
* <li>
|
|
5034
|
+
* <p>
|
|
5035
|
+
* <code>RequestId</code>: The WAF request ID associated with the transaction. Matches the requestId in WAF logs. Pattern: <code>^[a-zA-Z0-9:._\-=+/]+$</code>
|
|
5036
|
+
* </p>
|
|
5037
|
+
* </li>
|
|
5038
|
+
* <li>
|
|
5039
|
+
* <p>
|
|
5040
|
+
* <code>TransactionId</code>: The blockchain transaction identifier. Pattern: <code>^[a-zA-Z0-9:._\-=+/]+$</code>
|
|
5041
|
+
* </p>
|
|
5042
|
+
* </li>
|
|
5043
|
+
* <li>
|
|
5044
|
+
* <p>
|
|
5045
|
+
* <code>TerminatingRuleName</code>: The name of the WAF rule that triggered the Monetize action.</p>
|
|
5046
|
+
* </li>
|
|
5047
|
+
* <li>
|
|
5048
|
+
* <p>
|
|
5049
|
+
* <code>PayerAddress</code>: The blockchain wallet address of the paying client. Pattern: <code>^[a-zA-Z0-9:._\-=+/]+$</code>
|
|
5050
|
+
* </p>
|
|
5051
|
+
* </li>
|
|
5052
|
+
* <li>
|
|
5053
|
+
* <p>
|
|
5054
|
+
* <code>HttpSourceId</code>: The identifier of the Amazon Web Services resource associated with the web ACL (for example, CloudFront distribution ID).</p>
|
|
5055
|
+
* </li>
|
|
5056
|
+
* </ul>
|
|
5057
|
+
* @public
|
|
5058
|
+
*/
|
|
5059
|
+
Name: string | undefined;
|
|
5060
|
+
/**
|
|
5061
|
+
* <p>The values to filter on. Specify as a list of strings. Results match any of the specified values (OR logic). Duplicate values are silently deduplicated. Maximum: 20 values per filter.</p>
|
|
5062
|
+
* @public
|
|
5063
|
+
*/
|
|
5064
|
+
Values: string[] | undefined;
|
|
5065
|
+
}
|
|
5066
|
+
/**
|
|
5067
|
+
* <p>In a <a>GetSampledRequests</a> request, the <code>StartTime</code> and
|
|
5068
|
+
* <code>EndTime</code> objects specify the time range for which you want WAF to
|
|
5069
|
+
* return a sample of web requests.</p>
|
|
5070
|
+
* <p>You must specify the times in Coordinated Universal Time (UTC) format. UTC format
|
|
5071
|
+
* includes the special designator, <code>Z</code>. For example,
|
|
5072
|
+
* <code>"2016-09-27T14:50Z"</code>. You can specify any time range in the previous three
|
|
5073
|
+
* hours.</p>
|
|
5074
|
+
* <p>In a <a>GetSampledRequests</a> response, the <code>StartTime</code> and
|
|
5075
|
+
* <code>EndTime</code> objects specify the time range for which WAF actually returned a
|
|
5076
|
+
* sample of web requests. WAF gets the specified number of requests from among the first
|
|
5077
|
+
* 5,000 requests that your Amazon Web Services resource receives during the specified time period. If your
|
|
5078
|
+
* resource receives more than 5,000 requests during that period, WAF stops sampling after
|
|
5079
|
+
* the 5,000th request. In that case, <code>EndTime</code> is the time that WAF received the
|
|
5080
|
+
* 5,000th request.</p>
|
|
5081
|
+
* @public
|
|
5082
|
+
*/
|
|
5083
|
+
export interface TimeWindow {
|
|
5084
|
+
/**
|
|
5085
|
+
* <p>The beginning of the time range from which you want <code>GetSampledRequests</code> to
|
|
5086
|
+
* return a sample of the requests that your Amazon Web Services resource received. You must specify the
|
|
5087
|
+
* times in Coordinated Universal Time (UTC) format. UTC format includes the special
|
|
5088
|
+
* designator, <code>Z</code>. For example, <code>"2016-09-27T14:50Z"</code>. You can specify
|
|
5089
|
+
* any time range in the previous three hours.</p>
|
|
5090
|
+
* @public
|
|
5091
|
+
*/
|
|
5092
|
+
StartTime: Date | undefined;
|
|
5093
|
+
/**
|
|
5094
|
+
* <p>The end of the time range from which you want <code>GetSampledRequests</code> to return
|
|
5095
|
+
* a sample of the requests that your Amazon Web Services resource received. You must specify the times in
|
|
5096
|
+
* Coordinated Universal Time (UTC) format. UTC format includes the special designator,
|
|
5097
|
+
* <code>Z</code>. For example, <code>"2016-09-27T14:50Z"</code>. You can specify any time
|
|
5098
|
+
* range in the previous three hours.</p>
|
|
5099
|
+
* @public
|
|
5100
|
+
*/
|
|
5101
|
+
EndTime: Date | undefined;
|
|
5102
|
+
}
|
|
5103
|
+
/**
|
|
5104
|
+
* @public
|
|
5105
|
+
*/
|
|
5106
|
+
export interface GetRevenueStatisticsRequest {
|
|
5107
|
+
/**
|
|
5108
|
+
* <p>
|
|
5109
|
+
* <code>TOP_SOURCES_BY_REVENUE</code> ranks revenue from AI bot traffic, grouped by the dimension you specify in the <code>GroupBy</code> parameter (<code>NAME</code>, <code>CATEGORY</code>, <code>INTENT</code>, <code>ORGANIZATION</code>, or <code>WEBACL</code>); <code>GroupBy</code> is required for this statistic type. <code>TOP_PATHS_BY_REVENUE</code> ranks revenue by path.</p>
|
|
5110
|
+
* @public
|
|
5111
|
+
*/
|
|
5112
|
+
StatisticType: RankingStatisticType | undefined;
|
|
5113
|
+
/**
|
|
5114
|
+
* <p>The time range for the query. Specify start and end timestamps.</p>
|
|
5115
|
+
* @public
|
|
5116
|
+
*/
|
|
5117
|
+
TimeWindow: TimeWindow | undefined;
|
|
5118
|
+
/**
|
|
5119
|
+
* <p>Specifies whether this is for a Amazon CloudFront distribution (<code>CLOUDFRONT</code>) or for a regional application (<code>REGIONAL</code>).</p>
|
|
5120
|
+
* @public
|
|
5121
|
+
*/
|
|
5122
|
+
Scope: Scope | undefined;
|
|
5123
|
+
/**
|
|
5124
|
+
* <p>The currency for the revenue amounts in the response.</p>
|
|
5125
|
+
* @public
|
|
5126
|
+
*/
|
|
5127
|
+
Currency: Currency | undefined;
|
|
5128
|
+
/**
|
|
5129
|
+
* <p>The dimension to group results by: <code>NAME</code>, <code>CATEGORY</code>, <code>INTENT</code>, <code>ORGANIZATION</code>, or <code>WEBACL</code>. Required when <code>StatisticType</code> is <code>TOP_SOURCES_BY_REVENUE</code>. Not required for <code>TOP_PATHS_BY_REVENUE</code>, where results are grouped by content path. If <code>StatisticType</code> is <code>TOP_SOURCES_BY_REVENUE</code> and <code>GroupBy</code> is omitted, the request is rejected with a <code>WAFInvalidParameterException</code>.</p>
|
|
5130
|
+
* @public
|
|
5131
|
+
*/
|
|
5132
|
+
GroupBy?: GroupByType | undefined;
|
|
5133
|
+
/**
|
|
5134
|
+
* <p>Optional filters to narrow the results.</p>
|
|
5135
|
+
* @public
|
|
5136
|
+
*/
|
|
5137
|
+
Filters?: MonetizationFilter[] | undefined;
|
|
5138
|
+
/**
|
|
5139
|
+
* <p>When you get a paginated response, this marker indicates that additional results are available. Use it in a subsequent request to retrieve the next page of results.</p>
|
|
5140
|
+
* @public
|
|
5141
|
+
*/
|
|
5142
|
+
NextMarker?: string | undefined;
|
|
5143
|
+
/**
|
|
5144
|
+
* <p>The maximum number of results to return.</p>
|
|
5145
|
+
* @public
|
|
5146
|
+
*/
|
|
5147
|
+
Limit?: number | undefined;
|
|
5148
|
+
/**
|
|
5149
|
+
* <p>The field to sort results by: <code>REVENUE</code>, <code>PERCENTAGE</code>, or <code>NAME</code>.</p>
|
|
5150
|
+
* @public
|
|
5151
|
+
*/
|
|
5152
|
+
SortBy?: RankingSortBy | undefined;
|
|
5153
|
+
/**
|
|
5154
|
+
* <p>The sort order: <code>ASC</code> for ascending or <code>DESC</code> for descending.</p>
|
|
5155
|
+
* @public
|
|
5156
|
+
*/
|
|
5157
|
+
SortOrder?: SortOrder | undefined;
|
|
5158
|
+
}
|
|
5159
|
+
/**
|
|
5160
|
+
* <p>Revenue statistics for a single content path, including the path, revenue amount, and request count.</p>
|
|
5161
|
+
* @public
|
|
5162
|
+
*/
|
|
5163
|
+
export interface RevenuePathStatistics {
|
|
5164
|
+
/**
|
|
5165
|
+
* <p>The URI path.</p>
|
|
5166
|
+
* @public
|
|
5167
|
+
*/
|
|
5168
|
+
Path: string | undefined;
|
|
5169
|
+
/**
|
|
5170
|
+
* <p>The percentage of total revenue from this path.</p>
|
|
5171
|
+
* @public
|
|
5172
|
+
*/
|
|
5173
|
+
Percentage: number | undefined;
|
|
5174
|
+
/**
|
|
5175
|
+
* <p>The total revenue amount from this path in the specified currency.</p>
|
|
5176
|
+
* @public
|
|
5177
|
+
*/
|
|
5178
|
+
Amount: string | undefined;
|
|
5179
|
+
/**
|
|
5180
|
+
* <p>The number of monetized requests to this path.</p>
|
|
5181
|
+
* @public
|
|
5182
|
+
*/
|
|
5183
|
+
RequestCount: number | undefined;
|
|
5184
|
+
}
|
|
5185
|
+
/**
|
|
5186
|
+
* <p>Revenue statistics for a single AI bot source, including the bot name, revenue amount, request count, and verification status.</p>
|
|
5187
|
+
* @public
|
|
5188
|
+
*/
|
|
5189
|
+
export interface SourceStatistics {
|
|
5190
|
+
/**
|
|
5191
|
+
* <p>The name of the AI bot.</p>
|
|
5192
|
+
* @public
|
|
5193
|
+
*/
|
|
5194
|
+
SourceName: string | undefined;
|
|
5195
|
+
/**
|
|
5196
|
+
* <p>The percentage of total revenue from this source.</p>
|
|
5197
|
+
* @public
|
|
5198
|
+
*/
|
|
5199
|
+
Percentage: number | undefined;
|
|
5200
|
+
/**
|
|
5201
|
+
* <p>The total revenue amount from this source in the specified currency.</p>
|
|
5202
|
+
* @public
|
|
5203
|
+
*/
|
|
5204
|
+
Amount: string | undefined;
|
|
5205
|
+
/**
|
|
5206
|
+
* <p>The number of monetized requests from this source.</p>
|
|
5207
|
+
* @public
|
|
5208
|
+
*/
|
|
5209
|
+
RequestCount: number | undefined;
|
|
5210
|
+
/**
|
|
5211
|
+
* <p>The category of this AI bot source.</p>
|
|
5212
|
+
* @public
|
|
5213
|
+
*/
|
|
5214
|
+
SourceCategory?: string | undefined;
|
|
5215
|
+
/**
|
|
5216
|
+
* <p>The declared intent of the AI bot (for example, summarize, index, or train).</p>
|
|
5217
|
+
* @public
|
|
5218
|
+
*/
|
|
5219
|
+
Intent?: string | undefined;
|
|
5220
|
+
/**
|
|
5221
|
+
* <p>The organization associated with the AI bot.</p>
|
|
5222
|
+
* @public
|
|
5223
|
+
*/
|
|
5224
|
+
Organization?: string | undefined;
|
|
5225
|
+
/**
|
|
5226
|
+
* <p>Whether the AI bot's identity was verified.</p>
|
|
5227
|
+
* @public
|
|
5228
|
+
*/
|
|
5229
|
+
Verified?: boolean | undefined;
|
|
5230
|
+
/**
|
|
5231
|
+
* <p>The value for the group-by dimension, when grouping is applied.</p>
|
|
5232
|
+
* @public
|
|
5233
|
+
*/
|
|
5234
|
+
GroupByValue?: string | undefined;
|
|
5235
|
+
}
|
|
5236
|
+
/**
|
|
5237
|
+
* @public
|
|
5238
|
+
*/
|
|
5239
|
+
export interface GetRevenueStatisticsResponse {
|
|
5240
|
+
/**
|
|
5241
|
+
* <p>Statistics for top revenue sources (AI bots). Populated when <code>StatisticType</code> is <code>TOP_SOURCES_BY_REVENUE</code>.</p>
|
|
5242
|
+
* @public
|
|
5243
|
+
*/
|
|
5244
|
+
SourceStatistics?: SourceStatistics[] | undefined;
|
|
5245
|
+
/**
|
|
5246
|
+
* <p>Statistics for top revenue paths. Populated when <code>StatisticType</code> is <code>TOP_PATHS_BY_REVENUE</code>.</p>
|
|
5247
|
+
* @public
|
|
5248
|
+
*/
|
|
5249
|
+
RevenuePathStatistics?: RevenuePathStatistics[] | undefined;
|
|
5250
|
+
/**
|
|
5251
|
+
* <p>When you get a paginated response, this marker indicates that additional results are available.</p>
|
|
5252
|
+
* @public
|
|
5253
|
+
*/
|
|
5254
|
+
NextMarker?: string | undefined;
|
|
5255
|
+
}
|
|
5256
|
+
/**
|
|
5257
|
+
* @public
|
|
5258
|
+
*/
|
|
5259
|
+
export interface GetRevenueStatisticsSummaryRequest {
|
|
5260
|
+
/**
|
|
5261
|
+
* <p>The time range for the revenue summary query. Specify start and end timestamps.</p>
|
|
5262
|
+
* @public
|
|
5263
|
+
*/
|
|
5264
|
+
TimeWindow: TimeWindow | undefined;
|
|
5265
|
+
/**
|
|
5266
|
+
* <p>Specifies whether this is for a Amazon CloudFront distribution (<code>CLOUDFRONT</code>) or for a regional application (<code>REGIONAL</code>). AI bot monetization is only available for <code>CLOUDFRONT</code> scope.</p>
|
|
5267
|
+
* @public
|
|
5268
|
+
*/
|
|
5269
|
+
Scope: Scope | undefined;
|
|
5270
|
+
/**
|
|
5271
|
+
* <p>The currency for the revenue amounts in the response. Currently only <code>USDC</code> is supported.</p>
|
|
5272
|
+
* @public
|
|
5273
|
+
*/
|
|
5274
|
+
Currency: Currency | undefined;
|
|
5275
|
+
/**
|
|
5276
|
+
* <p>Optional filters to narrow the results. You can filter by source name, category, organization, intent, verified status, content path, web ACL ARN, or currency mode.</p>
|
|
5277
|
+
* @public
|
|
5278
|
+
*/
|
|
5279
|
+
Filters?: MonetizationFilter[] | undefined;
|
|
5280
|
+
}
|
|
5281
|
+
/**
|
|
5282
|
+
* <p>A summary of AI bot monetization revenue, including total revenue, revenue by verification tier, and request counts.</p>
|
|
5283
|
+
* @public
|
|
5284
|
+
*/
|
|
5285
|
+
export interface RevenueBreakdown {
|
|
5286
|
+
/**
|
|
5287
|
+
* <p>The total revenue amount in the specified currency.</p>
|
|
5288
|
+
* @public
|
|
5289
|
+
*/
|
|
5290
|
+
TotalAmount?: string | undefined;
|
|
5291
|
+
/**
|
|
5292
|
+
* <p>The revenue amount from verified AI bots.</p>
|
|
5293
|
+
* @public
|
|
5294
|
+
*/
|
|
5295
|
+
VerifiedAmount?: string | undefined;
|
|
5296
|
+
/**
|
|
5297
|
+
* <p>The revenue amount from unverified AI bots.</p>
|
|
5298
|
+
* @public
|
|
5299
|
+
*/
|
|
5300
|
+
UnverifiedAmount?: string | undefined;
|
|
5301
|
+
/**
|
|
5302
|
+
* <p>The currency of the revenue amounts.</p>
|
|
5303
|
+
* @public
|
|
5304
|
+
*/
|
|
5305
|
+
Currency?: Currency | undefined;
|
|
5306
|
+
/**
|
|
5307
|
+
* <p>The total number of successfully settled payment transactions.</p>
|
|
5308
|
+
* @public
|
|
5309
|
+
*/
|
|
5310
|
+
TotalSettled?: number | undefined;
|
|
5311
|
+
/**
|
|
5312
|
+
* <p>The total number of HTTP 402 Payment Required responses served to AI agents.</p>
|
|
5313
|
+
* @public
|
|
5314
|
+
*/
|
|
5315
|
+
TotalMonetizeServed?: number | undefined;
|
|
5316
|
+
}
|
|
5317
|
+
/**
|
|
5318
|
+
* @public
|
|
5319
|
+
*/
|
|
5320
|
+
export interface GetRevenueStatisticsSummaryResponse {
|
|
5321
|
+
/**
|
|
5322
|
+
* <p>The revenue breakdown summary for the specified time window and filters.</p>
|
|
5323
|
+
* @public
|
|
5324
|
+
*/
|
|
5325
|
+
RevenueBreakdown?: RevenueBreakdown | undefined;
|
|
5326
|
+
}
|
|
5327
|
+
/**
|
|
5328
|
+
* @public
|
|
5329
|
+
*/
|
|
5330
|
+
export interface GetRevenueStatisticsTimeSeriesRequest {
|
|
5331
|
+
/**
|
|
5332
|
+
* <p>The type of time series data to retrieve: <code>DATE_HISTOGRAM</code> for revenue over time, or <code>PAYMENT_TRAFFIC</code> for payment traffic patterns.</p>
|
|
5333
|
+
* @public
|
|
5334
|
+
*/
|
|
5335
|
+
StatisticType: TimeSeriesStatisticType | undefined;
|
|
4739
5336
|
/**
|
|
4740
|
-
* <p>The
|
|
5337
|
+
* <p>The time range for the query. Specify start and end timestamps.</p>
|
|
4741
5338
|
* @public
|
|
4742
5339
|
*/
|
|
4743
|
-
|
|
5340
|
+
TimeWindow: TimeWindow | undefined;
|
|
4744
5341
|
/**
|
|
4745
|
-
* <p>
|
|
5342
|
+
* <p>Specifies whether this is for a Amazon CloudFront distribution (<code>CLOUDFRONT</code>) or for a regional application (<code>REGIONAL</code>).</p>
|
|
4746
5343
|
* @public
|
|
4747
5344
|
*/
|
|
4748
|
-
|
|
5345
|
+
Scope: Scope | undefined;
|
|
4749
5346
|
/**
|
|
4750
|
-
* <p>The
|
|
4751
|
-
* when you have the rate-based rule nested inside a rule group. </p>
|
|
5347
|
+
* <p>The time interval for aggregating data points: <code>MINUTELY</code>, <code>FIVE_MINUTELY</code>, <code>HOURLY</code>, or <code>DAILY</code>.</p>
|
|
4752
5348
|
* @public
|
|
4753
5349
|
*/
|
|
4754
|
-
|
|
5350
|
+
Interval: IntervalType | undefined;
|
|
4755
5351
|
/**
|
|
4756
|
-
* <p>The
|
|
4757
|
-
* a rule group that you're using in your web ACL, also provide the name of the rule group
|
|
4758
|
-
* reference statement in the request parameter <code>RuleGroupRuleName</code>.</p>
|
|
5352
|
+
* <p>The currency for the amounts in the response.</p>
|
|
4759
5353
|
* @public
|
|
4760
5354
|
*/
|
|
4761
|
-
|
|
4762
|
-
}
|
|
4763
|
-
/**
|
|
4764
|
-
* <p>The set of IP addresses that are currently blocked for a <a>RateBasedStatement</a>. This is only available for rate-based rules
|
|
4765
|
-
* that aggregate on just the IP address, with the <code>AggregateKeyType</code> set to <code>IP</code> or <code>FORWARDED_IP</code>.</p>
|
|
4766
|
-
* <p>A rate-based rule applies its rule action to requests from IP addresses that are in the rule's managed keys list and that match the rule's scope-down statement. When a rule has no scope-down statement, it applies the action to all requests from the IP addresses that are in the list. The rule applies its rule action to rate limit the matching requests. The action is usually Block but it can be any valid rule action except for Allow. </p>
|
|
4767
|
-
* <p>The maximum number of IP addresses that can be rate limited by a single rate-based rule instance is 10,000. If more than 10,000 addresses exceed the rate limit, WAF limits those with the highest rates. </p>
|
|
4768
|
-
* @public
|
|
4769
|
-
*/
|
|
4770
|
-
export interface RateBasedStatementManagedKeysIPSet {
|
|
5355
|
+
Currency: Currency | undefined;
|
|
4771
5356
|
/**
|
|
4772
|
-
* <p>The
|
|
5357
|
+
* <p>The dimension to group results by.</p>
|
|
4773
5358
|
* @public
|
|
4774
5359
|
*/
|
|
4775
|
-
|
|
5360
|
+
GroupBy?: GroupByType | undefined;
|
|
4776
5361
|
/**
|
|
4777
|
-
* <p>
|
|
5362
|
+
* <p>Optional filters to narrow the results.</p>
|
|
4778
5363
|
* @public
|
|
4779
5364
|
*/
|
|
4780
|
-
|
|
4781
|
-
}
|
|
4782
|
-
/**
|
|
4783
|
-
* @public
|
|
4784
|
-
*/
|
|
4785
|
-
export interface GetRateBasedStatementManagedKeysResponse {
|
|
5365
|
+
Filters?: MonetizationFilter[] | undefined;
|
|
4786
5366
|
/**
|
|
4787
|
-
* <p>The
|
|
5367
|
+
* <p>The maximum number of data points to return. Minimum: 1. Maximum: 10000.</p>
|
|
4788
5368
|
* @public
|
|
4789
5369
|
*/
|
|
4790
|
-
|
|
5370
|
+
Limit?: number | undefined;
|
|
4791
5371
|
/**
|
|
4792
|
-
* <p>
|
|
5372
|
+
* <p>When you get a paginated response, this marker indicates that additional results are available.</p>
|
|
4793
5373
|
* @public
|
|
4794
5374
|
*/
|
|
4795
|
-
|
|
5375
|
+
NextMarker?: string | undefined;
|
|
4796
5376
|
}
|
|
4797
5377
|
/**
|
|
5378
|
+
* <p>A single data point in a revenue time series, representing aggregated monetization metrics for a specific time interval.</p>
|
|
4798
5379
|
* @public
|
|
4799
5380
|
*/
|
|
4800
|
-
export interface
|
|
4801
|
-
/**
|
|
4802
|
-
* <p>The name of the set. You cannot change the name after you create the set.</p>
|
|
4803
|
-
* @public
|
|
4804
|
-
*/
|
|
4805
|
-
Name: string | undefined;
|
|
5381
|
+
export interface DataPointEntry {
|
|
4806
5382
|
/**
|
|
4807
|
-
* <p>
|
|
4808
|
-
* <p>To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: </p>
|
|
4809
|
-
* <ul>
|
|
4810
|
-
* <li>
|
|
4811
|
-
* <p>CLI - Specify the Region when you use the CloudFront scope: <code>--scope=CLOUDFRONT --region=us-east-1</code>. </p>
|
|
4812
|
-
* </li>
|
|
4813
|
-
* <li>
|
|
4814
|
-
* <p>API and SDKs - For all calls, use the Region endpoint us-east-1. </p>
|
|
4815
|
-
* </li>
|
|
4816
|
-
* </ul>
|
|
5383
|
+
* <p>The timestamp for this data point.</p>
|
|
4817
5384
|
* @public
|
|
4818
5385
|
*/
|
|
4819
|
-
|
|
5386
|
+
Date?: Date | undefined;
|
|
4820
5387
|
/**
|
|
4821
|
-
* <p>
|
|
5388
|
+
* <p>The number of HTTP 402 Payment Required responses served during this interval.</p>
|
|
4822
5389
|
* @public
|
|
4823
5390
|
*/
|
|
4824
|
-
|
|
4825
|
-
}
|
|
4826
|
-
/**
|
|
4827
|
-
* <p>Contains one or more regular expressions. </p>
|
|
4828
|
-
* <p>WAF assigns an ARN to each <code>RegexPatternSet</code> that you create. To use a
|
|
4829
|
-
* set in a rule, you provide the ARN to the <a>Rule</a> statement <a>RegexPatternSetReferenceStatement</a>. </p>
|
|
4830
|
-
* @public
|
|
4831
|
-
*/
|
|
4832
|
-
export interface RegexPatternSet {
|
|
5391
|
+
MonetizeServedCount?: number | undefined;
|
|
4833
5392
|
/**
|
|
4834
|
-
* <p>The
|
|
5393
|
+
* <p>The number of successfully settled payments during this interval.</p>
|
|
4835
5394
|
* @public
|
|
4836
5395
|
*/
|
|
4837
|
-
|
|
5396
|
+
SettledCount?: number | undefined;
|
|
4838
5397
|
/**
|
|
4839
|
-
* <p>
|
|
5398
|
+
* <p>The total revenue amount during this interval in the specified currency.</p>
|
|
4840
5399
|
* @public
|
|
4841
5400
|
*/
|
|
4842
|
-
|
|
5401
|
+
TotalAmount?: string | undefined;
|
|
4843
5402
|
/**
|
|
4844
|
-
* <p>The
|
|
5403
|
+
* <p>The bot category for this data point, when grouped by category.</p>
|
|
4845
5404
|
* @public
|
|
4846
5405
|
*/
|
|
4847
|
-
|
|
5406
|
+
Category?: string | undefined;
|
|
4848
5407
|
/**
|
|
4849
|
-
* <p>
|
|
5408
|
+
* <p>The intent classification for this data point, when grouped by intent.</p>
|
|
4850
5409
|
* @public
|
|
4851
5410
|
*/
|
|
4852
|
-
|
|
5411
|
+
Intent?: string | undefined;
|
|
4853
5412
|
/**
|
|
4854
|
-
* <p>The
|
|
5413
|
+
* <p>The group-by dimension value for this data point.</p>
|
|
4855
5414
|
* @public
|
|
4856
5415
|
*/
|
|
4857
|
-
|
|
5416
|
+
GroupByValue?: string | undefined;
|
|
4858
5417
|
}
|
|
4859
5418
|
/**
|
|
4860
5419
|
* @public
|
|
4861
5420
|
*/
|
|
4862
|
-
export interface
|
|
5421
|
+
export interface GetRevenueStatisticsTimeSeriesResponse {
|
|
4863
5422
|
/**
|
|
4864
|
-
* <p
|
|
5423
|
+
* <p>The list of time series data points.</p>
|
|
4865
5424
|
* @public
|
|
4866
5425
|
*/
|
|
4867
|
-
|
|
5426
|
+
DataPoints?: DataPointEntry[] | undefined;
|
|
4868
5427
|
/**
|
|
4869
|
-
* <p>
|
|
5428
|
+
* <p>When you get a paginated response, this marker indicates that additional results are available.</p>
|
|
4870
5429
|
* @public
|
|
4871
5430
|
*/
|
|
4872
|
-
|
|
5431
|
+
NextMarker?: string | undefined;
|
|
4873
5432
|
}
|
|
4874
5433
|
/**
|
|
4875
5434
|
* @public
|
|
@@ -4905,43 +5464,6 @@ export interface GetRuleGroupRequest {
|
|
|
4905
5464
|
*/
|
|
4906
5465
|
ARN?: string | undefined;
|
|
4907
5466
|
}
|
|
4908
|
-
/**
|
|
4909
|
-
* <p>In a <a>GetSampledRequests</a> request, the <code>StartTime</code> and
|
|
4910
|
-
* <code>EndTime</code> objects specify the time range for which you want WAF to
|
|
4911
|
-
* return a sample of web requests.</p>
|
|
4912
|
-
* <p>You must specify the times in Coordinated Universal Time (UTC) format. UTC format
|
|
4913
|
-
* includes the special designator, <code>Z</code>. For example,
|
|
4914
|
-
* <code>"2016-09-27T14:50Z"</code>. You can specify any time range in the previous three
|
|
4915
|
-
* hours.</p>
|
|
4916
|
-
* <p>In a <a>GetSampledRequests</a> response, the <code>StartTime</code> and
|
|
4917
|
-
* <code>EndTime</code> objects specify the time range for which WAF actually returned a
|
|
4918
|
-
* sample of web requests. WAF gets the specified number of requests from among the first
|
|
4919
|
-
* 5,000 requests that your Amazon Web Services resource receives during the specified time period. If your
|
|
4920
|
-
* resource receives more than 5,000 requests during that period, WAF stops sampling after
|
|
4921
|
-
* the 5,000th request. In that case, <code>EndTime</code> is the time that WAF received the
|
|
4922
|
-
* 5,000th request.</p>
|
|
4923
|
-
* @public
|
|
4924
|
-
*/
|
|
4925
|
-
export interface TimeWindow {
|
|
4926
|
-
/**
|
|
4927
|
-
* <p>The beginning of the time range from which you want <code>GetSampledRequests</code> to
|
|
4928
|
-
* return a sample of the requests that your Amazon Web Services resource received. You must specify the
|
|
4929
|
-
* times in Coordinated Universal Time (UTC) format. UTC format includes the special
|
|
4930
|
-
* designator, <code>Z</code>. For example, <code>"2016-09-27T14:50Z"</code>. You can specify
|
|
4931
|
-
* any time range in the previous three hours.</p>
|
|
4932
|
-
* @public
|
|
4933
|
-
*/
|
|
4934
|
-
StartTime: Date | undefined;
|
|
4935
|
-
/**
|
|
4936
|
-
* <p>The end of the time range from which you want <code>GetSampledRequests</code> to return
|
|
4937
|
-
* a sample of the requests that your Amazon Web Services resource received. You must specify the times in
|
|
4938
|
-
* Coordinated Universal Time (UTC) format. UTC format includes the special designator,
|
|
4939
|
-
* <code>Z</code>. For example, <code>"2016-09-27T14:50Z"</code>. You can specify any time
|
|
4940
|
-
* range in the previous three hours.</p>
|
|
4941
|
-
* @public
|
|
4942
|
-
*/
|
|
4943
|
-
EndTime: Date | undefined;
|
|
4944
|
-
}
|
|
4945
5467
|
/**
|
|
4946
5468
|
* @public
|
|
4947
5469
|
*/
|
|
@@ -6089,6 +6611,183 @@ export interface ListRuleGroupsResponse {
|
|
|
6089
6611
|
*/
|
|
6090
6612
|
RuleGroups?: RuleGroupSummary[] | undefined;
|
|
6091
6613
|
}
|
|
6614
|
+
/**
|
|
6615
|
+
* @public
|
|
6616
|
+
*/
|
|
6617
|
+
export interface ListSettlementRecordsRequest {
|
|
6618
|
+
/**
|
|
6619
|
+
* <p>The time range for the query. Specify start and end timestamps.</p>
|
|
6620
|
+
* @public
|
|
6621
|
+
*/
|
|
6622
|
+
TimeWindow: TimeWindow | undefined;
|
|
6623
|
+
/**
|
|
6624
|
+
* <p>Specifies whether this is for a Amazon CloudFront distribution (<code>CLOUDFRONT</code>) or for a regional application (<code>REGIONAL</code>).</p>
|
|
6625
|
+
* @public
|
|
6626
|
+
*/
|
|
6627
|
+
Scope: Scope | undefined;
|
|
6628
|
+
/**
|
|
6629
|
+
* <p>The currency for the amounts in the response.</p>
|
|
6630
|
+
* @public
|
|
6631
|
+
*/
|
|
6632
|
+
Currency: Currency | undefined;
|
|
6633
|
+
/**
|
|
6634
|
+
* <p>Optional filters to narrow the results. You can filter by payer address, status, source name, network, or other settlement fields.</p>
|
|
6635
|
+
* @public
|
|
6636
|
+
*/
|
|
6637
|
+
Filters?: MonetizationFilter[] | undefined;
|
|
6638
|
+
/**
|
|
6639
|
+
* <p>The field to sort settlement records by: <code>TIMESTAMP</code>, <code>AMOUNT</code>, <code>NAME</code>, or <code>STATUS</code>.</p>
|
|
6640
|
+
* @public
|
|
6641
|
+
*/
|
|
6642
|
+
SortBy?: SettlementSortBy | undefined;
|
|
6643
|
+
/**
|
|
6644
|
+
* <p>The sort order: <code>ASC</code> for ascending or <code>DESC</code> for descending.</p>
|
|
6645
|
+
* @public
|
|
6646
|
+
*/
|
|
6647
|
+
SortOrder?: SortOrder | undefined;
|
|
6648
|
+
/**
|
|
6649
|
+
* <p>The maximum number of settlement records to return. Minimum: 1. Maximum: 100.</p>
|
|
6650
|
+
* @public
|
|
6651
|
+
*/
|
|
6652
|
+
Limit?: number | undefined;
|
|
6653
|
+
/**
|
|
6654
|
+
* <p>When you get a paginated response, this marker indicates that additional results are available.</p>
|
|
6655
|
+
* @public
|
|
6656
|
+
*/
|
|
6657
|
+
NextMarker?: string | undefined;
|
|
6658
|
+
}
|
|
6659
|
+
/**
|
|
6660
|
+
* <p>A single settlement transaction record for AI bot monetization. Contains details about the payment including timestamp, amount, status, and the parties involved.</p>
|
|
6661
|
+
* @public
|
|
6662
|
+
*/
|
|
6663
|
+
export interface SettlementRecord {
|
|
6664
|
+
/**
|
|
6665
|
+
* <p>The timestamp when the settlement was recorded.</p>
|
|
6666
|
+
* @public
|
|
6667
|
+
*/
|
|
6668
|
+
Timestamp: Date | undefined;
|
|
6669
|
+
/**
|
|
6670
|
+
* <p>The blockchain wallet address of the paying AI agent.</p>
|
|
6671
|
+
* @public
|
|
6672
|
+
*/
|
|
6673
|
+
PayerAddress?: string | undefined;
|
|
6674
|
+
/**
|
|
6675
|
+
* <p>Your receiving wallet address.</p>
|
|
6676
|
+
* @public
|
|
6677
|
+
*/
|
|
6678
|
+
WalletAddress?: string | undefined;
|
|
6679
|
+
/**
|
|
6680
|
+
* <p>The status of the settlement. Possible values:</p>
|
|
6681
|
+
* <ul>
|
|
6682
|
+
* <li>
|
|
6683
|
+
* <p>
|
|
6684
|
+
* <code>SETTLED</code> - The payment was successfully settled on the blockchain and the transfer from the payer's wallet to the publisher's wallet is confirmed. The <code>TransactionId</code> field contains the on-chain transaction hash. Content is served to the client.</p>
|
|
6685
|
+
* </li>
|
|
6686
|
+
* <li>
|
|
6687
|
+
* <p>
|
|
6688
|
+
* <code>PENDING</code> - The blockchain transaction has been submitted but not yet confirmed on-chain. This is a transient state that automatically resolves to either <code>SETTLED</code> or <code>FAILED</code>. No action is required. While pending, content is not served and the API returns a 402 response. Clients can retry the request.</p>
|
|
6689
|
+
* </li>
|
|
6690
|
+
* <li>
|
|
6691
|
+
* <p>
|
|
6692
|
+
* <code>FAILED</code> - The payment settlement was attempted but failed. Possible causes include insufficient funds, an expired payment authorization, or a reverted blockchain transaction. The <code>failureReason</code> field contains a machine-readable error code. Content is not served.</p>
|
|
6693
|
+
* </li>
|
|
6694
|
+
* <li>
|
|
6695
|
+
* <p>
|
|
6696
|
+
* <code>SERVICE_ERROR</code> - Settlement could not be completed due to an internal service issue or an issue with the payment network. Content is not served. The client's payment authorization remains valid and the request can be retried.</p>
|
|
6697
|
+
* </li>
|
|
6698
|
+
* <li>
|
|
6699
|
+
* <p>
|
|
6700
|
+
* <code>SKIPPED_ORIGIN_ERROR</code> - The origin returned a non-2xx response, so settlement was intentionally skipped. The client is not charged.</p>
|
|
6701
|
+
* </li>
|
|
6702
|
+
* <li>
|
|
6703
|
+
* <p>
|
|
6704
|
+
* <code>DUPLICATE</code> - A prior request with the same payment payload has already been settled. This status typically appears when a previous attempt timed out but the payment was ultimately processed. The client is not charged again.</p>
|
|
6705
|
+
* </li>
|
|
6706
|
+
* </ul>
|
|
6707
|
+
* @public
|
|
6708
|
+
*/
|
|
6709
|
+
Status: SettlementStatus | undefined;
|
|
6710
|
+
/**
|
|
6711
|
+
* <p>The payment amount in the specified currency.</p>
|
|
6712
|
+
* @public
|
|
6713
|
+
*/
|
|
6714
|
+
Amount: string | undefined;
|
|
6715
|
+
/**
|
|
6716
|
+
* <p>The currency of the payment amount.</p>
|
|
6717
|
+
* @public
|
|
6718
|
+
*/
|
|
6719
|
+
Currency?: Currency | undefined;
|
|
6720
|
+
/**
|
|
6721
|
+
* <p>The blockchain network on which the settlement occurred.</p>
|
|
6722
|
+
* @public
|
|
6723
|
+
*/
|
|
6724
|
+
Network?: string | undefined;
|
|
6725
|
+
/**
|
|
6726
|
+
* <p>The blockchain transaction identifier. You can use this to verify the transaction on a blockchain explorer.</p>
|
|
6727
|
+
* @public
|
|
6728
|
+
*/
|
|
6729
|
+
TransactionId?: string | undefined;
|
|
6730
|
+
/**
|
|
6731
|
+
* <p>The WAF request ID associated with this settlement.</p>
|
|
6732
|
+
* @public
|
|
6733
|
+
*/
|
|
6734
|
+
RequestId?: string | undefined;
|
|
6735
|
+
/**
|
|
6736
|
+
* <p>The name of the AI bot that made the payment.</p>
|
|
6737
|
+
* @public
|
|
6738
|
+
*/
|
|
6739
|
+
SourceName?: string | undefined;
|
|
6740
|
+
/**
|
|
6741
|
+
* <p>The organization associated with the AI bot.</p>
|
|
6742
|
+
* @public
|
|
6743
|
+
*/
|
|
6744
|
+
Organization?: string | undefined;
|
|
6745
|
+
/**
|
|
6746
|
+
* <p>The category of the AI bot source.</p>
|
|
6747
|
+
* @public
|
|
6748
|
+
*/
|
|
6749
|
+
SourceCategory?: string | undefined;
|
|
6750
|
+
/**
|
|
6751
|
+
* <p>The declared intent of the AI bot request.</p>
|
|
6752
|
+
* @public
|
|
6753
|
+
*/
|
|
6754
|
+
Intent?: string | undefined;
|
|
6755
|
+
/**
|
|
6756
|
+
* <p>Whether the AI bot's identity was verified.</p>
|
|
6757
|
+
* @public
|
|
6758
|
+
*/
|
|
6759
|
+
Verified?: boolean | undefined;
|
|
6760
|
+
/**
|
|
6761
|
+
* <p>The content path that was accessed.</p>
|
|
6762
|
+
* @public
|
|
6763
|
+
*/
|
|
6764
|
+
ContentPath?: string | undefined;
|
|
6765
|
+
/**
|
|
6766
|
+
* <p>The ARN of the web ACL that processed the request.</p>
|
|
6767
|
+
* @public
|
|
6768
|
+
*/
|
|
6769
|
+
WebAclArn?: string | undefined;
|
|
6770
|
+
/**
|
|
6771
|
+
* <p>The timestamp of the original web request.</p>
|
|
6772
|
+
* @public
|
|
6773
|
+
*/
|
|
6774
|
+
RequestTimestamp?: Date | undefined;
|
|
6775
|
+
}
|
|
6776
|
+
/**
|
|
6777
|
+
* @public
|
|
6778
|
+
*/
|
|
6779
|
+
export interface ListSettlementRecordsResponse {
|
|
6780
|
+
/**
|
|
6781
|
+
* <p>The list of settlement records.</p>
|
|
6782
|
+
* @public
|
|
6783
|
+
*/
|
|
6784
|
+
Settlements?: SettlementRecord[] | undefined;
|
|
6785
|
+
/**
|
|
6786
|
+
* <p>When you get a paginated response, this marker indicates that additional results are available.</p>
|
|
6787
|
+
* @public
|
|
6788
|
+
*/
|
|
6789
|
+
NextMarker?: string | undefined;
|
|
6790
|
+
}
|
|
6092
6791
|
/**
|
|
6093
6792
|
* @public
|
|
6094
6793
|
*/
|
|
@@ -7333,6 +8032,11 @@ export interface CreateRuleGroupRequest {
|
|
|
7333
8032
|
* @public
|
|
7334
8033
|
*/
|
|
7335
8034
|
CustomResponseBodies?: Record<string, CustomResponseBody> | undefined;
|
|
8035
|
+
/**
|
|
8036
|
+
* <p>The monetization configuration for the rule group. Provide this when any rule in the rule group uses the <code>Monetize</code> action.</p>
|
|
8037
|
+
* @public
|
|
8038
|
+
*/
|
|
8039
|
+
MonetizationConfig?: MonetizationConfig | undefined;
|
|
7336
8040
|
}
|
|
7337
8041
|
/**
|
|
7338
8042
|
* @public
|
|
@@ -7443,6 +8147,11 @@ export interface CreateWebACLRequest {
|
|
|
7443
8147
|
* @public
|
|
7444
8148
|
*/
|
|
7445
8149
|
ApplicationConfig?: ApplicationConfig | undefined;
|
|
8150
|
+
/**
|
|
8151
|
+
* <p>The monetization configuration for the web ACL. Provide this when any rule in the web ACL uses the <code>Monetize</code> action.</p>
|
|
8152
|
+
* @public
|
|
8153
|
+
*/
|
|
8154
|
+
MonetizationConfig?: MonetizationConfig | undefined;
|
|
7446
8155
|
}
|
|
7447
8156
|
/**
|
|
7448
8157
|
* <p> A rule group defines a collection of rules to inspect and control web requests that you can use in a <a>WebACL</a>. When you create a rule group, you define an immutable capacity limit. If you update a rule group, you must stay within the capacity. This allows others to reuse the rule group with confidence in its capacity requirements. </p>
|
|
@@ -7537,6 +8246,11 @@ export interface RuleGroup {
|
|
|
7537
8246
|
* @public
|
|
7538
8247
|
*/
|
|
7539
8248
|
ConsumedLabels?: LabelSummary[] | undefined;
|
|
8249
|
+
/**
|
|
8250
|
+
* <p>The monetization configuration for the rule group. Required when any rule in the rule group uses the <code>Monetize</code> action. When a rule group with a <code>MonetizationConfig</code> is used in a web ACL, the rule group's configuration applies to rules within that group unless overridden at the web ACL level.</p>
|
|
8251
|
+
* @public
|
|
8252
|
+
*/
|
|
8253
|
+
MonetizationConfig?: MonetizationConfig | undefined;
|
|
7540
8254
|
}
|
|
7541
8255
|
/**
|
|
7542
8256
|
* @public
|
|
@@ -7599,6 +8313,11 @@ export interface UpdateRuleGroupRequest {
|
|
|
7599
8313
|
* @public
|
|
7600
8314
|
*/
|
|
7601
8315
|
CustomResponseBodies?: Record<string, CustomResponseBody> | undefined;
|
|
8316
|
+
/**
|
|
8317
|
+
* <p>The monetization configuration for the rule group. Provide this when any rule in the rule group uses the <code>Monetize</code> action.</p>
|
|
8318
|
+
* @public
|
|
8319
|
+
*/
|
|
8320
|
+
MonetizationConfig?: MonetizationConfig | undefined;
|
|
7602
8321
|
}
|
|
7603
8322
|
/**
|
|
7604
8323
|
* @public
|
|
@@ -7724,6 +8443,11 @@ export interface UpdateWebACLRequest {
|
|
|
7724
8443
|
* @public
|
|
7725
8444
|
*/
|
|
7726
8445
|
ApplicationConfig?: ApplicationConfig | undefined;
|
|
8446
|
+
/**
|
|
8447
|
+
* <p>The monetization configuration for the web ACL. Provide this when any rule in the web ACL uses the <code>Monetize</code> action.</p>
|
|
8448
|
+
* @public
|
|
8449
|
+
*/
|
|
8450
|
+
MonetizationConfig?: MonetizationConfig | undefined;
|
|
7727
8451
|
}
|
|
7728
8452
|
/**
|
|
7729
8453
|
* @public
|
|
@@ -7908,6 +8632,11 @@ export interface WebACL {
|
|
|
7908
8632
|
* @public
|
|
7909
8633
|
*/
|
|
7910
8634
|
ApplicationConfig?: ApplicationConfig | undefined;
|
|
8635
|
+
/**
|
|
8636
|
+
* <p>The monetization configuration for the web ACL. Required when any rule in the web ACL uses the <code>Monetize</code> action. Specifies the cryptocurrency payment networks and currency mode for AI bot monetization.</p>
|
|
8637
|
+
* @public
|
|
8638
|
+
*/
|
|
8639
|
+
MonetizationConfig?: MonetizationConfig | undefined;
|
|
7911
8640
|
}
|
|
7912
8641
|
/**
|
|
7913
8642
|
* @public
|