Skip to main content

Features

This page provides a comprehensive catalog of Visual Asset Management System (VAMS) features, organized by component. VAMS includes capabilities spanning the web interface, REST API, command line interface, backend services, processing pipelines, and infrastructure.


Web Interface Features

The VAMS web interface is a React 17 application built with Vite and the AWS Cloudscape Design System. It provides a complete browser-based experience for asset management and visualization.

Viewer Plugins

VAMS includes 17 built-in viewer plugins across five categories (3D, Media, Document, Data, and Preview). The plugin-based architecture supports lazy loading, per-plugin dependency management, automatic viewer selection based on file extension, and fullscreen mode. Two additional licensed viewers (VNTANA and VEERUM) provide commercial-grade rendering for GLB models and point clouds.

For the complete list of supported file viewers and extensions, see File Viewers.

Asset Management

  • Database organization -- Create and manage multiple databases, each with their own Amazon S3 bucket, metadata configuration, and access controls
  • Asset versioning -- Create, browse, compare, edit, archive, and unarchive asset versions with alias naming and comment fields
  • Version selector -- Filter the file manager and metadata views to display data from a specific stored version (read-only)
  • Asset preview thumbnails -- Display generated preview images in asset detail pages and search results
  • Cross-database asset linking -- Create relationships between assets across different databases
  • File manager -- Hierarchical file tree with folder expansion, file selection, copy, move, and rename operations
  • Drag-and-drop upload -- Upload files and folders directly through the browser with progress tracking
  • Metadata management -- View and edit asset-level and file-level metadata with configurable schemas
  • Tag management -- Assign tags to assets using custom tag types for classification
  • Comments -- Rich text comments with collaborative review workflows
  • Subscriptions -- Subscribe to asset change notifications
  • Full-text search -- Search across asset names, descriptions, metadata fields, and file attributes
  • Asset and file search -- Separate search scopes for assets and files with column-specific filters
  • Preview thumbnails in results -- Visual asset identification directly in search result listings
  • Result paging -- Full result counts with proper pagination

User Interface

  • Dark and light themes -- Toggle between dark mode (default) and light mode from the top navigation settings
  • Responsive layout -- AWS Cloudscape Design System components with consistent AWS console styling
  • Split navigation -- Admin sections split into "Admin - Auth" and "Admin - Data" categories
  • Share URLs -- Generate shareable URLs with toggle between URLs (Embedded Auth) for time-limited presigned access and URLs (API Stream) for long-lasting authorization token URIs
  • Configurable display names -- Customize terminology for "Asset", "Database", and "Comment" through the synonyms system
  • Custom banner messages -- Display organizational announcements via the optionalBannerHtmlMessage configuration

Administration

  • Amazon Cognito user management -- Add, update, remove, and reset passwords for Amazon Cognito users directly from the web interface (no AWS Console required)
  • API key management -- Create, update, and delete API keys with user ID impersonation for application-to-application integration
  • Role management -- Create and manage roles with two-tier permission constraints
  • Permission constraint management -- Define, import, and manage ABAC/RBAC constraints with bulk JSON template import
  • Pipeline management -- Create, edit, and delete processing pipelines with execution type selection (Lambda, SQS, EventBridge)
  • Workflow management -- Design multi-step processing workflows with pipeline chaining
  • Metadata schema management -- Define and manage metadata schemas for assets, files, databases, and asset links

API Features

VAMS exposes a REST API through Amazon API Gateway V2 HttpApi, secured by a custom Lambda authorizer.

Core API Capabilities

