cdk-docker-image-deployment 0.0.164 → 0.0.166

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.
Files changed (29) hide show
  1. package/.jsii +4 -4
  2. package/lib/destination.js +1 -1
  3. package/lib/docker-image-deployment.js +1 -1
  4. package/lib/source.js +1 -1
  5. package/node_modules/aws-sdk/CHANGELOG.md +13 -1
  6. package/node_modules/aws-sdk/README.md +1 -1
  7. package/node_modules/aws-sdk/apis/appconfig-2019-10-09.min.json +27 -14
  8. package/node_modules/aws-sdk/apis/ec2-2016-11-15.min.json +1321 -1316
  9. package/node_modules/aws-sdk/apis/frauddetector-2019-11-15.min.json +186 -61
  10. package/node_modules/aws-sdk/apis/frauddetector-2019-11-15.paginators.json +10 -0
  11. package/node_modules/aws-sdk/apis/glue-2017-03-31.min.json +329 -311
  12. package/node_modules/aws-sdk/apis/privatenetworks-2021-12-03.min.json +49 -8
  13. package/node_modules/aws-sdk/apis/wafv2-2019-07-29.min.json +234 -111
  14. package/node_modules/aws-sdk/clients/appconfig.d.ts +18 -1
  15. package/node_modules/aws-sdk/clients/datasync.d.ts +32 -32
  16. package/node_modules/aws-sdk/clients/ec2.d.ts +13 -0
  17. package/node_modules/aws-sdk/clients/efs.d.ts +4 -4
  18. package/node_modules/aws-sdk/clients/frauddetector.d.ts +179 -0
  19. package/node_modules/aws-sdk/clients/glue.d.ts +28 -0
  20. package/node_modules/aws-sdk/clients/privatenetworks.d.ts +59 -3
  21. package/node_modules/aws-sdk/clients/rds.d.ts +81 -81
  22. package/node_modules/aws-sdk/clients/wafv2.d.ts +119 -7
  23. package/node_modules/aws-sdk/dist/aws-sdk-core-react-native.js +1 -1
  24. package/node_modules/aws-sdk/dist/aws-sdk-react-native.js +8 -8
  25. package/node_modules/aws-sdk/dist/aws-sdk.js +1324 -1319
  26. package/node_modules/aws-sdk/dist/aws-sdk.min.js +61 -61
  27. package/node_modules/aws-sdk/lib/core.js +1 -1
  28. package/node_modules/aws-sdk/package.json +1 -1
  29. package/package.json +7 -7
@@ -397,6 +397,20 @@ declare class WAFV2 extends Service {
397
397
  updateWebACL(callback?: (err: AWSError, data: WAFV2.Types.UpdateWebACLResponse) => void): Request<WAFV2.Types.UpdateWebACLResponse, AWSError>;
398
398
  }
