{"_id":"@aws-mdaa/sagemaker-endpoint","_rev":"4-b2f240e9c1a75b49863747e056455bb1","name":"@aws-mdaa/sagemaker-endpoint","dist-tags":{"latest":"1.8.1"},"versions":{"1.6.0":{"name":"@aws-mdaa/sagemaker-endpoint","version":"1.6.0","author":{"url":"https://aws.amazon.com/solutions","name":"Amazon Web Services"},"license":"Apache-2.0","_id":"@aws-mdaa/sagemaker-endpoint@1.6.0","maintainers":[{"name":"mdaa-dev-team","email":"mdaa-dev-team@amazon.com"}],"homepage":"https://github.com/aws/modern-data-architecture-accelerator#readme","bugs":{"url":"https://github.com/aws/modern-data-architecture-accelerator/issues"},"bin":{"sagemaker-endpoint-cdk":"bin/sagemaker-endpoint.js"},"dist":{"shasum":"6d32e45fb96694a6b2aeac54736b5f368db00793","tarball":"https://registry.npmjs.org/@aws-mdaa/sagemaker-endpoint/-/sagemaker-endpoint-1.6.0.tgz","fileCount":30,"integrity":"sha512-34rdmLOfr2Uv+TG9sMXp9zQMnGcp4rvbg4oo/jP7cODM/x3MqwQSsgWmhtgBSG/E1X6ZjM6ue5MbC6jbFauzWQ==","signatures":[{"sig":"MEQCIHBw6zKt1eYvAUr9ouY/+i3h5JbxsTdp7YvmGEC4pv1YAiBJO/0tTs+9QQ3NUkgUcACT6WSdFduMFj1MVwP1c2wyaw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1161422},"main":"lib/index.js","_from":"file:/Users/guoneng/projects/mdaa/mdaa-pipeline/npmjs-build/mdaa/target/package-build/aws-mdaa-sagemaker-endpoint-1.6.0.tgz","types":"lib/index.d.ts","scripts":{"cdk":"cdk","lint":"eslint --max-warnings 0 -c ../../../../eslint.config.mjs","test":"jest --passWithNoTests --coverage","build":"../../../../scripts/build/build_package.sh SageMakerEndpointConfigContents","watch":"tsc -w","test:coverage":"jest --passWithNoTests --coverage --testPathIgnorePatterns='.*\\.snapshot\\.test\\.ts'","test:snapshots":"jest --passWithNoTests --testPathPattern='.*\\.snapshot\\.test\\.ts'","test:package-docs":"../../../../scripts/generate_docs/test_package_docs.sh","test:snapshots:update":"jest --passWithNoTests --testPathPattern='.*\\.snapshot\\.test\\.ts' --updateSnapshot","test:update-baselines":"UPDATE_BASELINES=true jest --passWithNoTests --testPathPattern='.*\\.diff\\.test\\.ts'"},"_npmUser":{"name":"mdaa-dev-team","email":"mdaa-dev-team@amazon.com"},"_resolved":"/Users/guoneng/projects/mdaa/mdaa-pipeline/npmjs-build/mdaa/target/package-build/aws-mdaa-sagemaker-endpoint-1.6.0.tgz","_integrity":"sha512-34rdmLOfr2Uv+TG9sMXp9zQMnGcp4rvbg4oo/jP7cODM/x3MqwQSsgWmhtgBSG/E1X6ZjM6ue5MbC6jbFauzWQ==","repository":{"url":"git+https://github.com/aws/modern-data-architecture-accelerator.git","type":"git"},"_npmVersion":"10.9.4","description":"MDAA SageMaker Endpoint app — pure CDK real-time inference endpoint","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ajv":"8.18.0","yaml":"1.10.2","cdk-nag":"2.37.55","constructs":"10.0.96","aws-cdk-lib":"2.220.0","@aws-mdaa/app":"1.6.0","@aws-mdaa/config":"1.6.0","source-map-support":"0.5.21","@aws-mdaa/l3-construct":"1.6.0","@aws-mdaa/iam-role-helper":"1.6.0","@aws-mdaa/sagemaker-model-deploy-l3-construct":"1.6.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","ts-jest":"29.4.6","ts-node":"10.9.2","typescript":"5.9.3","@types/jest":"29.5.14","@types/node":"22.9.0","@aws-mdaa/testing":"1.6.0","typescript-json-schema":"0.67.4"},"_npmOperationalInternal":{"tmp":"tmp/sagemaker-endpoint_1.6.0_1779447958542_0.8727732599225555","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"@aws-mdaa/sagemaker-endpoint","version":"1.7.0","author":{"url":"https://aws.amazon.com/solutions","name":"Amazon Web Services"},"license":"Apache-2.0","_id":"@aws-mdaa/sagemaker-endpoint@1.7.0","maintainers":[{"name":"mdaa-dev-team","email":"mdaa-dev-team@amazon.com"}],"homepage":"https://github.com/aws/modern-data-architecture-accelerator#readme","bugs":{"url":"https://github.com/aws/modern-data-architecture-accelerator/issues"},"bin":{"sagemaker-endpoint-cdk":"bin/sagemaker-endpoint.js"},"dist":{"shasum":"e8c3548b7f3e0cd0cced9248ab22e8c0c86beebc","tarball":"https://registry.npmjs.org/@aws-mdaa/sagemaker-endpoint/-/sagemaker-endpoint-1.7.0.tgz","fileCount":30,"integrity":"sha512-+orElURcYK4hAltzXNE5a99haJcwA+SmbPF+3q2mx1WewB7zWeRi0nvpiZVnulc7lzw9G8gHoATQgisTwmgfhw==","signatures":[{"sig":"MEQCIBujRAKOWg39bbS3adIMpw7BooxithaYzrlQo6/L2poNAiAvYBGm8i6qKkmF6hmZfDhUIoYvd3AAty9gj1ytLngaJQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1206582},"main":"lib/index.js","_from":"file:/Users/guoneng/projects/mdaa/mdaa-pipeline/npmjs-build/mdaa/target/package-build/aws-mdaa-sagemaker-endpoint-1.7.0.tgz","types":"lib/index.d.ts","scripts":{"cdk":"cdk","lint":"eslint --max-warnings 0 -c ../../../../eslint.config.mjs","test":"jest --passWithNoTests --coverage","build":"../../../../scripts/build/build_package.sh SageMakerEndpointConfigContents","watch":"tsc -w","test:coverage":"jest --passWithNoTests --coverage --testPathIgnorePatterns='.*\\.snapshot\\.test\\.ts'","test:snapshots":"jest --passWithNoTests --testPathPattern='.*\\.snapshot\\.test\\.ts'","test:package-docs":"../../../../scripts/generate_docs/test_package_docs.sh","test:snapshots:update":"jest --passWithNoTests --testPathPattern='.*\\.snapshot\\.test\\.ts' --updateSnapshot","test:update-baselines":"UPDATE_BASELINES=true jest --passWithNoTests --testPathPattern='.*\\.diff\\.test\\.ts'"},"_npmUser":{"name":"mdaa-dev-team","email":"mdaa-dev-team@amazon.com"},"_resolved":"/Users/guoneng/projects/mdaa/mdaa-pipeline/npmjs-build/mdaa/target/package-build/aws-mdaa-sagemaker-endpoint-1.7.0.tgz","_integrity":"sha512-+orElURcYK4hAltzXNE5a99haJcwA+SmbPF+3q2mx1WewB7zWeRi0nvpiZVnulc7lzw9G8gHoATQgisTwmgfhw==","repository":{"url":"git+https://github.com/aws/modern-data-architecture-accelerator.git","type":"git"},"_npmVersion":"10.9.4","description":"MDAA SageMaker Endpoint app — pure CDK real-time inference endpoint","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ajv":"8.18.0","yaml":"1.10.3","cdk-nag":"2.37.55","constructs":"10.6.0","aws-cdk-lib":"2.258.0","@aws-mdaa/app":"1.7.0","@aws-mdaa/config":"1.7.0","source-map-support":"0.5.21","@aws-mdaa/l3-construct":"1.7.0","@aws-mdaa/iam-role-helper":"1.7.0","@aws-mdaa/sagemaker-model-deploy-l3-construct":"1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","ts-jest":"29.4.6","ts-node":"10.9.2","typescript":"5.9.3","@types/jest":"29.5.14","@types/node":"22.9.0","@aws-mdaa/testing":"1.7.0","typescript-json-schema":"0.67.4"},"_npmOperationalInternal":{"tmp":"tmp/sagemaker-endpoint_1.7.0_1784277920937_0.608232063872814","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"@aws-mdaa/sagemaker-endpoint","version":"1.8.0","author":{"url":"https://aws.amazon.com/solutions","name":"Amazon Web Services"},"license":"Apache-2.0","_id":"@aws-mdaa/sagemaker-endpoint@1.8.0","maintainers":[{"name":"mdaa-dev-team","email":"mdaa-dev-team@amazon.com"}],"homepage":"https://github.com/aws/modern-data-architecture-accelerator#readme","bugs":{"url":"https://github.com/aws/modern-data-architecture-accelerator/issues"},"bin":{"sagemaker-endpoint-cdk":"bin/sagemaker-endpoint.js"},"dist":{"shasum":"5ea5026dfbf8ceb7fc6ea7a8efdd7e85a56e54fb","tarball":"https://registry.npmjs.org/@aws-mdaa/sagemaker-endpoint/-/sagemaker-endpoint-1.8.0.tgz","fileCount":30,"integrity":"sha512-cpHFBMJn9xqszEpTWtn1GJ0bY3cqBcvIp1/m2UOc5vnqdLnXG8Cvd1As6OTKRv5A+w9Xl68SBsng6eACJSc6iA==","signatures":[{"sig":"MEYCIQCl/GeFExRioxsvh5Li669wOE3+jJ9foa4++zoBzF6XOAIhAMU+I9D3IrPQ9easCBaDJldYajclbo27Ub20dwod20sA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1206558},"main":"lib/index.js","_from":"file:/Users/guoneng/.cache/mdaa-publish/mdaa/target/package-build/aws-mdaa-sagemaker-endpoint-1.8.0.tgz","types":"lib/index.d.ts","scripts":{"cdk":"cdk","lint":"eslint --max-warnings 0 -c ../../../../eslint.config.mjs","test":"jest --passWithNoTests --coverage","build":"../../../../scripts/build/build_package.sh SageMakerEndpointConfigContents","watch":"tsc -w","test:coverage":"jest --passWithNoTests --coverage --testPathIgnorePatterns='.*\\.snapshot\\.test\\.ts'","test:snapshots":"jest --passWithNoTests --testPathPattern='.*\\.snapshot\\.test\\.ts'","test:package-docs":"../../../../scripts/generate_docs/test_package_docs.sh","test:snapshots:update":"jest --passWithNoTests --testPathPattern='.*\\.snapshot\\.test\\.ts' --updateSnapshot","test:update-baselines":"UPDATE_BASELINES=true jest --passWithNoTests --testPathPattern='.*\\.diff\\.test\\.ts'"},"_npmUser":{"name":"mdaa-dev-team","email":"mdaa-dev-team@amazon.com"},"_resolved":"/Users/guoneng/.cache/mdaa-publish/mdaa/target/package-build/aws-mdaa-sagemaker-endpoint-1.8.0.tgz","_integrity":"sha512-cpHFBMJn9xqszEpTWtn1GJ0bY3cqBcvIp1/m2UOc5vnqdLnXG8Cvd1As6OTKRv5A+w9Xl68SBsng6eACJSc6iA==","repository":{"url":"git+https://github.com/aws/modern-data-architecture-accelerator.git","type":"git"},"_npmVersion":"10.9.8","description":"MDAA SageMaker Endpoint app — pure CDK real-time inference endpoint","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ajv":"8.18.0","yaml":"1.10.3","cdk-nag":"2.37.55","constructs":"10.6.0","aws-cdk-lib":"2.261.0","@aws-mdaa/app":"1.8.0","@aws-mdaa/config":"1.8.0","source-map-support":"0.5.21","@aws-mdaa/l3-construct":"1.8.0","@aws-mdaa/iam-role-helper":"1.8.0","@aws-mdaa/sagemaker-model-deploy-l3-construct":"1.8.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","ts-jest":"29.4.6","ts-node":"10.9.2","typescript":"5.9.3","@types/jest":"29.5.14","@types/node":"22.9.0","@aws-mdaa/testing":"1.8.0","typescript-json-schema":"0.67.4"},"_npmOperationalInternal":{"tmp":"tmp/sagemaker-endpoint_1.8.0_1788288127678_0.680203361859318","host":"s3://npm-registry-packages-npm-production"}},"1.8.1":{"_id":"@aws-mdaa/sagemaker-endpoint@1.8.1","bin":{"sagemaker-endpoint-cdk":"bin/sagemaker-endpoint.js"},"bugs":{"url":"https://github.com/aws/modern-data-architecture-accelerator/issues"},"dist":{"shasum":"ff0a8b021345ca90d3348096a663952e833513dc","tarball":"https://registry.npmjs.org/@aws-mdaa/sagemaker-endpoint/-/sagemaker-endpoint-1.8.1.tgz","fileCount":30,"integrity":"sha512-AFldhiEAvwzBEZroKEjfta4ytuc2MXL59Hk+3cygJVxrJqDO4QLKzFjNDadE2Z8Dp2+4VBBJ0pAQqs3ylYUpqA==","signatures":[{"sig":"MEQCIGNC9VimrG2fYTNyw80nK6fWGwfVqo6K7U3byudpvyCxAiANVLFfVfNt98VWRZm5NafQNYGHMZZ4TWCtMx1DJdVNUw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCJG+CM+PfxsmYTLVDbp4iDM6S7VtS64c7BT871Qa+cmwIhAOieGVzvHlJErFaoUVQJKh1K6nL3pmvvQH3U2nT+iyNG"}],"unpackedSize":1206558},"main":"lib/index.js","name":"@aws-mdaa/sagemaker-endpoint","_from":"file:/Users/guoneng/.cache/mdaa-publish/mdaa/target/package-build/aws-mdaa-sagemaker-endpoint-1.8.1.tgz","types":"lib/index.d.ts","author":{"url":"https://aws.amazon.com/solutions","name":"Amazon Web Services"},"license":"Apache-2.0","scripts":{"cdk":"cdk","lint":"eslint --max-warnings 0 -c ../../../../eslint.config.mjs","test":"jest --passWithNoTests --coverage","build":"../../../../scripts/build/build_package.sh SageMakerEndpointConfigContents","watch":"tsc -w","test:coverage":"jest --passWithNoTests --coverage --testPathIgnorePatterns='.*\\.snapshot\\.test\\.ts'","test:snapshots":"jest --passWithNoTests --testPathPattern='.*\\.snapshot\\.test\\.ts'","test:package-docs":"../../../../scripts/generate_docs/test_package_docs.sh","test:snapshots:update":"jest --passWithNoTests --testPathPattern='.*\\.snapshot\\.test\\.ts' --updateSnapshot","test:update-baselines":"UPDATE_BASELINES=true jest --passWithNoTests --testPathPattern='.*\\.diff\\.test\\.ts'"},"version":"1.8.1","_npmUser":{"name":"mdaa-dev-team","email":"mdaa-dev-team@amazon.com"},"homepage":"https://github.com/aws/modern-data-architecture-accelerator#readme","_resolved":"/Users/guoneng/.cache/mdaa-publish/mdaa/target/package-build/aws-mdaa-sagemaker-endpoint-1.8.1.tgz","_integrity":"sha512-AFldhiEAvwzBEZroKEjfta4ytuc2MXL59Hk+3cygJVxrJqDO4QLKzFjNDadE2Z8Dp2+4VBBJ0pAQqs3ylYUpqA==","repository":{"url":"git+https://github.com/aws/modern-data-architecture-accelerator.git","type":"git"},"_npmVersion":"10.9.8","description":"MDAA SageMaker Endpoint app — pure CDK real-time inference endpoint","directories":{},"maintainers":[{"name":"mdaa-dev-team","email":"mdaa-dev-team@amazon.com"}],"_nodeVersion":"22.23.1","dependencies":{"ajv":"8.18.0","yaml":"1.10.3","cdk-nag":"2.37.55","constructs":"10.6.0","aws-cdk-lib":"2.261.0","@aws-mdaa/app":"1.8.1","@aws-mdaa/config":"1.8.1","source-map-support":"0.5.21","@aws-mdaa/l3-construct":"1.8.1","@aws-mdaa/iam-role-helper":"1.8.1","@aws-mdaa/sagemaker-model-deploy-l3-construct":"1.8.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","ts-jest":"29.4.6","ts-node":"10.9.2","typescript":"5.9.3","@types/jest":"29.5.14","@types/node":"22.9.0","@aws-mdaa/testing":"1.8.1","typescript-json-schema":"0.68.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sagemaker-endpoint_1.8.1_1789417284028_0.6251849859461711"}}},"time":{"created":"2026-05-22T11:05:58.370Z","modified":"2026-09-14T20:21:24.324Z","1.6.0":"2026-05-22T11:05:58.786Z","1.7.0":"2026-07-17T08:45:21.077Z","1.8.0":"2026-09-01T18:42:07.829Z","1.8.1":"2026-09-14T20:21:24.134Z"},"bugs":{"url":"https://github.com/aws/modern-data-architecture-accelerator/issues"},"author":{"url":"https://aws.amazon.com/solutions","name":"Amazon Web Services"},"license":"Apache-2.0","homepage":"https://github.com/aws/modern-data-architecture-accelerator#readme","repository":{"url":"git+https://github.com/aws/modern-data-architecture-accelerator.git","type":"git"},"description":"MDAA SageMaker Endpoint app — pure CDK real-time inference endpoint","maintainers":[{"name":"mdaa-dev-team","email":"mdaa-dev-team@amazon.com"}],"readme":"# SageMaker Endpoint\n\n> **Note:** This documentation is also available in a rendered format [here](https://aws.github.io/modern-data-architecture-accelerator/packages/apps/ai/sagemaker-endpoint-app/index.html).\n\nDeploys a real-time SageMaker inference endpoint from an approved model package using pure CDK constructs with no seed code required. The module creates the model definition, endpoint configuration, and endpoint resources directly from CloudFormation, enabling fully declarative endpoint management. Use this module when you need a production-ready real-time inference endpoint backed by a registered model package with data capture enabled for downstream monitoring.\n\n---\n\n## Deployed Resources\n\nThis module deploys and integrates the following resources:\n\n**SageMaker Model** - Model definition referencing an approved model package version from a Model Package Group.\n\n**SageMaker Endpoint Configuration** - Defines the hosting infrastructure including instance type, instance count, KMS encryption, and data capture settings.\n\n**SageMaker Endpoint** - Real-time inference endpoint serving predictions from the configured model.\n\n**AWS KMS Key** - Customer-managed encryption key for endpoint storage volumes and data capture output.\n\n**AWS IAM Execution Role** - SageMaker execution role with permissions to pull model artifacts from S3 and write data capture output.\n\n**AWS SSM Parameters** - Publishes endpoint name, endpoint ARN, and model name for cross-module integration.\n\n<!-- Architecture diagram not yet available -->\n\n---\n\n## Related Modules\n\n- [SageMaker MLOps](../sagemaker-mlops-app/README.md) — Provides the Model Package Group, model bucket, and registered model versions that the endpoint serves\n- [SageMaker Model Monitoring](../sagemaker-model-monitoring-app/README.md) — Monitors the deployed endpoint for data quality, model quality, bias, and explainability drift\n- [SageMaker Studio Domain](../sm-studio-domain-app/README.md) — Provides SageMaker domain tagging context for resource governance\n\n---\n\n## Security/Compliance Details\n\nThis module is designed in alignment with MDAA security/compliance principles and CDK nag rulesets. Additional review is recommended prior to production deployment, ensuring organization-specific compliance requirements are met.\n\n- **Encryption at Rest**:\n  - Endpoint storage volumes encrypted with customer-managed KMS key\n  - Data capture output encrypted with KMS\n  - Model artifacts referenced from KMS-encrypted S3 buckets\n- **Encryption in Transit**:\n  - All S3 access enforced over HTTPS\n  - Endpoint traffic served over TLS\n- **Least Privilege**:\n  - SageMaker execution role scoped to specific model package group and S3 paths\n  - KMS key policy restricts usage to the execution role and admin principals\n- **Network Isolation**:\n  - Endpoint supports VPC configuration with security groups and subnets\n  - Network isolation mode prevents containers from making outbound network calls\n- **Data Protection**:\n  - Data capture configuration enables logging of inference requests and responses for audit and monitoring\n\n---\n\n## Configuration\n\n### MDAA Config\n\nAdd the following snippet to your mdaa.yaml under the `modules:` section of a domain/env in order to use this module:\n\n```yaml\nsagemaker-endpoint: # Module Name can be customized\n  module_path: '@aws-mdaa/sagemaker-endpoint' # Must match module NPM package name\n  module_configs:\n    - ./sagemaker-endpoint.yaml # Filename/path can be customized\n```\n\n### Module Config Samples and Variants\n\nCopy the contents of the relevant sample config below into the `./sagemaker-endpoint.yaml` file referenced in the MDAA config snippet above.\n\n#### Minimal Configuration\n\nStart here for a single-variant endpoint with default instance type and no data capture, referencing an existing model package.\n\n[sample-config-minimal.yaml](sample_configs/sample-config-minimal.yaml)\n\n```yaml\n--8<-- \"target/docs/packages/apps/ai/sagemaker-endpoint-app/sample_configs/sample-config-minimal.yaml\"\n```\n\n#### Comprehensive Configuration\n\nUse this as a reference when you need full control over endpoint variants, data capture settings, VPC network isolation, and auto-scaling configuration.\n\n[sample-config-comprehensive.yaml](sample_configs/sample-config-comprehensive.yaml)\n\n```yaml\n--8<-- \"target/docs/packages/apps/ai/sagemaker-endpoint-app/sample_configs/sample-config-comprehensive.yaml\"\n```\n","readmeFilename":"README.md"}