DomainEndpointsDescription
AssetsCRUD + download + streamAsset lifecycle management with version-aware operations
Asset VersionsCreate, update, archive, unarchiveVersion management with alias naming and metadata restoration
Asset LinksCRUDCross-database asset relationships
DatabasesCRUDDatabase lifecycle with metadata and Amazon S3 bucket management
FilesUpload, download, copy, move, deleteFile operations with presigned URL generation
MetadataCRUDAsset-level and file-level metadata with version support
Metadata SchemasCRUDSchema definitions for structured metadata validation
TagsCRUDTag assignment and management
Tag TypesCRUDCustom tag type definitions
PipelinesCRUDPipeline registration and configuration
WorkflowsCRUD + executeWorkflow design and execution
SearchQueryFull-text and attribute-based search
CommentsCRUDAsset-level comments
SubscriptionsCRUDChange notification subscriptions
AuthRoutes, constraints, roles, user-rolesPermission and authorization management
Cognito UsersCRUD + reset passwordUser management (Amazon Cognito mode only)
API KeysCRUDAPI key lifecycle management
ConfigAmplify config, secure config, versionRuntime configuration and feature flags

API Security

  • Custom Lambda authorizer with JWT token validation and optional IP range restrictions
  • Two-tier authorization enforcement on every request (API-level and object-level)
  • Configurable rate limiting with globalRateLimit (default: 50 requests per second) and globalBurstLimit (default: 100 requests per second)
  • Presigned URL generation for secure direct Amazon S3 access with configurable timeout
  • CORS support for cross-origin browser requests

API Access Patterns

  • Streaming downloads via GET /database/{databaseId}/assets/{assetId}/download/stream/{proxy+} with optional ?versionId= and ?assetVersionId= query parameters
  • Presigned URL downloads for large file transfers
  • Pagination using NextToken-based continuation for list endpoints
  • Bulk constraint import via POST /auth/constraintsTemplateImport with JSON templates and server-side variable substitution

CLI Features

The VamsCLI is a Python-based command line tool built on the Click framework. It supports profile-based multi-environment configuration and machine-readable JSON output.

Command Groups

Command GroupCommandsDescription
assetslist, get, create, delete, downloadAsset lifecycle operations
asset-linkslist, create, deleteCross-database asset relationship management
asset-versionlist, get, create, update, archive, unarchiveAsset version management
databaselist, get, create, deleteDatabase lifecycle operations
filelist, upload, download, delete, copy, moveFile operations with chunked upload
metadataget, updateMetadata read and write
metadata-schemalist, get, create, update, deleteMetadata schema management
searchassets, filesSearch assets and files
taglist, create, deleteTag management
tag-typelist, create, deleteTag type management
pipelinelist, getPipeline information
workflowlist, get, executeWorkflow management and execution
role-constraintlist, create, delete, template importPermission constraint management
userlist, add, update, remove, reset-passwordAmazon Cognito user management
authfeaturesAuthentication feature queries
apikeylist, create, update, deleteAPI key management
profilelist, create, delete, useMulti-environment profile management
setupconfigureInitial CLI configuration

CLI Capabilities

  • Profile management -- Configure and switch between multiple VAMS environments
  • JSON output mode -- Use --json-output flag for machine-readable output in automation scripts
  • Chunked file upload -- Large file uploads with progress monitoring and retry logic
  • Bulk operations -- Efficient batch processing of assets, files, and metadata
  • Permission template import -- Import JSON constraint templates with vamscli role-constraint template import
  • CI/CD integration -- Headless operation mode for build pipeline integration

Backend Features

Authorization System

  • Two-tier ABAC/RBAC -- Attribute-Based and Role-Based Access Control using Casbin policy enforcement
  • Tier 1 (API-level) -- Controls access to API routes and web navigation paths
  • Tier 2 (Object-level) -- Controls access to specific data entities (databases, assets, pipelines, tags, tag types)
  • GLOBAL keyword -- Apply constraints across all databases or resources
  • Deny overlay -- Layer deny constraints on top of allow constraints for exception-based access patterns
  • Pre-built templates -- Five pre-built permission profiles: database-admin, database-user, database-readonly, global-readonly, deny-tagged-assets

