cdk-common 2.0.229 → 2.0.232

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/.jsii CHANGED
@@ -7,7 +7,7 @@
7
7
  ]
8
8
  },
9
9
  "bundled": {
10
- "@aws-cdk/assert": "^2.36.0",
10
+ "@aws-cdk/assert": "^2.37.1",
11
11
  "case": "^1.6.3",
12
12
  "sync-request": "^6.1.0"
13
13
  },
@@ -8833,6 +8833,6 @@
8833
8833
  "symbolId": "src/main:LambdaArmFunctionProps"
8834
8834
  }
8835
8835
  },
8836
- "version": "2.0.229",
8837
- "fingerprint": "dtUIvAqPHxeFWyypy6A3nDCgCcZ6e6OxN1j7BcxKLXo="
8836
+ "version": "2.0.232",
8837
+ "fingerprint": "qCevhkRl56saEb+xObJ/XQvyNKlIOt2bZDsWYcZVQ9Q="
8838
8838
  }
package/lib/main.js CHANGED
@@ -41,5 +41,5 @@ class LambdaArmFunction extends constructs_1.Construct {
41
41
  }
42
42
  exports.LambdaArmFunction = LambdaArmFunction;
43
43
  _a = JSII_RTTI_SYMBOL_1;
44
- LambdaArmFunction[_a] = { fqn: "cdk-common.LambdaArmFunction", version: "2.0.229" };
44
+ LambdaArmFunction[_a] = { fqn: "cdk-common.LambdaArmFunction", version: "2.0.232" };
45
45
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbUNBQW1DO0FBQ25DLGlEQUFpRDtBQUNqRCwyQ0FBdUM7QUFLdkMsTUFBYSxpQkFBa0IsU0FBUSxzQkFBUztJQUU5QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTRCO1FBQ3BFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFO1lBQ2hELEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO1NBQzFFO2FBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFO1lBQ3ZELEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO1NBQzFFO2FBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFO1lBQ3RELEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO1NBQ3hFO2FBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFO1lBQ3RELEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO1NBQ3hFO2FBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLE1BQU0sQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFO1lBQzNELEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1NBQzNFO2FBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFO1lBQ25ELEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1NBQ3JFO2FBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLE1BQU0sQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFO1lBQzNELEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO1NBQzdFO2FBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQ3BELEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1NBQ3RFO2FBQU07WUFDTCxNQUFNLElBQUksS0FBSyxDQUFDLG1CQUFtQixLQUFLLENBQUMsT0FBTyx1R0FBdUcsQ0FBQyxDQUFDO1NBQzFKO1FBRUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFLEVBQUUsWUFBWSxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUM1SCxDQUFDOztBQTFCSCw4Q0EyQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5leHBvcnQgaW50ZXJmYWNlIExhbWJkYUFybUZ1bmN0aW9uUHJvcHMgZXh0ZW5kcyBsYW1iZGEuRnVuY3Rpb25Qcm9wcyB7XG5cbn1cblxuZXhwb3J0IGNsYXNzIExhbWJkYUFybUZ1bmN0aW9uIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcHVibGljIHJlYWRvbmx5IGxhbWJkYUZ1bmN0aW9uOiBsYW1iZGEuRnVuY3Rpb247XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOkxhbWJkYUFybUZ1bmN0aW9uUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgaWYgKHByb3BzLnJ1bnRpbWUgPT09IGxhbWJkYS5SdW50aW1lLk5PREVKU18xMl9YKSB7XG4gICAgICBjZGsuQW5ub3RhdGlvbnMub2YodGhpcykuYWRkV2FybmluZygnWW91IGFyZSB1c2luZyBOb2RlLmpzIDEyLnggYXQgQVJNJyk7XG4gICAgfSBlbHNlIGlmIChwcm9wcy5ydW50aW1lID09PSBsYW1iZGEuUnVudGltZS5OT0RFSlNfMTRfWCkge1xuICAgICAgY2RrLkFubm90YXRpb25zLm9mKHRoaXMpLmFkZFdhcm5pbmcoJ1lvdSBhcmUgdXNpbmcgTm9kZS5qcyAxNC54IGF0IEFSTScpO1xuICAgIH0gZWxzZSBpZiAocHJvcHMucnVudGltZSA9PT0gbGFtYmRhLlJ1bnRpbWUuUFlUSE9OXzNfOCkge1xuICAgICAgY2RrLkFubm90YXRpb25zLm9mKHRoaXMpLmFkZFdhcm5pbmcoJ1lvdSBhcmUgdXNpbmcgUHl0aG9uIDMuOCBhdCBBUk0nKTtcbiAgICB9IGVsc2UgaWYgKHByb3BzLnJ1bnRpbWUgPT09IGxhbWJkYS5SdW50aW1lLlBZVEhPTl8zXzkpIHtcbiAgICAgIGNkay5Bbm5vdGF0aW9ucy5vZih0aGlzKS5hZGRXYXJuaW5nKCdZb3UgYXJlIHVzaW5nIFB5dGhvbiAzLjkgYXQgQVJNJyk7XG4gICAgfSBlbHNlIGlmIChwcm9wcy5ydW50aW1lID09PSBsYW1iZGEuUnVudGltZS5KQVZBXzhfQ09SUkVUVE8pIHtcbiAgICAgIGNkay5Bbm5vdGF0aW9ucy5vZih0aGlzKS5hZGRXYXJuaW5nKCdZb3UgYXJlIHVzaW5nIEphdmEgOCBvbiBhbDIgYXQgQVJNJyk7XG4gICAgfSBlbHNlIGlmIChwcm9wcy5ydW50aW1lID09PSBsYW1iZGEuUnVudGltZS5KQVZBXzExKSB7XG4gICAgICBjZGsuQW5ub3RhdGlvbnMub2YodGhpcykuYWRkV2FybmluZygnWW91IGFyZSB1c2luZyBKYXZhIDExIGF0IEFSTScpO1xuICAgIH0gZWxzZSBpZiAocHJvcHMucnVudGltZSA9PT0gbGFtYmRhLlJ1bnRpbWUuRE9UTkVUX0NPUkVfM18xKSB7XG4gICAgICBjZGsuQW5ub3RhdGlvbnMub2YodGhpcykuYWRkV2FybmluZygnWW91IGFyZSB1c2luZyBET1RORVQgQ09SRSAzLjEgYXQgQVJNJyk7XG4gICAgfSBlbHNlIGlmIChwcm9wcy5ydW50aW1lID09PSBsYW1iZGEuUnVudGltZS5SVUJZXzJfNykge1xuICAgICAgY2RrLkFubm90YXRpb25zLm9mKHRoaXMpLmFkZFdhcm5pbmcoJ1lvdSBhcmUgdXNpbmcgUlVCWSAyLjcgYXQgQVJNJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBSdW50aW1lICR7cHJvcHMucnVudGltZX0gYXQgQVJNLCBTZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2xhbWJkYS9sYXRlc3QvZGcvZm91bmRhdGlvbi1hcmNoLmh0bWw/aWNtcGlkPWRvY3NfbGFtYmRhX3Jzc2ApO1xuICAgIH1cblxuICAgIHRoaXMubGFtYmRhRnVuY3Rpb24gPSBuZXcgbGFtYmRhLkZ1bmN0aW9uKHRoaXMsICdMYW1iZGFGdW5jdGlvbicsIHsgYXJjaGl0ZWN0dXJlOiBsYW1iZGEuQXJjaGl0ZWN0dXJlLkFSTV82NCwgLi4ucHJvcHMgfSk7XG4gIH1cbn0iXX0=
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-cdk/assert",
3
- "version": "2.36.0",
3
+ "version": "2.37.1",
4
4
  "description": "An assertion library for use with CDK Apps",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -34,21 +34,21 @@
34
34
  },
35
35
  "license": "Apache-2.0",
36
36
  "devDependencies": {
37
- "@aws-cdk/assert-internal": "2.36.0",
38
- "@aws-cdk/cdk-build-tools": "2.36.0",
39
- "@aws-cdk/pkglint": "2.36.0",
37
+ "@aws-cdk/assert-internal": "2.37.1",
38
+ "@aws-cdk/cdk-build-tools": "2.37.1",
39
+ "@aws-cdk/pkglint": "2.37.1",
40
40
  "@types/jest": "^27.5.2",
41
- "aws-cdk-lib": "2.36.0",
42
- "aws-cdk-migration": "2.36.0",
41
+ "aws-cdk-lib": "2.37.1",
42
+ "aws-cdk-migration": "2.37.1",
43
43
  "constructs": "^10.0.0",
44
44
  "jest": "^27.3.1",
45
45
  "ts-jest": "^27.1.5"
46
46
  },
