cdk-cost-analyzer 0.1.40 → 0.1.42
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/.cdk-cost-analyzer-cache/metadata.json +8 -8
- package/.husky/pre-commit +6 -0
- package/dist/action/136.index.js +1 -1
- package/dist/action/762.index.js +1 -1
- package/dist/action/998.index.js +1 -1
- package/dist/action/api/index.d.ts +1 -0
- package/dist/action/api/single-template-types.d.ts +4 -0
- package/dist/action/api/types.d.ts +3 -0
- package/dist/action/config/types.d.ts +52 -0
- package/dist/action/index.js +3 -3
- package/dist/action/optimization/OptimizationEngine.d.ts +11 -0
- package/dist/action/optimization/analyzers/GravitonMigrationAnalyzer.d.ts +17 -0
- package/dist/action/optimization/analyzers/NATGatewayOptimizationAnalyzer.d.ts +13 -0
- package/dist/action/optimization/analyzers/ReservedInstanceAnalyzer.d.ts +13 -0
- package/dist/action/optimization/analyzers/RightSizingAnalyzer.d.ts +13 -0
- package/dist/action/optimization/analyzers/SavingsPlansAnalyzer.d.ts +11 -0
- package/dist/action/optimization/analyzers/SpotInstanceAnalyzer.d.ts +12 -0
- package/dist/action/optimization/analyzers/StorageOptimizationAnalyzer.d.ts +14 -0
- package/dist/action/optimization/defaults.d.ts +2 -0
- package/dist/action/optimization/index.d.ts +10 -0
- package/dist/action/optimization/types.d.ts +35 -0
- package/dist/action/pricing/calculators/AuroraServerlessCalculator.d.ts +20 -0
- package/dist/action/pricing/calculators/EKSCalculator.d.ts +8 -0
- package/dist/action/pricing/calculators/KinesisCalculator.d.ts +27 -0
- package/dist/action/pricing/calculators/Route53Calculator.d.ts +18 -0
- package/dist/action/pricing/calculators/TransitGatewayCalculator.d.ts +16 -0
- package/dist/action/reporter/RecommendationReporter.d.ts +3 -0
- package/dist/analysis/SingleTemplateAnalyzer.js +12 -1
- package/dist/api/index.d.ts +1 -0
- package/dist/api/index.js +2 -1
- package/dist/api/single-template-types.d.ts +4 -0
- package/dist/api/single-template-types.js +1 -1
- package/dist/api/types.d.ts +3 -0
- package/dist/api/types.js +1 -1
- package/dist/cli/index.js +13 -2
- package/dist/config/types.d.ts +52 -0
- package/dist/config/types.js +1 -1
- package/dist/optimization/OptimizationEngine.d.ts +11 -0
- package/dist/optimization/OptimizationEngine.js +51 -0
- package/dist/optimization/analyzers/GravitonMigrationAnalyzer.d.ts +17 -0
- package/dist/optimization/analyzers/GravitonMigrationAnalyzer.js +209 -0
- package/dist/optimization/analyzers/NATGatewayOptimizationAnalyzer.d.ts +13 -0
- package/dist/optimization/analyzers/NATGatewayOptimizationAnalyzer.js +142 -0
- package/dist/optimization/analyzers/ReservedInstanceAnalyzer.d.ts +13 -0
- package/dist/optimization/analyzers/ReservedInstanceAnalyzer.js +102 -0
- package/dist/optimization/analyzers/RightSizingAnalyzer.d.ts +13 -0
- package/dist/optimization/analyzers/RightSizingAnalyzer.js +109 -0
- package/dist/optimization/analyzers/SavingsPlansAnalyzer.d.ts +11 -0
- package/dist/optimization/analyzers/SavingsPlansAnalyzer.js +102 -0
- package/dist/optimization/analyzers/SpotInstanceAnalyzer.d.ts +12 -0
- package/dist/optimization/analyzers/SpotInstanceAnalyzer.js +113 -0
- package/dist/optimization/analyzers/StorageOptimizationAnalyzer.d.ts +14 -0
- package/dist/optimization/analyzers/StorageOptimizationAnalyzer.js +142 -0
- package/dist/optimization/defaults.d.ts +2 -0
- package/dist/optimization/defaults.js +22 -0
- package/dist/optimization/index.d.ts +10 -0
- package/dist/optimization/index.js +22 -0
- package/dist/optimization/types.d.ts +35 -0
- package/dist/optimization/types.js +3 -0
- package/dist/pricing/PricingService.js +11 -1
- package/dist/pricing/calculators/AuroraServerlessCalculator.d.ts +20 -0
- package/dist/pricing/calculators/AuroraServerlessCalculator.js +92 -0
- package/dist/pricing/calculators/EKSCalculator.d.ts +8 -0
- package/dist/pricing/calculators/EKSCalculator.js +46 -0
- package/dist/pricing/calculators/KinesisCalculator.d.ts +27 -0
- package/dist/pricing/calculators/KinesisCalculator.js +140 -0
- package/dist/pricing/calculators/Route53Calculator.d.ts +18 -0
- package/dist/pricing/calculators/Route53Calculator.js +99 -0
- package/dist/pricing/calculators/TransitGatewayCalculator.d.ts +16 -0
- package/dist/pricing/calculators/TransitGatewayCalculator.js +97 -0
- package/dist/releasetag.txt +1 -1
- package/dist/reporter/RecommendationReporter.d.ts +3 -0
- package/dist/reporter/RecommendationReporter.js +133 -0
- package/dist/reporter/SingleTemplateReporter.js +11 -1
- package/docs/CALCULATORS.md +374 -8
- package/docs/README.md +3 -2
- package/docs/RECOMMENDATIONS.md +466 -0
- package/docs/SINGLE-TEMPLATE-ANALYSIS.md +59 -16
- package/docs/index.md +38 -8
- package/examples/recommendations-demo.json +74 -0
- package/package.json +2 -2
|
@@ -2,35 +2,35 @@
|
|
|
2
2
|
"entries": {
|
|
3
3
|
"AmazonS3:US East (N. Virginia):storageClass:General Purpose|volumeType:Standard": {
|
|
4
4
|
"price": 0.023,
|
|
5
|
-
"timestamp":
|
|
5
|
+
"timestamp": 1773164355657
|
|
6
6
|
},
|
|
7
7
|
"AmazonDynamoDB:US East (N. Virginia):group:DDB-ReadUnits|productFamily:Amazon DynamoDB PayPerRequest Throughput": {
|
|
8
8
|
"price": 0.023,
|
|
9
|
-
"timestamp":
|
|
9
|
+
"timestamp": 1773164355664
|
|
10
10
|
},
|
|
11
11
|
"AmazonDynamoDB:US East (N. Virginia):group:DDB-WriteUnits|productFamily:Amazon DynamoDB PayPerRequest Throughput": {
|
|
12
12
|
"price": 0.023,
|
|
13
|
-
"timestamp":
|
|
13
|
+
"timestamp": 1773164355664
|
|
14
14
|
},
|
|
15
15
|
"AmazonEC2:US East (N. Virginia):capacitystatus:Used|instanceType:t3.micro|operatingSystem:Linux|preInstalledSw:NA|tenancy:Shared": {
|
|
16
16
|
"price": 0.023,
|
|
17
|
-
"timestamp":
|
|
17
|
+
"timestamp": 1773164355679
|
|
18
18
|
},
|
|
19
19
|
"AWSLambda:US East (N. Virginia):group:AWS-Lambda-Requests": {
|
|
20
20
|
"price": 0.023,
|
|
21
|
-
"timestamp":
|
|
21
|
+
"timestamp": 1773164355684
|
|
22
22
|
},
|
|
23
23
|
"AWSLambda:US East (N. Virginia):group:AWS-Lambda-Duration": {
|
|
24
24
|
"price": 0.023,
|
|
25
|
-
"timestamp":
|
|
25
|
+
"timestamp": 1773164355684
|
|
26
26
|
},
|
|
27
27
|
"AmazonS3:EU (Frankfurt):storageClass:General Purpose|volumeType:Standard": {
|
|
28
28
|
"price": 0.023,
|
|
29
|
-
"timestamp":
|
|
29
|
+
"timestamp": 1773164363915
|
|
30
30
|
},
|
|
31
31
|
"AmazonS3:invalid-region-123:storageClass:General Purpose|volumeType:Standard": {
|
|
32
32
|
"price": 0.023,
|
|
33
|
-
"timestamp":
|
|
33
|
+
"timestamp": 1773164363960
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
}
|
package/.husky/pre-commit
CHANGED
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
npm run lint
|
|
3
3
|
npm run test:silent
|
|
4
4
|
|
|
5
|
+
# Rebuild GitHub Action bundle and stage it
|
|
6
|
+
# This prevents self-mutation failures in CI when dist/action/ is out of sync
|
|
7
|
+
echo "📦 Rebuilding GitHub Action bundle..."
|
|
8
|
+
npm run build:action
|
|
9
|
+
git add -f dist/action/
|
|
10
|
+
|
|
5
11
|
# Validate GitHub Actions workflows if act is available
|
|
6
12
|
if command -v act >/dev/null 2>&1; then
|
|
7
13
|
echo "🔍 Validating GitHub Actions workflows..."
|
package/dist/action/136.index.js
CHANGED
|
@@ -1072,7 +1072,7 @@ exports.AssumeRoleWithWebIdentity$ = [
|
|
|
1072
1072
|
/***/ 9955:
|
|
1073
1073
|
/***/ ((module) => {
|
|
1074
1074
|
|
|
1075
|
-
module.exports = /*#__PURE__*/JSON.parse('{"name":"@aws-sdk/nested-clients","version":"3.996.
|
|
1075
|
+
module.exports = /*#__PURE__*/JSON.parse('{"name":"@aws-sdk/nested-clients","version":"3.996.8","description":"Nested clients for AWS SDK packages.","main":"./dist-cjs/index.js","module":"./dist-es/index.js","types":"./dist-types/index.d.ts","scripts":{"build":"yarn lint && concurrently \'yarn:build:types\' \'yarn:build:es\' && yarn build:cjs","build:cjs":"node ../../scripts/compilation/inline nested-clients","build:es":"tsc -p tsconfig.es.json","build:include:deps":"yarn g:turbo run build -F=\\"$npm_package_name\\"","build:types":"tsc -p tsconfig.types.json","build:types:downlevel":"downlevel-dts dist-types dist-types/ts3.4","clean":"premove dist-cjs dist-es dist-types tsconfig.cjs.tsbuildinfo tsconfig.es.tsbuildinfo tsconfig.types.tsbuildinfo","lint":"node ../../scripts/validation/submodules-linter.js --pkg nested-clients","test":"yarn g:vitest run","test:watch":"yarn g:vitest watch"},"engines":{"node":">=20.0.0"},"sideEffects":false,"author":{"name":"AWS SDK for JavaScript Team","url":"https://aws.amazon.com/javascript/"},"license":"Apache-2.0","dependencies":{"@aws-crypto/sha256-browser":"5.2.0","@aws-crypto/sha256-js":"5.2.0","@aws-sdk/core":"^3.973.19","@aws-sdk/middleware-host-header":"^3.972.7","@aws-sdk/middleware-logger":"^3.972.7","@aws-sdk/middleware-recursion-detection":"^3.972.7","@aws-sdk/middleware-user-agent":"^3.972.20","@aws-sdk/region-config-resolver":"^3.972.7","@aws-sdk/types":"^3.973.5","@aws-sdk/util-endpoints":"^3.996.4","@aws-sdk/util-user-agent-browser":"^3.972.7","@aws-sdk/util-user-agent-node":"^3.973.5","@smithy/config-resolver":"^4.4.10","@smithy/core":"^3.23.9","@smithy/fetch-http-handler":"^5.3.13","@smithy/hash-node":"^4.2.11","@smithy/invalid-dependency":"^4.2.11","@smithy/middleware-content-length":"^4.2.11","@smithy/middleware-endpoint":"^4.4.23","@smithy/middleware-retry":"^4.4.40","@smithy/middleware-serde":"^4.2.12","@smithy/middleware-stack":"^4.2.11","@smithy/node-config-provider":"^4.3.11","@smithy/node-http-handler":"^4.4.14","@smithy/protocol-http":"^5.3.11","@smithy/smithy-client":"^4.12.3","@smithy/types":"^4.13.0","@smithy/url-parser":"^4.2.11","@smithy/util-base64":"^4.3.2","@smithy/util-body-length-browser":"^4.2.2","@smithy/util-body-length-node":"^4.2.3","@smithy/util-defaults-mode-browser":"^4.3.39","@smithy/util-defaults-mode-node":"^4.2.42","@smithy/util-endpoints":"^3.3.2","@smithy/util-middleware":"^4.2.11","@smithy/util-retry":"^4.2.11","@smithy/util-utf8":"^4.2.2","tslib":"^2.6.2"},"devDependencies":{"concurrently":"7.0.0","downlevel-dts":"0.10.1","premove":"4.0.0","typescript":"~5.8.3"},"typesVersions":{"<4.5":{"dist-types/*":["dist-types/ts3.4/*"]}},"files":["./cognito-identity.d.ts","./cognito-identity.js","./signin.d.ts","./signin.js","./sso-oidc.d.ts","./sso-oidc.js","./sso.d.ts","./sso.js","./sts.d.ts","./sts.js","dist-*/**"],"browser":{"./dist-es/submodules/cognito-identity/runtimeConfig":"./dist-es/submodules/cognito-identity/runtimeConfig.browser","./dist-es/submodules/signin/runtimeConfig":"./dist-es/submodules/signin/runtimeConfig.browser","./dist-es/submodules/sso-oidc/runtimeConfig":"./dist-es/submodules/sso-oidc/runtimeConfig.browser","./dist-es/submodules/sso/runtimeConfig":"./dist-es/submodules/sso/runtimeConfig.browser","./dist-es/submodules/sts/runtimeConfig":"./dist-es/submodules/sts/runtimeConfig.browser"},"react-native":{},"homepage":"https://github.com/aws/aws-sdk-js-v3/tree/main/packages/nested-clients","repository":{"type":"git","url":"https://github.com/aws/aws-sdk-js-v3.git","directory":"packages/nested-clients"},"exports":{"./package.json":"./package.json","./sso-oidc":{"types":"./dist-types/submodules/sso-oidc/index.d.ts","module":"./dist-es/submodules/sso-oidc/index.js","node":"./dist-cjs/submodules/sso-oidc/index.js","import":"./dist-es/submodules/sso-oidc/index.js","require":"./dist-cjs/submodules/sso-oidc/index.js"},"./sts":{"types":"./dist-types/submodules/sts/index.d.ts","module":"./dist-es/submodules/sts/index.js","node":"./dist-cjs/submodules/sts/index.js","import":"./dist-es/submodules/sts/index.js","require":"./dist-cjs/submodules/sts/index.js"},"./signin":{"types":"./dist-types/submodules/signin/index.d.ts","module":"./dist-es/submodules/signin/index.js","node":"./dist-cjs/submodules/signin/index.js","import":"./dist-es/submodules/signin/index.js","require":"./dist-cjs/submodules/signin/index.js"},"./cognito-identity":{"types":"./dist-types/submodules/cognito-identity/index.d.ts","module":"./dist-es/submodules/cognito-identity/index.js","node":"./dist-cjs/submodules/cognito-identity/index.js","import":"./dist-es/submodules/cognito-identity/index.js","require":"./dist-cjs/submodules/cognito-identity/index.js"},"./sso":{"types":"./dist-types/submodules/sso/index.d.ts","module":"./dist-es/submodules/sso/index.js","node":"./dist-cjs/submodules/sso/index.js","import":"./dist-es/submodules/sso/index.js","require":"./dist-cjs/submodules/sso/index.js"}}}');
|
|
1076
1076
|
|
|
1077
1077
|
/***/ })
|
|
1078
1078
|
|
package/dist/action/762.index.js
CHANGED
|
@@ -749,7 +749,7 @@ exports.CreateOAuth2Token$ = [
|
|
|
749
749
|
/***/ 9955:
|
|
750
750
|
/***/ ((module) => {
|
|
751
751
|
|
|
752
|
-
module.exports = /*#__PURE__*/JSON.parse('{"name":"@aws-sdk/nested-clients","version":"3.996.
|
|
752
|
+
module.exports = /*#__PURE__*/JSON.parse('{"name":"@aws-sdk/nested-clients","version":"3.996.8","description":"Nested clients for AWS SDK packages.","main":"./dist-cjs/index.js","module":"./dist-es/index.js","types":"./dist-types/index.d.ts","scripts":{"build":"yarn lint && concurrently \'yarn:build:types\' \'yarn:build:es\' && yarn build:cjs","build:cjs":"node ../../scripts/compilation/inline nested-clients","build:es":"tsc -p tsconfig.es.json","build:include:deps":"yarn g:turbo run build -F=\\"$npm_package_name\\"","build:types":"tsc -p tsconfig.types.json","build:types:downlevel":"downlevel-dts dist-types dist-types/ts3.4","clean":"premove dist-cjs dist-es dist-types tsconfig.cjs.tsbuildinfo tsconfig.es.tsbuildinfo tsconfig.types.tsbuildinfo","lint":"node ../../scripts/validation/submodules-linter.js --pkg nested-clients","test":"yarn g:vitest run","test:watch":"yarn g:vitest watch"},"engines":{"node":">=20.0.0"},"sideEffects":false,"author":{"name":"AWS SDK for JavaScript Team","url":"https://aws.amazon.com/javascript/"},"license":"Apache-2.0","dependencies":{"@aws-crypto/sha256-browser":"5.2.0","@aws-crypto/sha256-js":"5.2.0","@aws-sdk/core":"^3.973.19","@aws-sdk/middleware-host-header":"^3.972.7","@aws-sdk/middleware-logger":"^3.972.7","@aws-sdk/middleware-recursion-detection":"^3.972.7","@aws-sdk/middleware-user-agent":"^3.972.20","@aws-sdk/region-config-resolver":"^3.972.7","@aws-sdk/types":"^3.973.5","@aws-sdk/util-endpoints":"^3.996.4","@aws-sdk/util-user-agent-browser":"^3.972.7","@aws-sdk/util-user-agent-node":"^3.973.5","@smithy/config-resolver":"^4.4.10","@smithy/core":"^3.23.9","@smithy/fetch-http-handler":"^5.3.13","@smithy/hash-node":"^4.2.11","@smithy/invalid-dependency":"^4.2.11","@smithy/middleware-content-length":"^4.2.11","@smithy/middleware-endpoint":"^4.4.23","@smithy/middleware-retry":"^4.4.40","@smithy/middleware-serde":"^4.2.12","@smithy/middleware-stack":"^4.2.11","@smithy/node-config-provider":"^4.3.11","@smithy/node-http-handler":"^4.4.14","@smithy/protocol-http":"^5.3.11","@smithy/smithy-client":"^4.12.3","@smithy/types":"^4.13.0","@smithy/url-parser":"^4.2.11","@smithy/util-base64":"^4.3.2","@smithy/util-body-length-browser":"^4.2.2","@smithy/util-body-length-node":"^4.2.3","@smithy/util-defaults-mode-browser":"^4.3.39","@smithy/util-defaults-mode-node":"^4.2.42","@smithy/util-endpoints":"^3.3.2","@smithy/util-middleware":"^4.2.11","@smithy/util-retry":"^4.2.11","@smithy/util-utf8":"^4.2.2","tslib":"^2.6.2"},"devDependencies":{"concurrently":"7.0.0","downlevel-dts":"0.10.1","premove":"4.0.0","typescript":"~5.8.3"},"typesVersions":{"<4.5":{"dist-types/*":["dist-types/ts3.4/*"]}},"files":["./cognito-identity.d.ts","./cognito-identity.js","./signin.d.ts","./signin.js","./sso-oidc.d.ts","./sso-oidc.js","./sso.d.ts","./sso.js","./sts.d.ts","./sts.js","dist-*/**"],"browser":{"./dist-es/submodules/cognito-identity/runtimeConfig":"./dist-es/submodules/cognito-identity/runtimeConfig.browser","./dist-es/submodules/signin/runtimeConfig":"./dist-es/submodules/signin/runtimeConfig.browser","./dist-es/submodules/sso-oidc/runtimeConfig":"./dist-es/submodules/sso-oidc/runtimeConfig.browser","./dist-es/submodules/sso/runtimeConfig":"./dist-es/submodules/sso/runtimeConfig.browser","./dist-es/submodules/sts/runtimeConfig":"./dist-es/submodules/sts/runtimeConfig.browser"},"react-native":{},"homepage":"https://github.com/aws/aws-sdk-js-v3/tree/main/packages/nested-clients","repository":{"type":"git","url":"https://github.com/aws/aws-sdk-js-v3.git","directory":"packages/nested-clients"},"exports":{"./package.json":"./package.json","./sso-oidc":{"types":"./dist-types/submodules/sso-oidc/index.d.ts","module":"./dist-es/submodules/sso-oidc/index.js","node":"./dist-cjs/submodules/sso-oidc/index.js","import":"./dist-es/submodules/sso-oidc/index.js","require":"./dist-cjs/submodules/sso-oidc/index.js"},"./sts":{"types":"./dist-types/submodules/sts/index.d.ts","module":"./dist-es/submodules/sts/index.js","node":"./dist-cjs/submodules/sts/index.js","import":"./dist-es/submodules/sts/index.js","require":"./dist-cjs/submodules/sts/index.js"},"./signin":{"types":"./dist-types/submodules/signin/index.d.ts","module":"./dist-es/submodules/signin/index.js","node":"./dist-cjs/submodules/signin/index.js","import":"./dist-es/submodules/signin/index.js","require":"./dist-cjs/submodules/signin/index.js"},"./cognito-identity":{"types":"./dist-types/submodules/cognito-identity/index.d.ts","module":"./dist-es/submodules/cognito-identity/index.js","node":"./dist-cjs/submodules/cognito-identity/index.js","import":"./dist-es/submodules/cognito-identity/index.js","require":"./dist-cjs/submodules/cognito-identity/index.js"},"./sso":{"types":"./dist-types/submodules/sso/index.d.ts","module":"./dist-es/submodules/sso/index.js","node":"./dist-cjs/submodules/sso/index.js","import":"./dist-es/submodules/sso/index.js","require":"./dist-cjs/submodules/sso/index.js"}}}');
|
|
753
753
|
|
|
754
754
|
/***/ })
|
|
755
755
|
|
package/dist/action/998.index.js
CHANGED
|
@@ -1362,7 +1362,7 @@ exports.nodeProvider = nodeProvider;
|
|
|
1362
1362
|
/***/ 9955:
|
|
1363
1363
|
/***/ ((module) => {
|
|
1364
1364
|
|
|
1365
|
-
module.exports = /*#__PURE__*/JSON.parse('{"name":"@aws-sdk/nested-clients","version":"3.996.
|
|
1365
|
+
module.exports = /*#__PURE__*/JSON.parse('{"name":"@aws-sdk/nested-clients","version":"3.996.8","description":"Nested clients for AWS SDK packages.","main":"./dist-cjs/index.js","module":"./dist-es/index.js","types":"./dist-types/index.d.ts","scripts":{"build":"yarn lint && concurrently \'yarn:build:types\' \'yarn:build:es\' && yarn build:cjs","build:cjs":"node ../../scripts/compilation/inline nested-clients","build:es":"tsc -p tsconfig.es.json","build:include:deps":"yarn g:turbo run build -F=\\"$npm_package_name\\"","build:types":"tsc -p tsconfig.types.json","build:types:downlevel":"downlevel-dts dist-types dist-types/ts3.4","clean":"premove dist-cjs dist-es dist-types tsconfig.cjs.tsbuildinfo tsconfig.es.tsbuildinfo tsconfig.types.tsbuildinfo","lint":"node ../../scripts/validation/submodules-linter.js --pkg nested-clients","test":"yarn g:vitest run","test:watch":"yarn g:vitest watch"},"engines":{"node":">=20.0.0"},"sideEffects":false,"author":{"name":"AWS SDK for JavaScript Team","url":"https://aws.amazon.com/javascript/"},"license":"Apache-2.0","dependencies":{"@aws-crypto/sha256-browser":"5.2.0","@aws-crypto/sha256-js":"5.2.0","@aws-sdk/core":"^3.973.19","@aws-sdk/middleware-host-header":"^3.972.7","@aws-sdk/middleware-logger":"^3.972.7","@aws-sdk/middleware-recursion-detection":"^3.972.7","@aws-sdk/middleware-user-agent":"^3.972.20","@aws-sdk/region-config-resolver":"^3.972.7","@aws-sdk/types":"^3.973.5","@aws-sdk/util-endpoints":"^3.996.4","@aws-sdk/util-user-agent-browser":"^3.972.7","@aws-sdk/util-user-agent-node":"^3.973.5","@smithy/config-resolver":"^4.4.10","@smithy/core":"^3.23.9","@smithy/fetch-http-handler":"^5.3.13","@smithy/hash-node":"^4.2.11","@smithy/invalid-dependency":"^4.2.11","@smithy/middleware-content-length":"^4.2.11","@smithy/middleware-endpoint":"^4.4.23","@smithy/middleware-retry":"^4.4.40","@smithy/middleware-serde":"^4.2.12","@smithy/middleware-stack":"^4.2.11","@smithy/node-config-provider":"^4.3.11","@smithy/node-http-handler":"^4.4.14","@smithy/protocol-http":"^5.3.11","@smithy/smithy-client":"^4.12.3","@smithy/types":"^4.13.0","@smithy/url-parser":"^4.2.11","@smithy/util-base64":"^4.3.2","@smithy/util-body-length-browser":"^4.2.2","@smithy/util-body-length-node":"^4.2.3","@smithy/util-defaults-mode-browser":"^4.3.39","@smithy/util-defaults-mode-node":"^4.2.42","@smithy/util-endpoints":"^3.3.2","@smithy/util-middleware":"^4.2.11","@smithy/util-retry":"^4.2.11","@smithy/util-utf8":"^4.2.2","tslib":"^2.6.2"},"devDependencies":{"concurrently":"7.0.0","downlevel-dts":"0.10.1","premove":"4.0.0","typescript":"~5.8.3"},"typesVersions":{"<4.5":{"dist-types/*":["dist-types/ts3.4/*"]}},"files":["./cognito-identity.d.ts","./cognito-identity.js","./signin.d.ts","./signin.js","./sso-oidc.d.ts","./sso-oidc.js","./sso.d.ts","./sso.js","./sts.d.ts","./sts.js","dist-*/**"],"browser":{"./dist-es/submodules/cognito-identity/runtimeConfig":"./dist-es/submodules/cognito-identity/runtimeConfig.browser","./dist-es/submodules/signin/runtimeConfig":"./dist-es/submodules/signin/runtimeConfig.browser","./dist-es/submodules/sso-oidc/runtimeConfig":"./dist-es/submodules/sso-oidc/runtimeConfig.browser","./dist-es/submodules/sso/runtimeConfig":"./dist-es/submodules/sso/runtimeConfig.browser","./dist-es/submodules/sts/runtimeConfig":"./dist-es/submodules/sts/runtimeConfig.browser"},"react-native":{},"homepage":"https://github.com/aws/aws-sdk-js-v3/tree/main/packages/nested-clients","repository":{"type":"git","url":"https://github.com/aws/aws-sdk-js-v3.git","directory":"packages/nested-clients"},"exports":{"./package.json":"./package.json","./sso-oidc":{"types":"./dist-types/submodules/sso-oidc/index.d.ts","module":"./dist-es/submodules/sso-oidc/index.js","node":"./dist-cjs/submodules/sso-oidc/index.js","import":"./dist-es/submodules/sso-oidc/index.js","require":"./dist-cjs/submodules/sso-oidc/index.js"},"./sts":{"types":"./dist-types/submodules/sts/index.d.ts","module":"./dist-es/submodules/sts/index.js","node":"./dist-cjs/submodules/sts/index.js","import":"./dist-es/submodules/sts/index.js","require":"./dist-cjs/submodules/sts/index.js"},"./signin":{"types":"./dist-types/submodules/signin/index.d.ts","module":"./dist-es/submodules/signin/index.js","node":"./dist-cjs/submodules/signin/index.js","import":"./dist-es/submodules/signin/index.js","require":"./dist-cjs/submodules/signin/index.js"},"./cognito-identity":{"types":"./dist-types/submodules/cognito-identity/index.d.ts","module":"./dist-es/submodules/cognito-identity/index.js","node":"./dist-cjs/submodules/cognito-identity/index.js","import":"./dist-es/submodules/cognito-identity/index.js","require":"./dist-cjs/submodules/cognito-identity/index.js"},"./sso":{"types":"./dist-types/submodules/sso/index.d.ts","module":"./dist-es/submodules/sso/index.js","node":"./dist-cjs/submodules/sso/index.js","import":"./dist-es/submodules/sso/index.js","require":"./dist-cjs/submodules/sso/index.js"}}}');
|
|
1366
1366
|
|
|
1367
1367
|
/***/ })
|
|
1368
1368
|
|
|
@@ -10,6 +10,7 @@ export * from '../config';
|
|
|
10
10
|
export * from '../synthesis';
|
|
11
11
|
export * from '../threshold';
|
|
12
12
|
export * from '../pipeline';
|
|
13
|
+
export * from '../optimization';
|
|
13
14
|
export declare function analyzeCosts(options: AnalyzeOptions): Promise<CostAnalysisResult>;
|
|
14
15
|
/**
|
|
15
16
|
* Analyze a single CloudFormation template for estimated monthly costs
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ResourceCost } from '../pricing/types';
|
|
2
2
|
import { UsageAssumptionsConfig, CacheConfig } from '../config/types';
|
|
3
|
+
import { OptimizationResult } from '../optimization/types';
|
|
3
4
|
/**
|
|
4
5
|
* Configuration options for single template analysis
|
|
5
6
|
*/
|
|
@@ -7,6 +8,8 @@ export interface AnalysisConfig {
|
|
|
7
8
|
usageAssumptions?: UsageAssumptionsConfig;
|
|
8
9
|
excludedResourceTypes?: string[];
|
|
9
10
|
cacheConfig?: CacheConfig;
|
|
11
|
+
recommendations?: boolean;
|
|
12
|
+
minimumSavingsThreshold?: number;
|
|
10
13
|
}
|
|
11
14
|
/**
|
|
12
15
|
* Metadata about the analysis
|
|
@@ -62,6 +65,7 @@ export interface SingleTemplateCostResult {
|
|
|
62
65
|
costBreakdown: CostBreakdown;
|
|
63
66
|
summary: string;
|
|
64
67
|
metadata: AnalysisMetadata;
|
|
68
|
+
recommendations?: OptimizationResult;
|
|
65
69
|
}
|
|
66
70
|
/**
|
|
67
71
|
* Options for analyzing a single template
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { ResourceCost, ModifiedResourceCost } from '../pricing/types';
|
|
2
|
+
import { OptimizationResult } from '../optimization/types';
|
|
2
3
|
export interface AnalyzeOptions {
|
|
3
4
|
baseTemplate: string;
|
|
4
5
|
targetTemplate: string;
|
|
5
6
|
region?: string;
|
|
6
7
|
format?: 'text' | 'json' | 'markdown';
|
|
8
|
+
recommendations?: boolean;
|
|
7
9
|
}
|
|
8
10
|
export interface CostAnalysisResult {
|
|
9
11
|
totalDelta: number;
|
|
@@ -12,4 +14,5 @@ export interface CostAnalysisResult {
|
|
|
12
14
|
removedResources: ResourceCost[];
|
|
13
15
|
modifiedResources: ModifiedResourceCost[];
|
|
14
16
|
summary: string;
|
|
17
|
+
recommendations?: OptimizationResult;
|
|
15
18
|
}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import { OptimizationConfig } from '../optimization/types';
|
|
1
2
|
export interface CostAnalyzerConfig {
|
|
2
3
|
thresholds?: ThresholdConfig;
|
|
3
4
|
usageAssumptions?: UsageAssumptionsConfig;
|
|
4
5
|
synthesis?: SynthesisConfig;
|
|
5
6
|
exclusions?: ExclusionsConfig;
|
|
6
7
|
cache?: CacheConfig;
|
|
8
|
+
optimization?: OptimizationConfig;
|
|
7
9
|
}
|
|
8
10
|
export interface ThresholdConfig {
|
|
9
11
|
default?: ThresholdLevels;
|
|
@@ -127,6 +129,56 @@ export interface UsageAssumptionsConfig {
|
|
|
127
129
|
/** Number of API calls per month (default: 10,000) */
|
|
128
130
|
monthlyApiCalls?: number;
|
|
129
131
|
};
|
|
132
|
+
/**
|
|
133
|
+
* Aurora Serverless usage assumptions for cost estimation.
|
|
134
|
+
*
|
|
135
|
+
* @see https://aws.amazon.com/rds/aurora/pricing/
|
|
136
|
+
*/
|
|
137
|
+
auroraServerless?: {
|
|
138
|
+
/** Minimum ACU capacity (default: 0.5) */
|
|
139
|
+
minACU?: number;
|
|
140
|
+
/** Maximum ACU capacity (default: 16) */
|
|
141
|
+
maxACU?: number;
|
|
142
|
+
/** Storage size in GB (default: 100) */
|
|
143
|
+
storageGB?: number;
|
|
144
|
+
};
|
|
145
|
+
/**
|
|
146
|
+
* Transit Gateway usage assumptions for cost estimation.
|
|
147
|
+
*
|
|
148
|
+
* @see https://aws.amazon.com/transit-gateway/pricing/
|
|
149
|
+
*/
|
|
150
|
+
transitGateway?: {
|
|
151
|
+
/** Number of VPC/VPN attachments (default: 3) */
|
|
152
|
+
attachments?: number;
|
|
153
|
+
/** Monthly data processed in GB (default: 1000) */
|
|
154
|
+
monthlyDataGB?: number;
|
|
155
|
+
};
|
|
156
|
+
/**
|
|
157
|
+
* Route 53 usage assumptions for cost estimation.
|
|
158
|
+
*
|
|
159
|
+
* @see https://aws.amazon.com/route53/pricing/
|
|
160
|
+
*/
|
|
161
|
+
route53?: {
|
|
162
|
+
/** Monthly DNS queries (default: 1,000,000) */
|
|
163
|
+
monthlyQueries?: number;
|
|
164
|
+
};
|
|
165
|
+
/**
|
|
166
|
+
* Kinesis usage assumptions for cost estimation.
|
|
167
|
+
*
|
|
168
|
+
* @see https://aws.amazon.com/kinesis/pricing/
|
|
169
|
+
*/
|
|
170
|
+
kinesis?: {
|
|
171
|
+
/** Number of shards for provisioned streams (default: 2) */
|
|
172
|
+
shardCount?: number;
|
|
173
|
+
/** Monthly data ingestion in GB for on-demand streams (default: 1000) */
|
|
174
|
+
ingestionGB?: number;
|
|
175
|
+
/** Monthly data retrieval in GB for on-demand streams (default: 2000) */
|
|
176
|
+
retrievalGB?: number;
|
|
177
|
+
/** Monthly data ingestion in GB for Firehose (default: 1000) */
|
|
178
|
+
firehoseGB?: number;
|
|
179
|
+
/** Number of Kinesis Processing Units for Analytics (default: 2) */
|
|
180
|
+
kpus?: number;
|
|
181
|
+
};
|
|
130
182
|
}
|
|
131
183
|
export interface SynthesisConfig {
|
|
132
184
|
appPath?: string;
|