399
399
  declare namespace WAFV2 {
400
+ export interface AWSManagedRulesATPRuleSet {
401
+ /**
402
+ * The path of the login endpoint for your application. For example, for the URL https://example.com/web/login, you would provide the path /web/login. The rule group inspects only HTTP POST requests to your specified login endpoint.
403
+ */
404
+ LoginPath: String;
405
+ /**
406
+ * The criteria for inspecting login requests, used by the ATP rule group to validate credentials usage.
407
+ */
408
+ RequestInspection?: RequestInspection;
409
+ /**
410
+ * The criteria for inspecting responses to login requests, used by the ATP rule group to track login failure rates. The ATP rule group evaluates the responses that your protected resources send back to client login attempts, keeping count of successful and failed attempts from each IP address and client session. Using this information, the rule group labels and mitigates requests from client sessions and IP addresses that submit too many failed login attempts in a short amount of time. Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.
411
+ */
412
+ ResponseInspection?: ResponseInspection;
413
+ }
400
414
  export interface AWSManagedRulesBotControlRuleSet {
401
415
  /**
402
416
  * The inspection level to use for the Bot Control rule group. The common level is the least expensive. The targeted level includes all common level rules and adds rules with more advanced inspection criteria. For details, see WAF Bot Control rule group.
@@ -455,7 +469,7 @@ declare namespace WAFV2 {
455
469
  export type Boolean = boolean;
456
470
  export interface ByteMatchStatement {
457
471
  /**
458
- * A string value that you want WAF to search for. WAF searches only in the part of web requests that you designate for inspection in FieldToMatch. The maximum length of the value is 50 bytes. Valid values depend on the component that you specify for inspection in FieldToMatch: Method: The HTTP method that you want WAF to search for. This indicates the type of operation specified in the request. UriPath: The value that you want WAF to search for in the URI path, for example, /images/daily-ad.jpg. If SearchString includes alphabetic characters A-Z and a-z, note that the value is case sensitive. If you're using the WAF API Specify a base64-encoded version of the value. The maximum length of the value before you base64-encode it is 50 bytes. For example, suppose the value of Type is HEADER and the value of Data is User-Agent. If you want to search the User-Agent header for the value BadBot, you base64-encode BadBot using MIME base64-encoding and include the resulting value, QmFkQm90, in the value of SearchString. If you're using the CLI or one of the Amazon Web Services SDKs The value that you want WAF to search for. The SDK automatically base64 encodes the value.
472
+ * A string value that you want WAF to search for. WAF searches only in the part of web requests that you designate for inspection in FieldToMatch. The maximum length of the value is 200 bytes. Valid values depend on the component that you specify for inspection in FieldToMatch: Method: The HTTP method that you want WAF to search for. This indicates the type of operation specified in the request. UriPath: The value that you want WAF to search for in the URI path, for example, /images/daily-ad.jpg. If SearchString includes alphabetic characters A-Z and a-z, note that the value is case sensitive. If you're using the WAF API Specify a base64-encoded version of the value. The maximum length of the value before you base64-encode it is 200 bytes. For example, suppose the value of Type is HEADER and the value of Data is User-Agent. If you want to search the User-Agent header for the value BadBot, you base64-encode BadBot using MIME base64-encoding and include the resulting value, QmFkQm90, in the value of SearchString. If you're using the CLI or one of the Amazon Web Services SDKs The value that you want WAF to search for. The SDK automatically base64 encodes the value.
459
473
  */
460
474
  SearchString: SearchString;
461
475
  /**
@@ -976,7 +990,9 @@ declare namespace WAFV2 {
976
990
  Name: EntityName;
977
991
  }
978
992
  export type ExcludedRules = ExcludedRule[];
993
+ export type FailureCode = number;
979
994
  export type FailureReason = "TOKEN_MISSING"|"TOKEN_EXPIRED"|"TOKEN_INVALID"|"TOKEN_DOMAIN_MISMATCH"|string;
995
+ export type FailureValue = string;
980
996
  export type FallbackBehavior = "MATCH"|"NO_MATCH"|string;
981
997
  export type FieldIdentifier = string;
982
998
  export interface FieldToMatch {
@@ -1883,25 +1899,29 @@ declare namespace WAFV2 {
1883
1899
  export type LoginPathString = string;
1884
1900
  export interface ManagedRuleGroupConfig {
1885
1901
  /**
1886
- * The path of the login endpoint for your application. For example, for the URL https://example.com/web/login, you would provide the path /web/login.
1902
+ * Instead of this setting, provide your configuration under AWSManagedRulesATPRuleSet.
1887
1903
  */
1888
1904
  LoginPath?: LoginPathString;
1889
1905
  /**
1890
- * The payload type for your login endpoint, either JSON or form encoded.
1906
+ * Instead of this setting, provide your configuration under AWSManagedRulesATPRuleSet RequestInspection.
1891
1907
  */
1892
1908
  PayloadType?: PayloadType;
1893
1909
  /**
1894
- * Details about your login page username field.
1910
+ * Instead of this setting, provide your configuration under AWSManagedRulesATPRuleSet RequestInspection.
1895
1911
  */
1896
1912
  UsernameField?: UsernameField;
1897
1913
  /**
1898
- * Details about your login page password field.
1914
+ * Instead of this setting, provide your configuration under AWSManagedRulesATPRuleSet RequestInspection.
1899
1915
  */
1900
1916
  PasswordField?: PasswordField;
1901
1917
  /**
1902
1918
  * Additional configuration for using the Bot Control managed rule group. Use this to specify the inspection level that you want to use. For information about using the Bot Control managed rule group, see WAF Bot Control rule group and WAF Bot Control in the WAF Developer Guide.
1903
1919
  */
1904
1920
  AWSManagedRulesBotControlRuleSet?: AWSManagedRulesBotControlRuleSet;
1921
+ /**
1922
+ * Additional configuration for using the account takeover prevention (ATP) managed rule group, AWSManagedRulesATPRuleSet. Use this to provide login request information to the rule group. For web ACLs that protect CloudFront distributions, use this to also provide the information about how your distribution responds to login requests. This configuration replaces the individual configuration fields in ManagedRuleGroupConfig and provides additional feature configuration. For information about using the ATP managed rule group, see WAF Fraud Control account takeover prevention (ATP) rule group and WAF Fraud Control account takeover prevention (ATP) in the WAF Developer Guide.
1923
+ */
1924
+ AWSManagedRulesATPRuleSet?: AWSManagedRulesATPRuleSet;
1905
1925
  }
1906
1926
  export type ManagedRuleGroupConfigs = ManagedRuleGroupConfig[];
1907
1927
  export interface ManagedRuleGroupStatement {
@@ -1926,7 +1946,7 @@ declare namespace WAFV2 {
1926
1946
  */
1927
1947
  ScopeDownStatement?: Statement;
1928
1948
  /**
1929
- * Additional information that's used by a managed rule group. Many managed rule groups don't require this. Use the AWSManagedRulesBotControlRuleSet configuration object to configure the protection level that you want the Bot Control rule group to use.
1949
+ * Additional information that's used by a managed rule group. Many managed rule groups don't require this. Use the AWSManagedRulesATPRuleSet configuration object for the account takeover prevention managed rule group, to provide information such as the sign-in page of your application and the type of content to accept or reject from the client. Use the AWSManagedRulesBotControlRuleSet configuration object to configure the protection level that you want the Bot Control rule group to use.
1930
1950
  */
1931
1951
  ManagedRuleGroupConfigs?: ManagedRuleGroupConfigs;
1932
1952
  /**
@@ -2291,12 +2311,101 @@ declare namespace WAFV2 {
2291
2311
  */
2292
2312
  Timestamp?: Timestamp;
2293
2313
  }
2314
+ export interface RequestInspection {
2315
+ /**
2316
+ * The payload type for your login endpoint, either JSON or form encoded.
2317
+ */
2318
+ PayloadType: PayloadType;
2319
+ /**
2320
+ * Details about your login page username field. How you specify this depends on the payload type. For JSON payloads, specify the field name in JSON pointer syntax. For information about the JSON Pointer syntax, see the Internet Engineering Task Force (IETF) documentation JavaScript Object Notation (JSON) Pointer. For example, for the JSON payload { "login": { "username": "THE_USERNAME", "password": "THE_PASSWORD" } }, the username field specification is /login/username and the password field specification is /login/password. For form encoded payload types, use the HTML form names. For example, for an HTML form with input elements named username1 and password1, the username field specification is username1 and the password field specification is password1.
2321
+ */
2322
+ UsernameField: UsernameField;
2323
+ /**
2324
+ * Details about your login page password field. How you specify this depends on the payload type. For JSON payloads, specify the field name in JSON pointer syntax. For information about the JSON Pointer syntax, see the Internet Engineering Task Force (IETF) documentation JavaScript Object Notation (JSON) Pointer. For example, for the JSON payload { "login": { "username": "THE_USERNAME", "password": "THE_PASSWORD" } }, the username field specification is /login/username and the password field specification is /login/password. For form encoded payload types, use the HTML form names. For example, for an HTML form with input elements named username1 and password1, the username field specification is username1 and the password field specification is password1.
2325
+ */
2326
+ PasswordField: PasswordField;
2327
+ }
2294
2328
  export type ResourceArn = string;
2295
2329
  export type ResourceArns = ResourceArn[];
2296
2330
  export type ResourceType = "APPLICATION_LOAD_BALANCER"|"API_GATEWAY"|"APPSYNC"|"COGNITO_USER_POOL"|string;
2297
2331
  export type ResponseCode = number;
2298
2332
  export type ResponseContent = string;
2299
2333
  export type ResponseContentType = "TEXT_PLAIN"|"TEXT_HTML"|"APPLICATION_JSON"|string;
2334
+ export interface ResponseInspection {
2335
+ /**
2336
+ * Configures inspection of the response status code.
2337
+ */
2338
+ StatusCode?: ResponseInspectionStatusCode;
2339
+ /**
2340
+ * Configures inspection of the response header.
2341
+ */
2342
+ Header?: ResponseInspectionHeader;
2343
+ /**
2344
+ * Configures inspection of the response body.
2345
+ */
2346
+ BodyContains?: ResponseInspectionBodyContains;
2347
+ /**
2348
+ * Configures inspection of the response JSON.
2349
+ */
2350
+ Json?: ResponseInspectionJson;
2351
+ }
2352
+ export interface ResponseInspectionBodyContains {
2353
+ /**
2354
+ * Strings in the body of the response that indicate a successful login attempt. To be counted as a successful login, the string can be anywhere in the body and must be an exact match, including case. Each string must be unique among the success and failure strings. JSON example: "SuccessStrings": [ "Login successful", "Welcome to our site!" ]
2355
+ */
2356
+ SuccessStrings: ResponseInspectionBodyContainsSuccessStrings;
2357
+ /**
2358
+ * Strings in the body of the response that indicate a failed login attempt. To be counted as a failed login, the string can be anywhere in the body and must be an exact match, including case. Each string must be unique among the success and failure strings. JSON example: "FailureStrings": [ "Login failed" ]
2359
+ */
2360
+ FailureStrings: ResponseInspectionBodyContainsFailureStrings;
2361
+ }
2362
+ export type ResponseInspectionBodyContainsFailureStrings = FailureValue[];
2363
+ export type ResponseInspectionBodyContainsSuccessStrings = SuccessValue[];
2364
+ export interface ResponseInspectionHeader {
2365
+ /**
2366
+ * The name of the header to match against. The name must be an exact match, including case. JSON example: "Name": [ "LoginResult" ]
2367
+ */
2368
+ Name: ResponseInspectionHeaderName;
2369
+ /**
2370
+ * Values in the response header with the specified name that indicate a successful login attempt. To be counted as a successful login, the value must be an exact match, including case. Each value must be unique among the success and failure values. JSON example: "SuccessValues": [ "LoginPassed", "Successful login" ]
2371
+ */
2372
+ SuccessValues: ResponseInspectionHeaderSuccessValues;
2373
+ /**
2374
+ * Values in the response header with the specified name that indicate a failed login attempt. To be counted as a failed login, the value must be an exact match, including case. Each value must be unique among the success and failure values. JSON example: "FailureValues": [ "LoginFailed", "Failed login" ]
2375
+ */
2376
+ FailureValues: ResponseInspectionHeaderFailureValues;
2377
+ }
2378
+ export type ResponseInspectionHeaderFailureValues = FailureValue[];
2379
+ export type ResponseInspectionHeaderName = string;
2380
+ export type ResponseInspectionHeaderSuccessValues = SuccessValue[];
2381
+ export interface ResponseInspectionJson {
2382
+ /**
2383
+ * The identifier for the value to match against in the JSON. The identifier must be an exact match, including case. JSON example: "Identifier": [ "/login/success" ]
2384
+ */
2385
+ Identifier: FieldIdentifier;
2386
+ /**
2387
+ * Values for the specified identifier in the response JSON that indicate a successful login attempt. To be counted as a successful login, the value must be an exact match, including case. Each value must be unique among the success and failure values. JSON example: "SuccessValues": [ "True", "Succeeded" ]
2388
+ */
2389
+ SuccessValues: ResponseInspectionJsonSuccessValues;
2390
+ /**
2391
+ * Values for the specified identifier in the response JSON that indicate a failed login attempt. To be counted as a failed login, the value must be an exact match, including case. Each value must be unique among the success and failure values. JSON example: "FailureValues": [ "False", "Failed" ]
2392
+ */
2393
+ FailureValues: ResponseInspectionJsonFailureValues;
2394
+ }
2395
+ export type ResponseInspectionJsonFailureValues = FailureValue[];
2396
+ export type ResponseInspectionJsonSuccessValues = SuccessValue[];
2397
+ export interface ResponseInspectionStatusCode {
2398
+ /**
2399
+ * Status codes in the response that indicate a successful login attempt. To be counted as a successful login, the response status code must match one of these. Each code must be unique among the success and failure status codes. JSON example: "SuccessCodes": [ 200, 201 ]
2400
+ */
2401
+ SuccessCodes: ResponseInspectionStatusCodeSuccessCodes;
2402
+ /**
2403
+ * Status codes in the response that indicate a failed login attempt. To be counted as a failed login, the response status code must match one of these. Each code must be unique among the success and failure status codes. JSON example: "FailureCodes": [ 400, 404 ]
2404
+ */
2405
+ FailureCodes: ResponseInspectionStatusCodeFailureCodes;
2406
+ }
2407
+ export type ResponseInspectionStatusCodeFailureCodes = FailureCode[];
2408
+ export type ResponseInspectionStatusCodeSuccessCodes = SuccessCode[];
2300
2409
  export type ResponseStatusCode = number;
2301
2410
  export interface Rule {
2302
2411
  /**
@@ -2597,7 +2706,7 @@ declare namespace WAFV2 {
2597
2706
  */
2598
2707
  RegexPatternSetReferenceStatement?: RegexPatternSetReferenceStatement;
2599
2708
  /**
2600
- * A rate-based rule tracks the rate of requests for each originating IP address, and triggers the rule action when the rate exceeds a limit that you specify on the number of requests in any 5-minute time span. You can use this to put a temporary block on requests from an IP address that is sending excessive requests. WAF tracks and manages web requests separately for each instance of a rate-based rule that you use. For example, if you provide the same rate-based rule settings in two web ACLs, each of the two rule statements represents a separate instance of the rate-based rule and gets its own tracking and management by WAF. If you define a rate-based rule inside a rule group, and then use that rule group in multiple places, each use creates a separate instance of the rate-based rule that gets its own tracking and management by WAF. When the rule action triggers, WAF blocks additional requests from the IP address until the request rate falls below the limit. You can optionally nest another statement inside the rate-based statement, to narrow the scope of the rule so that it only counts requests that match the nested statement. For example, based on recent requests that you have seen from an attacker, you might create a rate-based rule with a nested AND rule statement that contains the following nested statements: An IP match statement with an IP set that specified the address 192.0.2.44. A string match statement that searches in the User-Agent header for the string BadBot. In this rate-based rule, you also define a rate limit. For this example, the rate limit is 1,000. Requests that meet the criteria of both of the nested statements are counted. If the count exceeds 1,000 requests per five minutes, the rule action triggers. Requests that do not meet the criteria of both of the nested statements are not counted towards the rate limit and are not affected by this rule. You cannot nest a RateBasedStatement inside another statement, for example inside a NotStatement or OrStatement. You can define a RateBasedStatement inside a web ACL and inside a rule group.
2709
+ * A rate-based rule tracks the rate of requests for each originating IP address, and triggers the rule action when the rate exceeds a limit that you specify on the number of requests in any 5-minute time span. You can use this to put a temporary block on requests from an IP address that is sending excessive requests. WAF tracks and manages web requests separately for each instance of a rate-based rule that you use. For example, if you provide the same rate-based rule settings in two web ACLs, each of the two rule statements represents a separate instance of the rate-based rule and gets its own tracking and management by WAF. If you define a rate-based rule inside a rule group, and then use that rule group in multiple places, each use creates a separate instance of the rate-based rule that gets its own tracking and management by WAF. When the rule action triggers, WAF blocks additional requests from the IP address until the request rate falls below the limit. You can optionally nest another statement inside the rate-based statement, to narrow the scope of the rule so that it only counts requests that match the nested statement. For example, based on recent requests that you have seen from an attacker, you might create a rate-based rule with a nested AND rule statement that contains the following nested statements: An IP match statement with an IP set that specifies the address 192.0.2.44. A string match statement that searches in the User-Agent header for the string BadBot. In this rate-based rule, you also define a rate limit. For this example, the rate limit is 1,000. Requests that meet the criteria of both of the nested statements are counted. If the count exceeds 1,000 requests per five minutes, the rule action triggers. Requests that do not meet the criteria of both of the nested statements are not counted towards the rate limit and are not affected by this rule. You cannot nest a RateBasedStatement inside another statement, for example inside a NotStatement or OrStatement. You can define a RateBasedStatement inside a web ACL and inside a rule group.
2601
2710
  */
2602
2711
  RateBasedStatement?: RateBasedStatement;
2603
2712
  /**
@@ -2626,6 +2735,9 @@ declare namespace WAFV2 {
2626
2735
  RegexMatchStatement?: RegexMatchStatement;
2627
2736
  }
2628
2737
  export type Statements = Statement[];
2738
+ export type String = string;
2739
+ export type SuccessCode = number;
2740
+ export type SuccessValue = string;
2629
2741
  export interface Tag {
2630
2742
  /**
2631
2743
  * Part of the key:value pair that defines a tag. You can use a tag key to describe a category of information, such as "customer." Tag keys are case-sensitive.
@@ -83,7 +83,7 @@ return /******/ (function(modules) { // webpackBootstrap
83
83
  /**
84
84
  * @constant
85
85
  */
86
- VERSION: '2.1314.0',
86
+ VERSION: '2.1316.0',
87
87
 
88
88
  /**
89
89
  * @api private