47
47
  "dependencies": {
48
- "@aws-cdk/cloudformation-diff": "2.36.0"
48
+ "@aws-cdk/cloudformation-diff": "2.37.1"
49
49
  },
50
50
  "peerDependencies": {
51
- "aws-cdk-lib": "^2.36.0",
51
+ "aws-cdk-lib": "^2.37.1",
52
52
  "constructs": "^10.0.0",
53
53
  "jest": ">=26.6.3"
54
54
  },
@@ -1,3 +1,118 @@
1
+ # CloudFormation Resource Specification v83.0.0
2
+
3
+ ## New Resource Types
4
+
5
+ * AWS::Synthetics::Group
6
+
7
+ ## Attribute Changes
8
+
9
+
10
+ ## Property Changes
11
+
12
+
13
+ ## Property Type Changes
14
+
15
+
16
+ ## Unapplied changes
17
+
18
+ * AWS::ConnectCampaigns is at 0.0.0
19
+ * AWS::Rekognition is at 68.0.0
20
+ * AWS::RolesAnywhere is at 0.0.0
21
+ * AWS::SageMaker is at 72.0.0
22
+
23
+ # CloudFormation Resource Specification v82.0.0
24
+
25
+ ## New Resource Types
26
+
27
+
28
+ ## Attribute Changes
29
+
30
+ * AWS::ElasticBeanstalk::Application Documentation (__changed__)
31
+ * Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk.html
32
+ * New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-application.html
33
+ * AWS::RDS::OptionGroup OptionGroupName (__added__)
34
+
35
+ ## Property Changes
36
+
37
+ * AWS::DocDB::DBCluster RestoreToTime (__added__)
38
+ * AWS::DocDB::DBCluster RestoreType (__added__)
39
+ * AWS::DocDB::DBCluster SourceDBClusterIdentifier (__added__)
40
+ * AWS::DocDB::DBCluster UseLatestRestorableTime (__added__)
41
+ * AWS::ElasticBeanstalk::Application ApplicationName.Documentation (__changed__)
42
+ * Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk.html#cfn-elasticbeanstalk-application-name
43
+ * New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-application.html#cfn-elasticbeanstalk-application-applicationname
44
+ * AWS::ElasticBeanstalk::Application Description.Documentation (__changed__)
45
+ * Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk.html#cfn-elasticbeanstalk-application-description
46
+ * New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-application.html#cfn-elasticbeanstalk-application-description
47
+ * AWS::ElasticBeanstalk::Application ResourceLifecycleConfig.Documentation (__changed__)
48
+ * Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk.html#cfn-elasticbeanstalk-application-resourcelifecycleconfig
49
+ * New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-application.html#cfn-elasticbeanstalk-application-resourcelifecycleconfig
50
+ * AWS::IoT::CACertificate RegistrationConfig.PrimitiveType (__deleted__)
51
+ * AWS::IoT::CACertificate RegistrationConfig.Type (__added__)
52
+ * AWS::IoT::ProvisioningTemplate TemplateType (__added__)
53
+ * AWS::RDS::OptionGroup OptionConfigurations.DuplicatesAllowed (__deleted__)
54
+ * AWS::RDS::OptionGroup OptionConfigurations.Required (__changed__)
55
+ * Old: true
56
+ * New: false
57
+ * AWS::RDS::OptionGroup OptionConfigurations.UpdateType (__changed__)
58
+ * Old: Immutable
59
+ * New: Mutable
60
+ * AWS::RDS::OptionGroup Tags.DuplicatesAllowed (__deleted__)
61
+
62
+ ## Property Type Changes
63
+
64
+ * AWS::GuardDuty::Detector.CFNMalwareProtectionConfiguration (__added__)
65
+ * AWS::GuardDuty::Detector.CFNScanEc2InstanceWithFindingsConfiguration (__added__)
66
+ * AWS::IoT::CACertificate.RegistrationConfig (__added__)
67
+ * AWS::DLM::LifecyclePolicy.Parameters ExcludeDataVolumeTags (__added__)
68
+ * AWS::GuardDuty::Detector.CFNDataSourceConfigurations MalwareProtection (__added__)
69
+ * AWS::Lex::Bot.PromptSpecification MessageSelectionStrategy (__added__)
70
+ * AWS::MediaPackage::OriginEndpoint.DashPackage IncludeIframeOnlyStream (__added__)
71
+ * AWS::NimbleStudio::LaunchProfile.StreamConfigurationSessionStorage Mode.Required (__changed__)
72
+ * Old: false
73
+ * New: true
74
+ * AWS::RDS::OptionGroup.OptionConfiguration DBSecurityGroupMemberships.Documentation (__changed__)
75
+ * Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfigurations.html#cfn-rds-optiongroup-optionconfigurations-dbsecuritygroupmemberships
76
+ * New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfiguration.html#cfn-rds-optiongroup-optionconfiguration-dbsecuritygroupmemberships
77
+ * AWS::RDS::OptionGroup.OptionConfiguration DBSecurityGroupMemberships.DuplicatesAllowed (__changed__)
78
+ * Old: true
79
+ * New: false
80
+ * AWS::RDS::OptionGroup.OptionConfiguration OptionName.Documentation (__changed__)
81
+ * Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfigurations.html#cfn-rds-optiongroup-optionconfigurations-optionname
82
+ * New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfiguration.html#cfn-rds-optiongroup-optionconfiguration-optionname
83
+ * AWS::RDS::OptionGroup.OptionConfiguration OptionSettings.DuplicatesAllowed (__deleted__)
84
+ * AWS::RDS::OptionGroup.OptionConfiguration OptionSettings.Documentation (__changed__)
85
+ * Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfigurations.html#cfn-rds-optiongroup-optionconfigurations-optionsettings
86
+ * New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfiguration.html#cfn-rds-optiongroup-optionconfiguration-optionsettings
87
+ * AWS::RDS::OptionGroup.OptionConfiguration OptionVersion.Documentation (__changed__)
88
+ * Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfigurations.html#cfn-rds-optiongroup-optionconfiguration-optionversion
89
+ * New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfiguration.html#cfn-rds-optiongroup-optionconfiguration-optionversion
90
+ * AWS::RDS::OptionGroup.OptionConfiguration Port.Documentation (__changed__)
91
+ * Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfigurations.html#cfn-rds-optiongroup-optionconfigurations-port
92
+ * New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfiguration.html#cfn-rds-optiongroup-optionconfiguration-port
93
+ * AWS::RDS::OptionGroup.OptionConfiguration VpcSecurityGroupMemberships.Documentation (__changed__)
94
+ * Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfigurations.html#cfn-rds-optiongroup-optionconfigurations-vpcsecuritygroupmemberships
95
+ * New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfiguration.html#cfn-rds-optiongroup-optionconfiguration-vpcsecuritygroupmemberships
96
+ * AWS::RDS::OptionGroup.OptionConfiguration VpcSecurityGroupMemberships.DuplicatesAllowed (__changed__)
97
+ * Old: true
98
+ * New: false
99
+ * AWS::RDS::OptionGroup.OptionSetting Name.Documentation (__changed__)
100
+ * Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfigurations-optionsettings.html#cfn-rds-optiongroup-optionconfigurations-optionsettings-name
101
+ * New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionsetting.html#cfn-rds-optiongroup-optionsetting-name
102
+ * AWS::RDS::OptionGroup.OptionSetting Value.Documentation (__changed__)
103
+ * Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfigurations-optionsettings.html#cfn-rds-optiongroup-optionconfigurations-optionsettings-value
104
+ * New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionsetting.html#cfn-rds-optiongroup-optionsetting-value
105
+ * AWS::WAFv2::RuleGroup.SqliMatchStatement SensitivityLevel (__added__)
106
+ * AWS::WAFv2::WebACL.SqliMatchStatement SensitivityLevel (__added__)
107
+
108
+ ## Unapplied changes
109
+
110
+ * AWS::ConnectCampaigns is at 0.0.0
111
+ * AWS::DynamoDB is at 81.1.0
112
+ * AWS::Rekognition is at 68.0.0
113
+ * AWS::RolesAnywhere is at 0.0.0
114
+ * AWS::SageMaker is at 72.0.0
115
+
1
116
  # CloudFormation Resource Specification v81.1.0