Metadata System

  • Configurable schemas -- Define metadata schemas for assets, files, databases, and asset links
  • Auto-loaded defaults -- Default schemas auto-loaded on deployment (configurable)
  • Version-aware metadata -- Metadata is versioned alongside asset versions
  • Metadata on copy/move -- File metadata is automatically carried forward during copy and move operations

Audit and Logging

  • Amazon CloudWatch audit log groups -- Nine dedicated audit log groups for authentication, authorization, file upload, file download, file download (streamed), auth changes, auth other, actions, and errors
  • AWS CloudTrail -- Optional stack-level AWS CloudTrail logging (enabled by default)
  • Structured logging -- AWS Lambda Powertools for consistent log formatting and correlation

Search Indexing

  • Dual-index architecture -- Separate Amazon OpenSearch indexes for assets (vams-assets-v2) and files (vams-files-v2)
  • Event-driven indexing -- Amazon SNS and Amazon SQS-based automatic index synchronization on asset and file changes
  • Preview file indexing -- str_previewfilekey and str_assetlocationkey fields in search indexes for optimized UI rendering
  • Re-index on deploy -- Optional reindexOnCdkDeploy flag for full index rebuild during deployment

Pipeline Features

Execution Types

Pipelines support three execution types for integration with different processing backends:

Execution TypeInvocationCallback SupportUse Case
LambdaSynchronous or asynchronous AWS Lambda invocationYes (native)Lightweight processing tasks
SQSAsynchronous message to an Amazon SQS queueOptional (via AWS Step Functions Task Tokens)External processing system integration
EventBridgeAsynchronous event to an Amazon EventBridge busOptional (via AWS Step Functions Task Tokens)Event-driven architecture integration

Built-In Pipelines

VAMS includes twelve built-in processing pipelines, each deployable through configuration flags:

PipelineConfig FlagDescriptionDefault
3D Conversion BasicuseConversion3dBasicFormat conversion using Trimesh and BlenderEnabled
CAD/Mesh Metadata ExtractionuseConversionCadMeshMetadataExtractionGeometric metadata extraction using CADQueryDisabled
Point Cloud Potree ViewerusePreviewPcPotreeViewerPotree octree generation for browser streamingDisabled
Gaussian Splat ToolboxuseSplatToolbox3D Gaussian splat generation from media filesDisabled
GenAI Metadata 3D LabelinguseGenAiMetadata3dLabelingAI-powered metadata labeling via Amazon BedrockDisabled
3D Preview ThumbnailusePreview3dThumbnailAnimated GIF or static image preview generationDisabled
NVIDIA Cosmos PredictuseNvidiaCosmos.modelsPredictGPU-accelerated video generation from text or image/video using NVIDIA Cosmos-Predict1 (v1) and Cosmos-Predict2.5 (v2.5) world foundation models with 7B (v1), 2B, and 14B (v2.5) model sizesDisabled
NVIDIA Cosmos ReasonuseNvidiaCosmos.modelsReasonVision Language Model for video/image analysis generating text-based captions, descriptions, and reasoning with Cosmos-Reason2 (2B, 8B) modelsDisabled
NVIDIA Cosmos TransferuseNvidiaCosmos.modelsTransferVideo transformation with control signal conditioning using Cosmos-Transfer2.5-2B for style transfer and content transformationDisabled
RapidPipeline (ECS/EKS)useRapidPipelineLicensed spatial data optimizationDisabled
VNTANA ModelOpsuseModelOpsLicensed ModelOps optimizationDisabled
NVIDIA Isaac Lab TraininguseIsaacLabTrainingReinforcement learning training and evaluationDisabled

Pipeline Capabilities

  • Auto-registration -- Pipelines can auto-register with VAMS on deployment via CDK custom resources
  • Auto-trigger on upload -- Configurable automatic pipeline execution when new files are uploaded
  • Workflow chaining -- Chain multiple pipelines into multi-step workflows orchestrated by AWS Step Functions
  • Custom pipeline support -- Register custom pipelines using Lambda, SQS, or EventBridge execution types
VPC Requirement

