import { ReactElement } from 'react'; import { LinuxIcon, WindowsIcon } from '@nx/nx-dev/ui-icons'; import { SectionDescription, SectionHeading } from '@nx/nx-dev/ui-common'; const nonComputeItems = [ { name: 'CI Pipeline Execution', description: 'A CI Pipeline Execution is a CI run or a Workflow run (depending on your CI provider). For instance, running a PR or running CI on the main branch are CI Pipeline Executions.', creditCost: 500, suffix: 'execution', }, ]; const linuxAmd64 = [ { icon: , name: 'Small', description: '1 vCPU, 2GB RAM', creditCost: 5, }, { icon: , name: 'Medium', description: '2 vCPU, 4GB RAM', creditCost: 10, }, { icon: , name: 'Medium +', description: '3 vCPU, 6GB RAM', creditCost: 15, }, { icon: , name: 'Large', description: '4 vCPU, 8GB RAM', creditCost: 20, }, { icon: , name: 'Large +', description: '4 vCPU, 10GB RAM', creditCost: 30, }, { icon: , name: 'Extra large', description: '8 vCPU, 16GB RAM', creditCost: 40, }, { icon: , name: 'Extra large +', description: '10 vCPU, 20GB RAM', creditCost: 60, }, ]; const linuxArm64 = [ { icon: , name: 'Medium', description: '2 vCPU, 8GB RAM', creditCost: 13, }, { icon: , name: 'Large', description: '4 vCPU, 16GB RAM', creditCost: 26, }, { icon: , name: 'Extra large', description: '8 vCPU, 32GB RAM', creditCost: 52, }, ]; const windows = [ { icon: , name: 'Medium', description: '3 vCPU, 6GB RAM', creditCost: 40, }, ]; export function CreditPricing(): ReactElement { return ( Credit pricing Non-compute pricing {nonComputeItems.map((project) => ( {project.name} {project.description} {new Intl.NumberFormat('en-US', { style: 'decimal', }).format(project.creditCost)}{' '} credits/{project.suffix} ))} Agents resource classes Docker / Linux AMD64 {linuxAmd64.map((project) => ( {project.icon} {project.name} {project.description} {new Intl.NumberFormat('en-US', { style: 'decimal', }).format(project.creditCost)}{' '} credits/min ))} Docker / Linux ARM64 {linuxArm64.map((project) => ( {project.icon} {project.name} {project.description} {project.creditCost} credits/min ))} Docker / Windows {windows.map((project) => ( {project.icon} {project.name} {project.description} {project.creditCost} credits/min ))} ); }
{project.description}