2
117
 
3
118
  ## New Resource Types
@@ -1 +1 @@
1
- 81.1.0
1
+ 83.0.0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-cdk/cfnspec",
3
3
  "description": "The CloudFormation resource specification used by @aws-cdk packages",
4
- "version": "2.36.0",
4
+ "version": "2.37.1",
5
5
  "scripts": {
6
6
  "update": "cdk-build && /bin/bash build-tools/update.sh && /bin/bash build-tools/update-cfnlint.sh",
7
7
  "update-metrics": "/bin/bash build-tools/update-metrics.sh",
@@ -30,8 +30,8 @@
30
30
  "main": "lib/index.js",
31
31
  "types": "lib/index.d.ts",
32
32
  "devDependencies": {
33
- "@aws-cdk/cdk-build-tools": "2.36.0",
34
- "@aws-cdk/pkglint": "2.36.0",
33
+ "@aws-cdk/cdk-build-tools": "2.37.1",
34
+ "@aws-cdk/pkglint": "2.37.1",
35
35
  "@types/fs-extra": "^8.1.2",
36
36
  "@types/jest": "^27.5.2",
37
37
  "@types/md5": "^2.3.2",
@@ -1,5 +1,5 @@
1
1
  {
2
- "Fingerprint": "4379cd1843aa4dc2b8f4966eb57d5891",
2
+ "Fingerprint": "19c31445ca2afaa5cb10bd7ca0b52f31",
3
3
  "PropertyTypes": {
4
4
  "AWS::ACMPCA::Certificate.ApiPassthrough": {
5
5
  "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-apipassthrough.html",
@@ -19019,6 +19019,13 @@
19019
19019
  "Required": false,
19020
19020
  "UpdateType": "Mutable"
19021
19021
  },
19022
+ "ExcludeDataVolumeTags": {
19023
+ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-parameters.html#cfn-dlm-lifecyclepolicy-parameters-excludedatavolumetags",
19024
+ "ItemType": "Tag",
19025
+ "Required": false,
19026
+ "Type": "List",
19027
+ "UpdateType": "Mutable"
19028
+ },
19022
19029
  "NoReboot": {
19023
19030
  "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-parameters.html#cfn-dlm-lifecyclepolicy-parameters-noreboot",
19024
19031
  "PrimitiveType": "Boolean",
@@ -39572,6 +39579,12 @@
39572
39579
  "Type": "CFNKubernetesConfiguration",
39573
39580
  "UpdateType": "Mutable"
39574
39581
  },
39582
+ "MalwareProtection": {
39583
+ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-detector-cfndatasourceconfigurations.html#cfn-guardduty-detector-cfndatasourceconfigurations-malwareprotection",
39584
+ "Required": false,
39585
+ "Type": "CFNMalwareProtectionConfiguration",
39586
+ "UpdateType": "Mutable"
39587
+ },
39575
39588
  "S3Logs": {
39576
39589
  "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-detector-cfndatasourceconfigurations.html#cfn-guardduty-detector-cfndatasourceconfigurations-s3logs",
39577
39590
  "Required": false,
@@ -39602,6 +39615,17 @@
39602
39615
  }
39603
39616
  }
39604
39617
  },
39618
+ "AWS::GuardDuty::Detector.CFNMalwareProtectionConfiguration": {
39619
+ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-detector-cfnmalwareprotectionconfiguration.html",
39620
+ "Properties": {
39621
+ "ScanEc2InstanceWithFindings": {
39622
+ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-detector-cfnmalwareprotectionconfiguration.html#cfn-guardduty-detector-cfnmalwareprotectionconfiguration-scanec2instancewithfindings",
39623
+ "Required": false,
39624
+ "Type": "CFNScanEc2InstanceWithFindingsConfiguration",
39625
+ "UpdateType": "Mutable"
39626
+ }
39627
+ }
39628
+ },
39605
39629
  "AWS::GuardDuty::Detector.CFNS3LogsConfiguration": {
39606
39630
  "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-detector-cfns3logsconfiguration.html",
39607
39631
  "Properties": {
@@ -39613,6 +39637,17 @@
39613
39637
  }
39614
39638
  }
39615
39639
  },
39640
+ "AWS::GuardDuty::Detector.CFNScanEc2InstanceWithFindingsConfiguration": {
39641
+ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-detector-cfnscanec2instancewithfindingsconfiguration.html",
39642
+ "Properties": {
39643
+ "EbsVolumes": {
39644
+ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-detector-cfnscanec2instancewithfindingsconfiguration.html#cfn-guardduty-detector-cfnscanec2instancewithfindingsconfiguration-ebsvolumes",
39645
+ "PrimitiveType": "Boolean",
39646
+ "Required": false,
39647
+ "UpdateType": "Mutable"
39648
+ }
39649
+ }
39650
+ },
39616
39651
  "AWS::GuardDuty::Filter.Condition": {
39617
39652
  "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-filter-condition.html",
39618
39653
  "Properties": {
@@ -41003,6 +41038,29 @@
41003
41038
  }
41004
41039
  }
41005
41040
  },
41041
+ "AWS::IoT::CACertificate.RegistrationConfig": {
41042
+ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-cacertificate-registrationconfig.html",
41043
+ "Properties": {
41044
+ "RoleArn": {
41045
+ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-cacertificate-registrationconfig.html#cfn-iot-cacertificate-registrationconfig-rolearn",
41046
+ "PrimitiveType": "String",
41047
+ "Required": false,
41048
+ "UpdateType": "Mutable"
41049
+ },
41050
+ "TemplateBody": {
41051
+ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-cacertificate-registrationconfig.html#cfn-iot-cacertificate-registrationconfig-templatebody",
41052
+ "PrimitiveType": "String",
41053
+ "Required": false,
41054
+ "UpdateType": "Mutable"
41055
+ },
41056
+ "TemplateName": {
41057
+ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-cacertificate-registrationconfig.html#cfn-iot-cacertificate-registrationconfig-templatename",
41058
+ "PrimitiveType": "String",
41059
+ "Required": false,
41060
+ "UpdateType": "Mutable"
41061
+ }
41062
+ }
41063
+ },
41006
41064
  "AWS::IoT::DomainConfiguration.AuthorizerConfig": {
41007
41065
  "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-domainconfiguration-authorizerconfig.html",
41008
41066
  "Properties": {
@@ -52243,6 +52301,12 @@
52243
52301
  "Required": true,
52244
52302
  "Type": "List",
52245
52303
  "UpdateType": "Mutable"
52304
+ },
52305
+ "MessageSelectionStrategy": {
52306
+ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-promptspecification.html#cfn-lex-bot-promptspecification-messageselectionstrategy",
52307
+ "PrimitiveType": "String",
52308
+ "Required": false,
52309
+ "UpdateType": "Mutable"
52246
52310
  }
52247
52311
  }
52248
52312
  },
@@ -60198,6 +60262,12 @@
60198
60262
  "Type": "DashEncryption",
60199
60263
  "UpdateType": "Mutable"
60200
60264
  },
60265
+ "IncludeIframeOnlyStream": {
60266
+ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashpackage.html#cfn-mediapackage-originendpoint-dashpackage-includeiframeonlystream",
60267
+ "PrimitiveType": "Boolean",
60268
+ "Required": false,
60269
+ "UpdateType": "Mutable"
60270
+ },
60201
60271
  "ManifestLayout": {
60202
60272
  "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashpackage.html#cfn-mediapackage-originendpoint-dashpackage-manifestlayout",
60203
60273
  "PrimitiveType": "String",
@@ -61987,7 +62057,7 @@
61987
62057
  "Mode": {
61988
62058
  "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-nimblestudio-launchprofile-streamconfigurationsessionstorage.html#cfn-nimblestudio-launchprofile-streamconfigurationsessionstorage-mode",
61989
62059
  "PrimitiveItemType": "String",
61990
- "Required": false,
62060
+ "Required": true,
61991
62061
  "Type": "List",
61992
62062
  "UpdateType": "Mutable"
61993
62063
  },
@@ -66952,45 +67022,44 @@
66952
67022
  }
66953
67023
  },