Pipelines that use AWS Batch Fargate containers require useGlobalVpc.enabled to be set to true. VPC endpoints for AWS Batch, Amazon ECR, and Amazon ECR Docker are automatically created when pipelines are enabled.


Infrastructure Features

Deployment Options

FeatureConfigurationDescription
Amazon CloudFrontuseCloudFront.enabledDefault web distribution with AWS-managed TLS certificate
CloudFront Custom DomainuseCloudFront.customDomainCustom domain with ACM certificate and optional Amazon Route 53 hosted zone
Application Load BalanceruseAlb.enabledAlternative web distribution for GovCloud and VPC-isolated deployments
VPCuseGlobalVpc.enabledShared VPC with configurable CIDR range or external VPC import
VPC EndpointsuseGlobalVpc.addVpcEndpointsAutomatic VPC endpoint creation for all required AWS services
External VPC ImportuseGlobalVpc.optionalExternalVpcIdImport existing VPC with isolated, private, and public subnets

Security

FeatureConfigurationDescription
AWS KMS CMK EncryptionuseKmsCmkEncryption.enabledCustomer-managed KMS key for all storage resources
External KMS KeyuseKmsCmkEncryption.optionalExternalCmkArnImport an existing AWS KMS CMK
AWS WAFuseWafWeb Application Firewall protection for Amazon CloudFront or Application Load Balancer
FIPS EndpointsuseFipsFederal Information Processing Standards compliant endpoints
IP Range RestrictionsauthorizerOptions.allowedIpRangesNetwork-level access control via the custom Lambda authorizer
TLS EnforcementAlways onAll Amazon S3 buckets deny non-TLS connections
CDK NagAlways onAWS Solutions security compliance checks on all resources
AWS CloudTrailaddStackCloudTrailLogsAPI-level audit logging (enabled by default)
Content Security PolicyDynamicCSP headers generated based on deployment configuration

Authentication Providers

ProviderConfigurationDescription
Amazon CognitoauthProvider.useCognito.enabledDefault authentication with user pool management
Amazon Cognito with SAMLauthProvider.useCognito.useSamlSAML federation with Amazon Cognito
External OAuth2authProvider.useExternalOAuthIdp.enabledExternal identity provider with PKCE flow

Feature Flags

VAMS uses a feature flag system to conditionally enable capabilities at deployment time. Feature flags are persisted to Amazon DynamoDB and read by the web interface at runtime.

Feature FlagDescription
GOVCLOUDIndicates AWS GovCloud deployment mode
ALLOWUNSAFEEVALEnables viewers requiring unsafe-eval CSP (CesiumJS, Needle USD)
LOCATIONSERVICESEnables Amazon Location Service integration for map views
ALBDEPLOYIndicates Application Load Balancer web distribution
CLOUDFRONTDEPLOYIndicates Amazon CloudFront web distribution
NOOPENSEARCHIndicates Amazon OpenSearch is disabled
AUTHPROVIDER_COGNITOIndicates Amazon Cognito authentication
AUTHPROVIDER_COGNITO_SAMLIndicates Amazon Cognito with SAML federation
AUTHPROVIDER_EXTERNALOAUTHIDPIndicates external OAuth2 authentication

Additional Configuration

  • API rate limiting -- Configurable globalRateLimit and globalBurstLimit on Amazon API Gateway
  • Presigned URL timeout -- Configurable expiration for Amazon S3 presigned URLs (default: 86400 seconds)
  • Token timeout -- Configurable credential token timeout for Amazon Cognito (default: 3600 seconds)
  • Metadata schema auto-loading -- Control which default metadata schemas are loaded on deployment
  • External asset buckets -- Register existing Amazon S3 buckets with VAMS for asset management
  • Custom Amazon S3 bucket policies -- Additional bucket policy statements via s3AdditionalBucketPolicyConfig.json
  • Addon framework -- Garnet Framework integration for NGSI-LD digital twin data synchronization