This is a showcase/demonstration project created with Claude Code, not a production-ready application.
This tool was built to explore and demonstrate:
- AWS Partner Central Selling API capabilities
- AWS Marketplace Catalog API integration
- TypeScript CLI development patterns
- Colorful terminal output with CLI libraries
Not intended for production use. Use at your own risk. This is a learning/exploration tool, not enterprise software.
This TypeScript CLI tool explores both the AWS Partner Central Selling API and AWS Marketplace Catalog API with colorful, tabular output.
- List all Partner Central opportunities with automatic pagination
- Color-coded lifecycle stages and review status
- Human-readable dates and formatted currency
- Streaming output (memory efficient)
- Comprehensive explorer - Automatically iterate through all entity types
- Detailed entity information - Calls DescribeEntity for each item to show full details
- Summary view - See counts for each entity type at a glance
- Support for all 11 entity types:
- Products: AmiProduct, ContainerProduct, DataProduct, SaaSProduct
- Business: Offer, Seller, ResaleAuthorization
- Settings: ProcurementPolicy, Experience, Audience, BrandingSettings
- Rich entity details:
- Offers: State, pricing terms, target accounts, markup percentage
- Products: Versions, descriptions, product metadata
- Sellers: Business information
- Paginated results with clean formatting
- Beautiful tabular output with colors
- Real-time streaming as data is fetched
- Clear error messages with troubleshooting hints
-
Install Dependencies:
npm install
-
AWS Credentials: Configure your AWS credentials:
# Option 1: Environment variables export AWS_ACCESS_KEY_ID="your-access-key" export AWS_SECRET_ACCESS_KEY="your-secret-key" export AWS_SESSION_TOKEN="your-session-token" # if using temporary credentials # Option 2: AWS CLI configuration aws configure
-
IAM Permissions: Ensure your AWS user/role has permissions for:
For APN:
partnercentral-selling:ListOpportunitiespartnercentral-selling:GetOpportunity
For Marketplace:
aws-marketplace:ListEntities(required for listing)aws-marketplace:DescribeEntity(required for detailed information)
-
Access Requirements:
- AWS Partner Network registration (for APN features)
- AWS Marketplace seller registration (for Marketplace features)
npm run start:apnExplore All Entity Types (with summary):
npm run start:marketplaceThis will iterate through ALL entity types and provide a summary table showing the count for each type.
Specific Entity Type:
npm run start:marketplace <EntityType>Available Entity Types:
AmiProduct- AMI-based productsContainerProduct- Container-based productsDataProduct- Data productsSaaSProduct- SaaS productsOffer- Marketplace offersSeller- Seller informationResaleAuthorization- Resale authorizationsProcurementPolicy- Procurement policiesExperience- Marketplace experiencesAudience- Target audiencesBrandingSettings- Branding configurations
Examples:
# Explore all entity types (comprehensive view)
npm run start:marketplace
# List specific entity types
npm run start:marketplace SaaSProduct
npm run start:marketplace Offer
npm run start:marketplace ContainerProduct
npm run start:marketplace ResaleAuthorizationnpm startnpm run buildThe script uses us-east-1 by default. You can change the region in index.ts:
const apnClient = new PartnerCentralSellingClient({
region: "your-preferred-region"
});
const marketplaceClient = new MarketplaceCatalogClient({
region: "your-preferred-region"
});- Check your AWS credentials are configured correctly
- Verify IAM permissions for the specific API
- Ensure you're registered with APN/Marketplace
- APN: You may not have any opportunities in the catalog yet
- Marketplace: Check if you have published entities of that type
- Try different entity types to see what's available
- Some entity types may be empty if not used in your account
- Partner Central Selling API is available in specific regions
- Marketplace Catalog API availability varies by region