66954
67024
  "AWS::RDS::OptionGroup.OptionConfiguration": {
66955
- "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfigurations.html",
67025
+ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfiguration.html",
66956
67026
  "Properties": {
66957
67027
  "DBSecurityGroupMemberships": {
66958
- "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfigurations.html#cfn-rds-optiongroup-optionconfigurations-dbsecuritygroupmemberships",
66959
- "DuplicatesAllowed": true,
67028
+ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfiguration.html#cfn-rds-optiongroup-optionconfiguration-dbsecuritygroupmemberships",
67029
+ "DuplicatesAllowed": false,
66960
67030
  "PrimitiveItemType": "String",
66961
67031
  "Required": false,
66962
67032
  "Type": "List",
66963
67033
  "UpdateType": "Mutable"
66964
67034
  },
66965
67035
  "OptionName": {
66966
- "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfigurations.html#cfn-rds-optiongroup-optionconfigurations-optionname",
67036
+ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfiguration.html#cfn-rds-optiongroup-optionconfiguration-optionname",
66967
67037
  "PrimitiveType": "String",
66968
67038
  "Required": true,
66969
67039
  "UpdateType": "Mutable"
66970
67040
  },
66971
67041
  "OptionSettings": {
66972
- "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfigurations.html#cfn-rds-optiongroup-optionconfigurations-optionsettings",
66973
- "DuplicatesAllowed": false,
67042
+ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfiguration.html#cfn-rds-optiongroup-optionconfiguration-optionsettings",
66974
67043
  "ItemType": "OptionSetting",
66975
67044
  "Required": false,
66976
67045
  "Type": "List",
66977
67046
  "UpdateType": "Mutable"
66978
67047
  },
66979
67048
  "OptionVersion": {
66980
- "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfigurations.html#cfn-rds-optiongroup-optionconfiguration-optionversion",
67049
+ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfiguration.html#cfn-rds-optiongroup-optionconfiguration-optionversion",
66981
67050
  "PrimitiveType": "String",
66982
67051
  "Required": false,
66983
67052
  "UpdateType": "Mutable"
66984
67053
  },
66985
67054
  "Port": {
66986
- "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfigurations.html#cfn-rds-optiongroup-optionconfigurations-port",
67055
+ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfiguration.html#cfn-rds-optiongroup-optionconfiguration-port",
66987
67056
  "PrimitiveType": "Integer",
66988
67057
  "Required": false,
66989
67058
  "UpdateType": "Mutable"
66990
67059
  },
66991
67060
  "VpcSecurityGroupMemberships": {
66992
- "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfigurations.html#cfn-rds-optiongroup-optionconfigurations-vpcsecuritygroupmemberships",
66993
- "DuplicatesAllowed": true,
67061
+ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfiguration.html#cfn-rds-optiongroup-optionconfiguration-vpcsecuritygroupmemberships",
67062
+ "DuplicatesAllowed": false,
66994
67063
  "PrimitiveItemType": "String",
66995
67064
  "Required": false,
66996
67065
  "Type": "List",
@@ -66999,16 +67068,16 @@
66999
67068
  }
67000
67069
  },
67001
67070
  "AWS::RDS::OptionGroup.OptionSetting": {
67002
- "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfigurations-optionsettings.html",
67071
+ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionsetting.html",
67003
67072
  "Properties": {
67004
67073
  "Name": {
67005
- "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfigurations-optionsettings.html#cfn-rds-optiongroup-optionconfigurations-optionsettings-name",
67074
+ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionsetting.html#cfn-rds-optiongroup-optionsetting-name",
67006
67075
  "PrimitiveType": "String",
67007
67076
  "Required": false,
67008
67077
  "UpdateType": "Mutable"
67009
67078
  },
67010
67079
  "Value": {
67011
- "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfigurations-optionsettings.html#cfn-rds-optiongroup-optionconfigurations-optionsettings-value",
67080
+ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionsetting.html#cfn-rds-optiongroup-optionsetting-value",
67012
67081
  "PrimitiveType": "String",
67013
67082
  "Required": false,
67014
67083
  "UpdateType": "Mutable"
@@ -78457,6 +78526,12 @@
78457
78526
  "Type": "FieldToMatch",
78458
78527
  "UpdateType": "Mutable"
78459
78528
  },
78529
+ "SensitivityLevel": {
78530
+ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-sqlimatchstatement.html#cfn-wafv2-rulegroup-sqlimatchstatement-sensitivitylevel",
78531
+ "PrimitiveType": "String",
78532
+ "Required": false,
78533
+ "UpdateType": "Mutable"
78534
+ },
78460
78535
  "TextTransformations": {
78461
78536
  "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-sqlimatchstatement.html#cfn-wafv2-rulegroup-sqlimatchstatement-texttransformations",
78462
78537
  "ItemType": "TextTransformation",
@@ -79481,6 +79556,12 @@
79481
79556
  "Type": "FieldToMatch",
79482
79557
  "UpdateType": "Mutable"
79483
79558
  },
79559
+ "SensitivityLevel": {
79560
+ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-sqlimatchstatement.html#cfn-wafv2-webacl-sqlimatchstatement-sensitivitylevel",
79561
+ "PrimitiveType": "String",
79562
+ "Required": false,
79563
+ "UpdateType": "Mutable"
79564
+ },
79484
79565
  "TextTransformations": {
79485
79566
  "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-sqlimatchstatement.html#cfn-wafv2-webacl-sqlimatchstatement-texttransformations",
79486
79567
  "ItemType": "TextTransformation",
@@ -80069,7 +80150,7 @@
80069
80150
  }
80070
80151
  }
80071
80152
  },
80072
- "ResourceSpecificationVersion": "81.1.0",
80153
+ "ResourceSpecificationVersion": "83.0.0",
80073
80154
  "ResourceTypes": {
80074
80155
  "AWS::ACMPCA::Certificate": {
80075
80156
  "Attributes": {
@@ -93239,12 +93320,30 @@
93239
93320
  "Required": false,
93240
93321
  "UpdateType": "Mutable"
93241
93322
  },
93323
+ "RestoreToTime": {
93324
+ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-restoretotime",
93325
+ "PrimitiveType": "String",
93326
+ "Required": false,
93327
+ "UpdateType": "Mutable"
93328
+ },
93329
+ "RestoreType": {
93330
+ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-restoretype",
93331
+ "PrimitiveType": "String",
93332
+ "Required": false,
93333
+ "UpdateType": "Mutable"
93334
+ },
93242
93335
  "SnapshotIdentifier": {
93243
93336
  "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-snapshotidentifier",
93244
93337
  "PrimitiveType": "String",
93245
93338
  "Required": false,
93246
93339
  "UpdateType": "Immutable"
93247
93340
  },
93341
+ "SourceDBClusterIdentifier": {
93342
+ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-sourcedbclusteridentifier",
93343
+ "PrimitiveType": "String",
93344
+ "Required": false,
93345
+ "UpdateType": "Immutable"
93346
+ },
93248
93347
  "StorageEncrypted": {
93249
93348
  "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-storageencrypted",
93250
93349
  "PrimitiveType": "Boolean",
@@ -93258,6 +93357,12 @@
93258
93357
  "Type": "List",
93259
93358
  "UpdateType": "Mutable"
93260
93359
  },
93360
+ "UseLatestRestorableTime": {
93361
+ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-uselatestrestorabletime",
93362
+ "PrimitiveType": "Boolean",
93363
+ "Required": false,
93364
+ "UpdateType": "Mutable"
93365
+ },
93261
93366
  "VpcSecurityGroupIds": {
93262
93367
  "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-vpcsecuritygroupids",
93263
93368
  "PrimitiveItemType": "String",
@@ -99823,22 +99928,22 @@
99823
99928
  }
99824
99929
  },
99825
99930
  "AWS::ElasticBeanstalk::Application": {
99826
- "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk.html",
99931
+ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-application.html",
99827
99932
  "Properties": {
99828
99933
  "ApplicationName": {
99829
- "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk.html#cfn-elasticbeanstalk-application-name",
99934
+ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-application.html#cfn-elasticbeanstalk-application-applicationname",
99830
99935
  "PrimitiveType": "String",
99831
99936
  "Required": false,
99832
99937
  "UpdateType": "Immutable"
99833
99938
  },
99834
99939
  "Description": {
99835
- "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk.html#cfn-elasticbeanstalk-application-description",
99940
+ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-application.html#cfn-elasticbeanstalk-application-description",
99836
99941
  "PrimitiveType": "String",
99837
99942
  "Required": false,
99838
99943
  "UpdateType": "Mutable"
99839
99944
  },
99840
99945
  "ResourceLifecycleConfig": {
99841
- "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk.html#cfn-elasticbeanstalk-application-resourcelifecycleconfig",
99946
+ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-application.html#cfn-elasticbeanstalk-application-resourcelifecycleconfig",
99842
99947
  "Required": false,
99843
99948
  "Type": "ApplicationResourceLifecycleConfig",
99844
99949
  "UpdateType": "Mutable"
@@ -106130,8 +106235,8 @@
106130
106235
  },
106131
106236
  "RegistrationConfig": {
106132
106237
  "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-cacertificate.html#cfn-iot-cacertificate-registrationconfig",
106133
- "PrimitiveType": "Json",
106134
106238
  "Required": false,
106239
+ "Type": "RegistrationConfig",
106135
106240
  "UpdateType": "Mutable"
106136
106241
  },
106137
106242
  "Status": {
@@ -106654,6 +106759,12 @@
106654
106759
  "PrimitiveType": "String",
106655
106760
  "Required": false,
106656
106761
  "UpdateType": "Immutable"
106762
+ },
106763
+ "TemplateType": {
106764
+ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-provisioningtemplate.html#cfn-iot-provisioningtemplate-templatetype",
106765
+ "PrimitiveType": "String",
106766
+ "Required": false,
106767
+ "UpdateType": "Immutable"
106657
106768
  }
106658
106769
  }
106659
106770
  },
@@ -119008,6 +119119,11 @@
119008
119119
  }
119009
119120
  },
119010
119121
  "AWS::RDS::OptionGroup": {
119122
+ "Attributes": {
119123
+ "OptionGroupName": {
119124
+ "PrimitiveType": "String"
119125
+ }
119126
+ },
119011
119127
  "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-optiongroup.html",
119012
119128
  "Properties": {
119013
119129
  "EngineName": {
@@ -119024,11 +119140,10 @@
119024
119140
  },
119025
119141
  "OptionConfigurations": {
119026
119142
  "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-optiongroup.html#cfn-rds-optiongroup-optionconfigurations",
119027
- "DuplicatesAllowed": true,
119028
119143
  "ItemType": "OptionConfiguration",
119029
- "Required": true,
119144
+ "Required": false,
119030
119145
  "Type": "List",
119031
- "UpdateType": "Immutable"
119146
+ "UpdateType": "Mutable"
119032
119147
  },
119033
119148
  "OptionGroupDescription": {
119034
119149
  "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-optiongroup.html#cfn-rds-optiongroup-optiongroupdescription",
@@ -119038,7 +119153,6 @@
119038
119153
  },
119039
119154
  "Tags": {
119040
119155
  "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-optiongroup.html#cfn-rds-optiongroup-tags",
119041
- "DuplicatesAllowed": true,
119042
119156
  "ItemType": "Tag",
119043
119157
  "Required": false,
119044
119158
  "Type": "List",
@@ -126852,6 +126966,38 @@
126852
126966
  }
126853
126967
  }
126854
126968
  },
126969
+ "AWS::Synthetics::Group": {
126970
+ "Attributes": {
126971
+ "Id": {
126972
+ "PrimitiveType": "String"
126973
+ }
126974
+ },
126975
+ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-group.html",
126976
+ "Properties": {
126977
+ "Name": {
126978
+ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-group.html#cfn-synthetics-group-name",
126979
+ "PrimitiveType": "String",
126980
+ "Required": true,
126981
+ "UpdateType": "Immutable"
126982
+ },
126983
+ "ResourceArns": {
126984
+ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-group.html#cfn-synthetics-group-resourcearns",
126985
+ "DuplicatesAllowed": false,
126986
+ "PrimitiveItemType": "String",
126987
+ "Required": false,
126988
+ "Type": "List",
126989
+ "UpdateType": "Mutable"
126990
+ },
126991
+ "Tags": {
126992
+ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-group.html#cfn-synthetics-group-tags",
126993
+ "DuplicatesAllowed": true,
126994
+ "ItemType": "Tag",
126995
+ "Required": false,
126996
+ "Type": "List",
126997
+ "UpdateType": "Mutable"
126998
+ }
126999
+ }
127000
+ },
126855
127001
  "AWS::Timestream::Database": {
126856
127002
  "Attributes": {
126857
127003
  "Arn": {
@@ -803,7 +803,7 @@
803
803
  "affectsGlobalScope": false
804
804
  },
805
805
  "../../../tools/@aws-cdk/pkglint/lib/rules.ts": {
806
- "version": "f0723c2a5942a75a17588ad8e1b7fc153e883d3d3a741f2ea099403752de3977",
806
+ "version": "57a49925d6cbf58fde70d71bd4d1b0845c65787f18a8b4dcc74929932a13b7d6",
807
807
  "affectsGlobalScope": false
808
808
  },
809
809
  "../../../tools/@aws-cdk/pkglint/lib/library-creation.ts": {
@@ -1156,8 +1156,8 @@
1156
1156
  "affectsGlobalScope": false
1157
1157
  },
1158
1158
  "../../../node_modules/@babel/types/lib/index.d.ts": {
1159
- "version": "67633388f50fe010a7b4d892721437d0fac88a282ef46217137d263a8a6651ed",
1160
- "signature": "67633388f50fe010a7b4d892721437d0fac88a282ef46217137d263a8a6651ed",
1159
+ "version": "9b6d2a9f610aac2dc6c3fcc45a90dbbde0411dd677bdc956d76f484f397640f1",
1160
+ "signature": "9b6d2a9f610aac2dc6c3fcc45a90dbbde0411dd677bdc956d76f484f397640f1",
1161
1161
  "affectsGlobalScope": false
1162
1162
  },
1163
1163
  "../../../node_modules/@types/babel__generator/index.d.ts": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-cdk/cloudformation-diff",
3
- "version": "2.36.0",
3
+ "version": "2.37.1",
4
4
  "description": "Utilities to diff CDK stacks against CloudFormation templates",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -23,7 +23,7 @@
23
23
  },
24
24
  "license": "Apache-2.0",
25
25
  "dependencies": {
26
- "@aws-cdk/cfnspec": "2.36.0",
26
+ "@aws-cdk/cfnspec": "2.37.1",
27
27
  "@types/node": "^14.18.23",
28
28
  "chalk": "^4",
29
29
  "diff": "^5.1.0",
@@ -32,8 +32,8 @@
32
32
  "table": "^6.8.0"
33
33
  },
34
34
  "devDependencies": {
35
- "@aws-cdk/cdk-build-tools": "2.36.0",
36
- "@aws-cdk/pkglint": "2.36.0",
35
+ "@aws-cdk/cdk-build-tools": "2.37.1",
36
+ "@aws-cdk/pkglint": "2.37.1",
37
37
  "@types/jest": "^27.5.2",
38
38
  "@types/string-width": "^4.0.1",
39
39
  "fast-check": "^2.25.0",
@@ -8,7 +8,7 @@ This package contains type definitions for Node.js (https://nodejs.org/).
8
8
  Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node.
9
9
 
10
10
  ### Additional Details
11
- * Last updated: Mon, 08 Aug 2022 17:02:19 GMT
11
+ * Last updated: Wed, 10 Aug 2022 20:02:19 GMT
12
12
  * Dependencies: none
13
13
  * Global values: `AbortController`, `AbortSignal`, `__dirname`, `__filename`, `console`, `exports`, `gc`, `global`, `module`, `process`, `require`, `structuredClone`
14
14
 
@@ -33,6 +33,7 @@ declare module 'fs/promises' {
33
33
  WatchEventType,
34
34
  CopyOptions,
35
35
  ReadStream,
36
+ TimeLike,
36
37
  WriteStream,
37
38
  } from 'node:fs';
38
39
  interface FileChangeInfo<T extends string | Buffer> {
@@ -329,7 +330,7 @@ declare module 'fs/promises' {
329
330
  * Change the file system timestamps of the object referenced by the `FileHandle` then resolves the promise with no arguments upon success.
330
331
  * @since v10.0.0
331
332
  */
332
- utimes(atime: string | number | Date, mtime: string | number | Date): Promise<void>;
333
+ utimes(atime: TimeLike, mtime: TimeLike): Promise<void>;
333
334
  /**
334
335
  * Asynchronously writes data to a file, replacing the file if it already exists.`data` can be a string, a buffer, an
335
336
  * [AsyncIterable](https://tc39.github.io/ecma262/#sec-asynciterable-interface) or
@@ -762,7 +763,7 @@ declare module 'fs/promises' {
762
763
  * @since v14.5.0, v12.19.0
763
764
  * @return Fulfills with `undefined` upon success.
764
765
  */
765
- function lutimes(path: PathLike, atime: string | number | Date, mtime: string | number | Date): Promise<void>;
766
+ function lutimes(path: PathLike, atime: TimeLike, mtime: TimeLike): Promise<void>;
766
767
  /**
767
768
  * Changes the ownership of a file.
768
769
  * @since v10.0.0
@@ -780,7 +781,7 @@ declare module 'fs/promises' {
780
781
  * @since v10.0.0
781
782
  * @return Fulfills with `undefined` upon success.
782
783
  */
783
- function utimes(path: PathLike, atime: string | number | Date, mtime: string | number | Date): Promise<void>;
784
+ function utimes(path: PathLike, atime: TimeLike, mtime: TimeLike): Promise<void>;
784
785
  /**
785
786
  * Determines the actual location of `path` using the same semantics as the`fs.realpath.native()` function.
786
787
  *
@@ -1,4 +1,4 @@
1
- // Type definitions for non-npm package Node.js 18.6
1
+ // Type definitions for non-npm package Node.js 18.7
2
2
  // Project: https://nodejs.org/
3
3
  // Definitions by: Microsoft TypeScript <https://github.com/Microsoft>
4
4
  // DefinitelyTyped <https://github.com/DefinitelyTyped>
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@types/node",
3
- "version": "18.6.5",
3
+ "version": "18.7.1",
4
4
  "description": "TypeScript definitions for Node.js",
5
5
  "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node",
6
6
  "license": "MIT",
@@ -220,6 +220,6 @@
220
220
  },
221
221
  "scripts": {},
222
222
  "dependencies": {},
223
- "typesPublisherContentHash": "4d8149f864b93846526dbd58e91ce534c655f81b4e3a0c22cd7d03534790d99d",
223
+ "typesPublisherContentHash": "dabf6406f99a6dad52b569d7fc0180c6fdcb855b56d14b54fb274ff38f94d24f",
224
224
  "typeScriptVersion": "4.0"
225
225
  }
@@ -1105,6 +1105,193 @@ declare module 'util' {
1105
1105
  */
1106
1106
  encodeInto(src: string, dest: Uint8Array): EncodeIntoResult;
1107
1107
  }
1108
+
1109
+ /**
1110
+ * Provides a high-level API for command-line argument parsing. Takes a
1111
+ * specification for the expected arguments and returns a structured object
1112
+ * with the parsed values and positionals.
1113
+ *
1114
+ * `config` provides arguments for parsing and configures the parser. It
1115
+ * supports the following properties:
1116
+ *
1117
+ * - `args` The array of argument strings. **Default:** `process.argv` with
1118
+ * `execPath` and `filename` removed.
1119
+ * - `options` Arguments known to the parser. Keys of `options` are the long
1120
+ * names of options and values are objects accepting the following properties:
1121
+ *
1122
+ * - `type` Type of argument, which must be either `boolean` (for options
1123
+ * which do not take values) or `string` (for options which do).
1124
+ * - `multiple` Whether this option can be provided multiple
1125
+ * times. If `true`, all values will be collected in an array. If
1126
+ * `false`, values for the option are last-wins. **Default:** `false`.
1127
+ * - `short` A single character alias for the option.
1128
+ *
1129
+ * - `strict`: Whether an error should be thrown when unknown arguments
1130
+ * are encountered, or when arguments are passed that do not match the
1131
+ * `type` configured in `options`. **Default:** `true`.
1132
+ * - `allowPositionals`: Whether this command accepts positional arguments.
1133
+ * **Default:** `false` if `strict` is `true`, otherwise `true`.
1134
+ * - `tokens`: Whether tokens {boolean} Return the parsed tokens. This is useful
1135
+ * for extending the built-in behavior, from adding additional checks through
1136
+ * to reprocessing the tokens in different ways.
1137
+ * **Default:** `false`.
1138
+ *
1139
+ * @returns The parsed command line arguments:
1140
+ *
1141
+ * - `values` A mapping of parsed option names with their string
1142
+ * or boolean values.
1143
+ * - `positionals` Positional arguments.
1144
+ * - `tokens` Detailed parse information (only if `tokens` was specified).
1145
+ *
1146
+ */
1147
+ export function parseArgs<T extends ParseArgsConfig>(config: T): ParsedResults<T>;
1148
+
1149
+ interface ParseArgsOptionConfig {
1150
+ type: 'string' | 'boolean';
1151
+ short?: string;
1152
+ multiple?: boolean;
1153
+ }
1154
+
1155
+ interface ParseArgsOptionsConfig {
1156
+ [longOption: string]: ParseArgsOptionConfig;
1157
+ }
1158
+
1159
+ export interface ParseArgsConfig {
1160
+ strict?: boolean;
1161
+ allowPositionals?: boolean;
1162
+ tokens?: boolean;
1163
+ options?: ParseArgsOptionsConfig;
1164
+ args?: string[];
1165
+ }
1166
+
1167
+ /*
1168
+ IfDefaultsTrue and IfDefaultsFalse are helpers to handle default values for missing boolean properties.
1169
+ TypeScript does not have exact types for objects: https://github.com/microsoft/TypeScript/issues/12936
1170
+ This means it is impossible to distinguish between "field X is definitely not present" and "field X may or may not be present".
1171
+ But we expect users to generally provide their config inline or `as const`, which means TS will always know whether a given field is present.
1172
+ So this helper treats "not definitely present" (i.e., not `extends boolean`) as being "definitely not present", i.e. it should have its default value.
1173
+ This is technically incorrect but is a much nicer UX for the common case.
1174
+ The IfDefaultsTrue version is for things which default to true; the IfDefaultsFalse version is for things which default to false.
1175
+ */
1176
+ type IfDefaultsTrue<T, IfTrue, IfFalse> = T extends true
1177
+ ? IfTrue
1178
+ : T extends false
1179
+ ? IfFalse
1180
+ : IfTrue;
1181
+
1182
+ // we put the `extends false` condition first here because `undefined` compares like `any` when `strictNullChecks: false`
1183
+ type IfDefaultsFalse<T, IfTrue, IfFalse> = T extends false
1184
+ ? IfFalse
1185
+ : T extends true
1186
+ ? IfTrue
1187
+ : IfFalse;
1188
+
1189
+ type ExtractOptionValue<T extends ParseArgsConfig, O extends ParseArgsOptionConfig> = IfDefaultsTrue<
1190
+ T['strict'],
1191
+ O['type'] extends 'string' ? string : O['type'] extends 'boolean' ? boolean : string | boolean,
1192
+ string | boolean
1193
+ >;
1194
+
1195
+ type ParsedValues<T extends ParseArgsConfig> =
1196
+ & IfDefaultsTrue<T['strict'], unknown, { [longOption: string]: undefined | string | boolean }>
1197
+ & (T['options'] extends ParseArgsOptionsConfig
1198
+ ? {
1199
+ -readonly [LongOption in keyof T['options']]: IfDefaultsFalse<
1200
+ T['options'][LongOption]['multiple'],
1201
+ undefined | Array<ExtractOptionValue<T, T['options'][LongOption]>>,
1202
+ undefined | ExtractOptionValue<T, T['options'][LongOption]>
1203
+ >;
1204
+ }
1205
+ : {});
1206
+
1207
+ type ParsedPositionals<T extends ParseArgsConfig> = IfDefaultsTrue<
1208
+ T['strict'],
1209
+ IfDefaultsFalse<T['allowPositionals'], string[], []>,
1210
+ IfDefaultsTrue<T['allowPositionals'], string[], []>
1211
+ >;
1212
+
1213
+ type PreciseTokenForOptions<
1214
+ K extends string,
1215
+ O extends ParseArgsOptionConfig,
1216
+ > = O['type'] extends 'string'
1217
+ ? {
1218
+ kind: 'option';
1219
+ index: number;
1220
+ name: K;
1221
+ rawName: string;
1222
+ value: string;
1223
+ inlineValue: boolean;
1224
+ }
1225
+ : O['type'] extends 'boolean'
1226
+ ? {
1227
+ kind: 'option';
1228
+ index: number;
1229
+ name: K;
1230
+ rawName: string;
1231
+ value: undefined;
1232
+ inlineValue: undefined;
1233
+ }
1234
+ : OptionToken & { name: K };
1235
+
1236
+ type TokenForOptions<
1237
+ T extends ParseArgsConfig,
1238
+ K extends keyof T['options'] = keyof T['options'],
1239
+ > = K extends unknown
1240
+ ? T['options'] extends ParseArgsOptionsConfig
1241
+ ? PreciseTokenForOptions<K & string, T['options'][K]>
1242
+ : OptionToken
1243
+ : never;
1244
+
1245
+ type ParsedOptionToken<T extends ParseArgsConfig> = IfDefaultsTrue<T['strict'], TokenForOptions<T>, OptionToken>;
1246
+
1247
+ type ParsedPositionalToken<T extends ParseArgsConfig> = IfDefaultsTrue<
1248
+ T['strict'],
1249
+ IfDefaultsFalse<T['allowPositionals'], { kind: 'positional'; index: number; value: string }, never>,
1250
+ IfDefaultsTrue<T['allowPositionals'], { kind: 'positional'; index: number; value: string }, never>
1251
+ >;
1252
+
1253
+ type ParsedTokens<T extends ParseArgsConfig> = Array<
1254
+ ParsedOptionToken<T> | ParsedPositionalToken<T> | { kind: 'option-terminator'; index: number }
1255
+ >;
1256
+
1257
+ type PreciseParsedResults<T extends ParseArgsConfig> = IfDefaultsFalse<
1258
+ T['tokens'],
1259
+ {
1260
+ values: ParsedValues<T>;
1261
+ positionals: ParsedPositionals<T>;
1262
+ tokens: ParsedTokens<T>;
1263
+ },
1264
+ {
1265
+ values: ParsedValues<T>;
1266
+ positionals: ParsedPositionals<T>;
1267
+ }
1268
+ >;
1269
+
1270
+ type OptionToken =
1271
+ | { kind: 'option'; index: number; name: string; rawName: string; value: string; inlineValue: boolean }
1272
+ | {
1273
+ kind: 'option';
1274
+ index: number;
1275
+ name: string;
1276
+ rawName: string;
1277
+ value: undefined;
1278
+ inlineValue: undefined;
1279
+ };
1280
+
1281
+ type Token =
1282
+ | OptionToken
1283
+ | { kind: 'positional'; index: number; value: string }
1284
+ | { kind: 'option-terminator'; index: number };
1285
+
1286
+ // If ParseArgsConfig extends T, then the user passed config constructed elsewhere.
1287
+ // So we can't rely on the `"not definitely present" implies "definitely not present"` assumption mentioned above.
1288
+ type ParsedResults<T extends ParseArgsConfig> = ParseArgsConfig extends T
1289
+ ? {
1290
+ values: { [longOption: string]: undefined | string | boolean | Array<string | boolean> };
1291
+ positionals: string[];
1292
+ tokens?: Token[];
1293
+ }
1294
+ : PreciseParsedResults<T>;
1108
1295
  }
1109
1296
  declare module 'util/types' {
1110
1297
  export * from 'util/types';
@@ -8,7 +8,7 @@ This package contains type definitions for Node.js (https://nodejs.org/).
8
8
  Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node.
9
9
 
10
10
  ### Additional Details
11
- * Last updated: Mon, 08 Aug 2022 17:02:19 GMT
11
+ * Last updated: Wed, 10 Aug 2022 20:02:19 GMT
12
12
  * Dependencies: none
13
13
  * Global values: `AbortController`, `AbortSignal`, `__dirname`, `__filename`, `console`, `exports`, `gc`, `global`, `module`, `process`, `require`, `structuredClone`
14
14
 
@@ -33,6 +33,7 @@ declare module 'fs/promises' {
33
33
  WatchEventType,
34
34
  CopyOptions,
35
35
  ReadStream,
36
+ TimeLike,
36
37
  WriteStream,
37
38
  } from 'node:fs';
38
39
  interface FileChangeInfo<T extends string | Buffer> {
@@ -329,7 +330,7 @@ declare module 'fs/promises' {
329
330
  * Change the file system timestamps of the object referenced by the `FileHandle` then resolves the promise with no arguments upon success.
330
331
  * @since v10.0.0
331
332
  */
332
- utimes(atime: string | number | Date, mtime: string | number | Date): Promise<void>;
333
+ utimes(atime: TimeLike, mtime: TimeLike): Promise<void>;
333
334
  /**
334
335
  * Asynchronously writes data to a file, replacing the file if it already exists.`data` can be a string, a buffer, an
335
336
  * [AsyncIterable](https://tc39.github.io/ecma262/#sec-asynciterable-interface) or
@@ -762,7 +763,7 @@ declare module 'fs/promises' {
762
763
  * @since v14.5.0, v12.19.0
763
764
  * @return Fulfills with `undefined` upon success.
764
765
  */
765
- function lutimes(path: PathLike, atime: string | number | Date, mtime: string | number | Date): Promise<void>;
766
+ function lutimes(path: PathLike, atime: TimeLike, mtime: TimeLike): Promise<void>;
766
767
  /**
767
768
  * Changes the ownership of a file.
768
769
  * @since v10.0.0
@@ -780,7 +781,7 @@ declare module 'fs/promises' {
780
781
  * @since v10.0.0
781
782
  * @return Fulfills with `undefined` upon success.
782
783
  */
783
- function utimes(path: PathLike, atime: string | number | Date, mtime: string | number | Date): Promise<void>;
784
+ function utimes(path: PathLike, atime: TimeLike, mtime: TimeLike): Promise<void>;
784
785
  /**
785
786
  * Determines the actual location of `path` using the same semantics as the`fs.realpath.native()` function.
786
787
  *
@@ -1,4 +1,4 @@
1
- // Type definitions for non-npm package Node.js 18.6
1
+ // Type definitions for non-npm package Node.js 18.7
2
2
  // Project: https://nodejs.org/
3
3
  // Definitions by: Microsoft TypeScript <https://github.com/Microsoft>
4
4
  // DefinitelyTyped <https://github.com/DefinitelyTyped>
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@types/node",
3
- "version": "18.6.5",
3
+ "version": "18.7.1",
4
4
  "description": "TypeScript definitions for Node.js",
5
5
  "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node",
6
6
  "license": "MIT",
@@ -220,6 +220,6 @@
220
220
  },
221
221
  "scripts": {},
222
222
  "dependencies": {},
223
- "typesPublisherContentHash": "4d8149f864b93846526dbd58e91ce534c655f81b4e3a0c22cd7d03534790d99d",
223
+ "typesPublisherContentHash": "dabf6406f99a6dad52b569d7fc0180c6fdcb855b56d14b54fb274ff38f94d24f",
224
224
  "typeScriptVersion": "4.0"
225
225
  }
@@ -1105,6 +1105,193 @@ declare module 'util' {
1105
1105
  */
1106
1106
  encodeInto(src: string, dest: Uint8Array): EncodeIntoResult;
1107
1107
  }
1108
+
1109
+ /**
1110
+ * Provides a high-level API for command-line argument parsing. Takes a
1111
+ * specification for the expected arguments and returns a structured object
1112
+ * with the parsed values and positionals.
1113
+ *
1114
+ * `config` provides arguments for parsing and configures the parser. It
1115
+ * supports the following properties:
1116
+ *
1117
+ * - `args` The array of argument strings. **Default:** `process.argv` with
1118
+ * `execPath` and `filename` removed.
1119
+ * - `options` Arguments known to the parser. Keys of `options` are the long
1120
+ * names of options and values are objects accepting the following properties:
1121
+ *
1122
+ * - `type` Type of argument, which must be either `boolean` (for options
1123
+ * which do not take values) or `string` (for options which do).
1124
+ * - `multiple` Whether this option can be provided multiple
1125
+ * times. If `true`, all values will be collected in an array. If
1126
+ * `false`, values for the option are last-wins. **Default:** `false`.
1127
+ * - `short` A single character alias for the option.
1128
+ *
1129
+ * - `strict`: Whether an error should be thrown when unknown arguments
1130
+ * are encountered, or when arguments are passed that do not match the
1131
+ * `type` configured in `options`. **Default:** `true`.
1132
+ * - `allowPositionals`: Whether this command accepts positional arguments.
1133
+ * **Default:** `false` if `strict` is `true`, otherwise `true`.
1134
+ * - `tokens`: Whether tokens {boolean} Return the parsed tokens. This is useful
1135
+ * for extending the built-in behavior, from adding additional checks through
1136
+ * to reprocessing the tokens in different ways.
1137
+ * **Default:** `false`.
1138
+ *
1139
+ * @returns The parsed command line arguments:
1140
+ *
1141
+ * - `values` A mapping of parsed option names with their string
1142
+ * or boolean values.
1143
+ * - `positionals` Positional arguments.
1144
+ * - `tokens` Detailed parse information (only if `tokens` was specified).
1145
+ *
1146
+ */
1147
+ export function parseArgs<T extends ParseArgsConfig>(config: T): ParsedResults<T>;
1148
+
1149
+ interface ParseArgsOptionConfig {
1150
+ type: 'string' | 'boolean';
1151
+ short?: string;
1152
+ multiple?: boolean;
1153
+ }
1154
+
1155
+ interface ParseArgsOptionsConfig {
1156
+ [longOption: string]: ParseArgsOptionConfig;
1157
+ }
1158
+
1159
+ export interface ParseArgsConfig {
1160
+ strict?: boolean;
1161
+ allowPositionals?: boolean;
1162
+ tokens?: boolean;
1163
+ options?: ParseArgsOptionsConfig;
1164
+ args?: string[];
1165
+ }
1166
+
1167
+ /*
1168
+ IfDefaultsTrue and IfDefaultsFalse are helpers to handle default values for missing boolean properties.
1169
+ TypeScript does not have exact types for objects: https://github.com/microsoft/TypeScript/issues/12936
1170
+ This means it is impossible to distinguish between "field X is definitely not present" and "field X may or may not be present".
1171
+ But we expect users to generally provide their config inline or `as const`, which means TS will always know whether a given field is present.
1172
+ So this helper treats "not definitely present" (i.e., not `extends boolean`) as being "definitely not present", i.e. it should have its default value.
1173
+ This is technically incorrect but is a much nicer UX for the common case.
1174
+ The IfDefaultsTrue version is for things which default to true; the IfDefaultsFalse version is for things which default to false.
1175
+ */
1176
+ type IfDefaultsTrue<T, IfTrue, IfFalse> = T extends true
1177
+ ? IfTrue
1178
+ : T extends false
1179
+ ? IfFalse
1180
+ : IfTrue;
1181
+
1182
+ // we put the `extends false` condition first here because `undefined` compares like `any` when `strictNullChecks: false`
1183
+ type IfDefaultsFalse<T, IfTrue, IfFalse> = T extends false
1184
+ ? IfFalse
1185
+ : T extends true
1186
+ ? IfTrue
1187
+ : IfFalse;
1188
+
1189
+ type ExtractOptionValue<T extends ParseArgsConfig, O extends ParseArgsOptionConfig> = IfDefaultsTrue<
1190
+ T['strict'],
1191
+ O['type'] extends 'string' ? string : O['type'] extends 'boolean' ? boolean : string | boolean,
1192
+ string | boolean
1193
+ >;
1194
+
1195
+ type ParsedValues<T extends ParseArgsConfig> =
1196
+ & IfDefaultsTrue<T['strict'], unknown, { [longOption: string]: undefined | string | boolean }>
1197
+ & (T['options'] extends ParseArgsOptionsConfig
1198
+ ? {
1199
+ -readonly [LongOption in keyof T['options']]: IfDefaultsFalse<
1200
+ T['options'][LongOption]['multiple'],
1201
+ undefined | Array<ExtractOptionValue<T, T['options'][LongOption]>>,
1202
+ undefined | ExtractOptionValue<T, T['options'][LongOption]>
1203
+ >;
1204
+ }
1205
+ : {});
1206
+
1207
+ type ParsedPositionals<T extends ParseArgsConfig> = IfDefaultsTrue<
1208
+ T['strict'],
1209
+ IfDefaultsFalse<T['allowPositionals'], string[], []>,
1210
+ IfDefaultsTrue<T['allowPositionals'], string[], []>
1211
+ >;
1212
+
1213
+ type PreciseTokenForOptions<
1214
+ K extends string,
1215
+ O extends ParseArgsOptionConfig,
1216
+ > = O['type'] extends 'string'
1217
+ ? {
1218
+ kind: 'option';
1219
+ index: number;
1220
+ name: K;
1221
+ rawName: string;
1222
+ value: string;
1223
+ inlineValue: boolean;
1224
+ }
1225
+ : O['type'] extends 'boolean'
1226
+ ? {
1227
+ kind: 'option';
1228
+ index: number;
1229
+ name: K;
1230
+ rawName: string;
1231
+ value: undefined;
1232
+ inlineValue: undefined;
1233
+ }
1234
+ : OptionToken & { name: K };
1235
+
1236
+ type TokenForOptions<
1237
+ T extends ParseArgsConfig,
1238
+ K extends keyof T['options'] = keyof T['options'],
1239
+ > = K extends unknown
1240
+ ? T['options'] extends ParseArgsOptionsConfig
1241
+ ? PreciseTokenForOptions<K & string, T['options'][K]>
1242
+ : OptionToken
1243
+ : never;
1244
+
1245
+ type ParsedOptionToken<T extends ParseArgsConfig> = IfDefaultsTrue<T['strict'], TokenForOptions<T>, OptionToken>;
1246
+
1247
+ type ParsedPositionalToken<T extends ParseArgsConfig> = IfDefaultsTrue<
1248
+ T['strict'],
1249
+ IfDefaultsFalse<T['allowPositionals'], { kind: 'positional'; index: number; value: string }, never>,
1250
+ IfDefaultsTrue<T['allowPositionals'], { kind: 'positional'; index: number; value: string }, never>
1251
+ >;
1252
+
1253
+ type ParsedTokens<T extends ParseArgsConfig> = Array<
1254
+ ParsedOptionToken<T> | ParsedPositionalToken<T> | { kind: 'option-terminator'; index: number }
1255
+ >;
1256
+
1257
+ type PreciseParsedResults<T extends ParseArgsConfig> = IfDefaultsFalse<
1258
+ T['tokens'],
1259
+ {
1260
+ values: ParsedValues<T>;
1261
+ positionals: ParsedPositionals<T>;
1262
+ tokens: ParsedTokens<T>;
1263
+ },
1264
+ {
1265
+ values: ParsedValues<T>;
1266
+ positionals: ParsedPositionals<T>;
1267
+ }
1268
+ >;
1269
+
1270
+ type OptionToken =
1271
+ | { kind: 'option'; index: number; name: string; rawName: string; value: string; inlineValue: boolean }
1272
+ | {
1273
+ kind: 'option';
1274
+ index: number;
1275
+ name: string;
1276
+ rawName: string;
1277
+ value: undefined;
1278
+ inlineValue: undefined;
1279
+ };
1280
+
1281
+ type Token =
1282
+ | OptionToken
1283
+ | { kind: 'positional'; index: number; value: string }
1284
+ | { kind: 'option-terminator'; index: number };
1285
+
1286
+ // If ParseArgsConfig extends T, then the user passed config constructed elsewhere.
1287
+ // So we can't rely on the `"not definitely present" implies "definitely not present"` assumption mentioned above.
1288
+ type ParsedResults<T extends ParseArgsConfig> = ParseArgsConfig extends T
1289
+ ? {
1290
+ values: { [longOption: string]: undefined | string | boolean | Array<string | boolean> };
1291
+ positionals: string[];
1292
+ tokens?: Token[];
1293
+ }
1294
+ : PreciseParsedResults<T>;
1108
1295
  }
1109
1296
  declare module 'util/types' {
1110
1297
  export * from 'util/types';
package/package.json CHANGED
@@ -56,7 +56,7 @@
56
56
  "jsii-pacmak": "^1.63.2",
57
57
  "json-schema": "^0.4.0",
58
58
  "npm-check-updates": "^15",
59
- "projen": "0.61.3",
59
+ "projen": "0.61.7",
60
60
  "standard-version": "^9",
61
61
  "ts-jest": "^27",
62
62
  "typescript": "^4.7.4"
@@ -66,7 +66,7 @@
66
66
  "constructs": "^10.0.5"
67
67
  },
68
68
  "dependencies": {
69
- "@aws-cdk/assert": "^2.36.0",
69
+ "@aws-cdk/assert": "^2.37.1",
70
70
  "case": "^1.6.3",
71
71
  "sync-request": "^6.1.0"
72
72
  },
@@ -84,7 +84,7 @@
84
84
  ],
85
85
  "main": "lib/index.js",
86
86
  "license": "Apache-2.0",
87
- "version": "2.0.229",
87
+ "version": "2.0.232",
88
88
  "jest": {
89
89
  "testMatch": [
90
90
  "<rootDir>/src/**/__tests__/**/*.ts?(x)",