diff --git a/.claude/README.md b/.claude/README.md new file mode 100644 index 00000000..ee0fd0a0 --- /dev/null +++ b/.claude/README.md @@ -0,0 +1,204 @@ +# Claude Code Configuration for Seqera Platform CLI + +This directory contains Claude Code configuration and skills for contributors working on the Seqera Platform CLI codebase. + +## Skills Available + +### enrich-cli-help + +Systematic workflow for enriching CLI command option descriptions with OpenAPI-quality standards. + +**Use this skill when:** +- Improving help text for CLI command families +- Adding technical context and practical guidance to options +- Preparing CLI documentation updates for releases +- Following up on metadata extraction to enhance descriptions + +**Quick start:** +``` +/enrich-cli-help [command-family-name] +``` + +Or simply mention: "Let's enrich the [family] command options" + +**Documentation:** +- `skills/enrich-cli-help/SKILL.md` - Complete workflow guide +- `skills/enrich-cli-help/README.md` - Quick reference +- `skills/enrich-cli-help/references/` - Quality standards and architecture patterns + +**Proven track record:** +- Phase 3g: Compute-envs (13 platforms, 500+ options) +- Phase 3h: Credentials (12 providers, 29 options) +- Phase 3i: Runs (12 commands, 38 options) +- Phase 3j: Organizations/Teams/Members (15 commands, 26 options) + +**Total:** 593+ option descriptions enriched across 52 files + +## Project Context + +### Repository Structure +``` +tower-cli/ +├── src/main/java/io/seqera/tower/cli/ +│ ├── commands/ # CLI command implementations +│ └── utils/metadata/ +│ └── CliMetadataExtractor.java # Java reflection-based metadata extractor +├── docs/ +│ ├── cli-metadata.json # Extracted CLI metadata (966+ options) +│ ├── seqera-api-latest-decorated.yaml # OpenAPI spec with overlays +│ └── README.md # Documentation automation process +├── .claude/ # Claude Code configuration (this folder) +└── build.gradle # Gradle task: extractCliMetadata +``` + +### Key Files + +**Metadata Extraction:** +- `src/main/java/io/seqera/tower/cli/utils/metadata/CliMetadataExtractor.java` - Java reflection-based extractor using picocli CommandSpec API +- `build.gradle` - Contains `extractCliMetadata` Gradle task +- `docs/cli-metadata.json` - Generated metadata for 162 commands, 966+ options + +**Documentation:** +- `docs/README.md` - Complete automation process, workflow, and quality standards +- `.github/pull_request_template.md` - PR checklist ensures metadata stays current + +**OpenAPI Integration:** +- `docs/seqera-api-latest-decorated.yaml` - Decorated OpenAPI spec (API descriptions inform CLI help text quality) + +## Workflow Overview + +### CLI Documentation Automation Pipeline + +``` +1. Enrich Descriptions + └─> Use /enrich-cli-help skill for command families + └─> Manual editing of @CommandLine.Option descriptions in Java files + └─> OpenAPI schemas provide quality baseline + +2. Extract Metadata (Java Reflection) + └─> ./gradlew extractCliMetadata + └─> Deterministically captures all 966+ options including resolved mixins + └─> Outputs to docs/cli-metadata.json + +3. Verify & Commit + └─> git diff to review changes + └─> Comprehensive commit message with statistics + └─> PR template checklist ensures metadata is updated + └─> Push to feature branch + +4. On Release + └─> GitHub Actions workflow notifies docs repository + └─> Docs repo fetches cli-metadata.json from release + └─> Automated PR updates CLI reference documentation +``` + +### Branch Strategy + +All CLI enrichment work should be done on a dedicated feature branch (e.g., `feature/enrich-[command-family]`). + +## Getting Started + +### For New Contributors + +1. **Read the documentation:** + ```bash + cat docs/README.md + ``` + +2. **Check enrichment status:** + - Completed: compute-envs, credentials, runs, orgs/teams/members (624+ options) + - Remaining: Additional command families available for enrichment + +3. **Choose a command family to enrich:** + - Pipelines, workspaces, actions, datasets, secrets, labels, participants, etc. + - Use `/enrich-cli-help [family-name]` to start + +4. **Follow the proven workflow:** + - Phase 1: Parallel agent research (4 agents) + - Phase 2: Synthesis & planning + - Phase 3: Manual enrichment with quality standards + - Phase 4: Verification & commit + +5. **Update metadata before merging:** + ```bash + ./gradlew extractCliMetadata + git add docs/cli-metadata.json + git commit -m "Update CLI metadata" + ``` + +### Quality Standards + +All enriched descriptions must meet these criteria: +- **Technical precision**: Specify data types, formats, units +- **Practical guidance**: Include examples, prerequisites, command references +- **Security context**: Warn about sensitive fields, data loss +- **Operational clarity**: Explain scope, defaults, constraints +- **Pattern consistency**: Use standard descriptions for common options + +See `skills/enrich-cli-help/references/quality-standards.md` for detailed examples. + +## Architecture Patterns + +The tower-cli codebase uses several option definition patterns: + +### Pattern 1: Platform/Provider Mixin +- **Examples**: compute-envs, credentials +- **Characteristics**: Options in separate Platform/Provider classes +- **Metadata extraction**: Automatically captured via Java reflection (resolves @Mixin annotations) +- **Enrichment**: Manual editing of Platform/Provider Java files + +### Pattern 2: Direct Options +- **Examples**: runs, organizations, teams, members +- **Characteristics**: Options defined directly in command classes +- **Metadata extraction**: Automatically captured via Java reflection +- **Enrichment**: Manual editing for quality enhancement + +See `skills/enrich-cli-help/references/architecture-patterns.md` for complete pattern documentation. + +## Contributing + +### Adding New Skills + +To add a new skill to this repository: + +1. Create skill directory: + ```bash + mkdir -p .claude/skills/[skill-name] + ``` + +2. Add required files: + - `SKILL.md` - Main skill documentation with workflow + - `README.md` - Quick reference guide + - `references/` - Supporting documentation + - `scripts/` - Automation scripts (optional) + +3. Update this README with skill description + +4. Commit to repository: + ```bash + git add .claude/ + git commit -m "Add [skill-name] skill for contributors" + ``` + +### Settings + +Local Claude Code settings can be configured in `.claude/settings.local.json`. + +Current settings preserve conversation history for context continuity. + +## Resources + +### Documentation +- **Automation process**: `docs/README.md` +- **Metadata extractor**: `src/main/java/io/seqera/tower/cli/utils/metadata/CliMetadataExtractor.java` +- **Quality standards**: `skills/enrich-cli-help/references/quality-standards.md` +- **Architecture patterns**: `skills/enrich-cli-help/references/architecture-patterns.md` + +### External Links +- **CLI documentation**: https://docs.seqera.io/platform/latest/cli/overview +- **Seqera Platform API**: https://docs.seqera.io/platform/latest/api/overview +- **Claude Code docs**: https://claude.com/claude-code + +--- + +**Questions or issues?** Open an issue in the tower-cli repository or ask in #team-documentation Slack channel. diff --git a/.claude/skills/enrich-cli-help/README.md b/.claude/skills/enrich-cli-help/README.md new file mode 100644 index 00000000..83202aba --- /dev/null +++ b/.claude/skills/enrich-cli-help/README.md @@ -0,0 +1,51 @@ +# CLI Help Text Enrichment Skill + +This skill encapsulates the proven workflow for enriching Seqera Platform CLI command option descriptions with OpenAPI-quality standards. + +## Quick Start + +To use this skill: + +``` +/enrich-cli-help [command-family-name] +``` + +Or simply mention the family you want to enrich and I'll use this skill automatically. + +## What This Skill Does + +1. **Research Phase**: Launches 4 parallel agents to analyze command family architecture +2. **Planning Phase**: Synthesizes findings and creates enrichment plan +3. **Enrichment Phase**: Guides systematic manual enrichment with quality standards +4. **Verification Phase**: Reviews changes and creates comprehensive commit + +## Proven Track Record + +Successfully used to enrich: +- **Phase 3g**: Compute-envs (13 platforms, 500+ options) +- **Phase 3h**: Credentials (12 providers, 29 options) +- **Phase 3i**: Runs (12 commands, 38 options) +- **Phase 3j**: Organizations/Teams/Members (15 commands, 26 options) + +**Total**: 593+ option descriptions across 52 files in 5 command families + +## Key Features + +- Parallel agent research for efficient intelligence gathering +- Architecture pattern recognition (Platform/Provider vs Direct Options) +- OpenAPI schema integration for quality baseline +- Consistent pattern application across options +- Security and safety warning guidance +- Atomic commits with comprehensive documentation + +## Files + +- `SKILL.md` - Complete skill documentation +- `references/quality-standards.md` - Description quality standards and examples +- `references/architecture-patterns.md` - CLI architecture patterns reference + +## Requirements + +- Repository: `/Users/llewelyn-van-der-berg/Documents/GitHub/tower-cli` +- Branch: `ll-metadata-extractor-and-docs-automation` +- OpenAPI spec: `docs/seqera-api-latest-decorated.yaml` diff --git a/.claude/skills/enrich-cli-help/SKILL.md b/.claude/skills/enrich-cli-help/SKILL.md new file mode 100644 index 00000000..f7e451a9 --- /dev/null +++ b/.claude/skills/enrich-cli-help/SKILL.md @@ -0,0 +1,579 @@ +--- +name: enrich-cli-help +description: Enrich Seqera Platform CLI command option descriptions with OpenAPI-quality standards. Use when improving help text for CLI commands, working with picocli annotations, or preparing documentation for CLI releases. Encapsulates the proven workflow of parallel agent research, manual enrichment, and verification. +--- + +# CLI Help Text Enrichment for Seqera Platform CLI + +This skill provides a systematic approach to enriching CLI command option descriptions in the Seqera Platform CLI Java codebase, ensuring help text meets documentation quality standards. + +## When to Use This Skill + +Use this skill when: +- Enriching option descriptions for a CLI command family (e.g., pipelines, workspaces, runs) +- Improving help text quality for user-facing CLI commands +- Adding technical context and practical guidance to option descriptions +- Preparing CLI documentation updates for a new Seqera Platform CLI release +- Following up on metadata extraction to add OpenAPI-quality descriptions + +## Prerequisites + +- Seqera Platform CLI repository: `tower-cli` project root +- Working directory: Repository root directory +- Git branch: Feature branch for enrichment work (e.g., `feature/enrich-[command-family]`) +- OpenAPI spec available at: `docs/seqera-api-latest-decorated.yaml` + +## Core Workflow + +The enrichment process follows a proven 4-phase workflow that has been successfully applied to all command families. + +### Phase 1: Parallel Agent Research + +Launch 4 specialized agents in parallel to gather comprehensive intelligence about the command family. + +**Agent 1: codebase-locator** - File Discovery +``` +Prompt template: +"Find all command files in the [FAMILY_NAME] command family. Look for: +- Files in commands/[family]/ directory +- All *Cmd.java files +- Any nested subcommand directories +- Mixin/Options classes used by the commands + +List all command files found with their full paths." +``` + +**Agent 2: codebase-analyzer** - Architecture Analysis +``` +Prompt template: +"Analyze the [FAMILY_NAME] command family to identify: +1. All command files and their @CommandLine.Option annotations +2. Count total options across all commands +3. Identify any Platform/Provider mixin patterns (like compute-envs/credentials) +4. List current option descriptions to assess quality +5. Check if options are extracted by metadata system or hidden by mixins + +Focus on understanding the architecture and option extraction feasibility." +``` + +**Agent 3: codebase-analyzer OR codebase-pattern-finder** - OpenAPI/Patterns +``` +Option A (OpenAPI schemas available): +"Find OpenAPI schema references for [FAMILY_NAME] entities. Search for: +1. Related schemas in docs/seqera-api-latest-decorated.yaml +2. Entity DTOs and response models +3. Enum types and SecurityKeys patterns +4. Schema descriptions that can inform CLI option descriptions + +Provide file:line references where these schemas are used." + +Option B (Pattern finding): +"Find patterns in [FAMILY_NAME] commands: +1. Common option patterns (filters, pagination, identifiers) +2. Similar implementations across commands +3. Naming conventions and transform patterns +4. Examples of good existing descriptions" +``` + +**Agent 4: Decision Making / Additional Analysis** +``` +Use for supplementary analysis based on findings from other agents: +- Deep dive into specific files +- Validate architectural assumptions +- Check for edge cases +- Plan enrichment approach +``` + +**How to Execute**: +1. Launch all 4 agents in parallel using Task tool with single message containing 4 tool calls +2. Wait for all agents to complete +3. Review and synthesize findings +4. Document agent IDs in case resumption is needed + +### Phase 2: Synthesis & Planning + +After agents complete, synthesize findings and plan enrichment: + +**Analysis Checklist**: +- [ ] Total command files identified +- [ ] Total options to enrich +- [ ] Architecture pattern identified (Platform/Provider mixin? Direct options? ArgGroups?) +- [ ] Current description quality assessed +- [ ] OpenAPI schemas mapped (if applicable) +- [ ] Common patterns documented +- [ ] Special cases noted + +**Create Enrichment Plan**: +1. List all files to modify in priority order +2. Note shared mixins (high-leverage enrichment targets) +3. Identify options needing OpenAPI schema lookups +4. Flag options requiring security warnings or data loss warnings +5. Document common patterns to apply consistently + +**Decision Point**: Manual enrichment vs scripted +- **Manual enrichment**: Best for <30 files, complex options, quality-critical commands +- **Scripted enrichment**: Only for highly repetitive patterns (e.g., 13+ similar Platform classes) +- **Default**: Manual enrichment (proven effective in all phases) + +### Phase 3: Manual Enrichment + +Systematically enrich option descriptions following quality standards. + +**Enrichment Quality Standards**: + +1. **Technical Precision** + - Avoid vague terms like "identifier" without context + - Specify data types (numeric ID, string name, file path) + - Add format specifications (e.g., "Must be a valid URL") + - Include units for metrics (minutes, GB, hours) + +2. **Practical Guidance** + - Add examples where helpful (e.g., "e.g., s3://bucket/path") + - Reference related commands (e.g., "Find IDs using 'tw teams list'") + - Explain prerequisites (e.g., "Must be organization member first") + - Document lookup behavior + +3. **Security & Safety Context** + - Warn about data loss for destructive operations + - Flag sensitive fields (passwords, keys, tokens) + - Explain cascade effects (deletion → membership loss → access loss) + - Recommend secure practices (tokens over passwords) + +4. **Operational Context** + - Clarify scope (workflow-level vs task-level, org vs workspace) + - Explain default values and behavior + - Document special cases and constraints + - Add troubleshooting hints where applicable + +5. **Consistency Patterns** + - Use standard descriptions for common options across commands + - Example: "Organization name or numeric ID. Specify either the unique organization name or the numeric organization ID returned by 'tw organizations list'." + - Maintain terminology consistency (workspace not work-space, Fusion not fusion) + - Use lowercase "pipeline" except at sentence start + +6. **Default Value Handling** + + **CRITICAL: Different default handling for CLI vs Platform defaults** + + **Rule 1: CLI-enforced defaults (has `defaultValue` annotation)** + ```java + // CLI sets the default value + @Option(names = {"--type"}, description = "File type. Default: stdout.", defaultValue = "stdout") + public String type; + ``` + - Use pattern: `"Description. Default: ."` + - The CLI sets this value if the user doesn't specify it + - Example: "File type. Default: stdout." + + **Rule 2: Platform-enforced defaults (NO `defaultValue` annotation)** + ```java + // CLI passes null, Platform sets the default + @Option(names = {"--port"}, description = "SSH port for cluster connection.") + public Integer port; + ``` + - Use pattern: `"Description. If absent, Platform defaults to ."` + - The CLI passes `null` and Platform backend sets the default + - Example: "SSH port for cluster connection. If absent, Platform defaults to port 22." + + **Rule 3: Boolean flags (always no `defaultValue`)** + ```java + @Option(names = {"--fusion-v2"}, description = "Enable Fusion file system.") + public boolean fusionV2; + ``` + - Do NOT add "Default: false" to boolean flag descriptions + - Boolean flags are false by default (picocli behavior) + - Example: "Enable Fusion file system. Provides native access to S3 storage." + + **Rule 4: Required fields (has `required = true`)** + ```java + @Option(names = {"--namespace"}, description = "Kubernetes namespace.", required = true) + public String namespace; + ``` + - Do NOT add default value to description + - Required fields have no defaults - user must provide them + - Contradictory to show a default for a required field + + **Rule 5: Using ${COMPLETION-CANDIDATES} for enum values** + ```java + @Option(names = {"--type"}, description = "Metric types: ${COMPLETION-CANDIDATES}.") + public List type; + ``` + - Use `${COMPLETION-CANDIDATES}` instead of listing enum values manually + - Picocli automatically populates this with enum values from the field type + - Maintains itself when enum values change in code + - Example: "Metric types: ${COMPLETION-CANDIDATES}. Comma-separated list." + + **Verification Checklist**: + - [ ] Check Java annotation for `defaultValue` attribute + - [ ] If `defaultValue` present → use "Default: X" + - [ ] If no `defaultValue` and OpenAPI has default → use "If absent, Platform defaults to X" + - [ ] If boolean flag → omit default mention + - [ ] If `required = true` → omit default mention + - [ ] If enum type → consider using `${COMPLETION-CANDIDATES}` + +**Enrichment Process**: + +1. **Read files to enrich** (use Read tool in parallel for multiple files) +2. **Edit descriptions** (use Edit tool for each option): + ```java + // BEFORE: + @CommandLine.Option(names = {"-u", "--user"}, description = "User email address", required = true) + + // AFTER: + @CommandLine.Option(names = {"-u", "--user"}, description = "User email address to invite. If the user doesn't have a Seqera Platform account, they will receive an invitation email to join the organization.", required = true) + ``` +3. **Apply patterns consistently** across similar options +4. **Prioritize high-leverage targets** (mixins used by multiple commands) + +**Tips**: +- Start with shared mixin classes (impacts multiple commands) +- Enrich related commands together for consistency +- Use OpenAPI schema descriptions as quality baseline +- Incorporate user feedback if provided during enrichment + +### Phase 4: Verification & Commit + +Verify quality and commit changes atomically. + +**Verification Steps**: + +1. **Review changes**: + ```bash + # From tower-cli project root + git diff --stat + git diff [file1] [file2] | head -100 + ``` + +2. **Quality checks**: + - [ ] All targeted files modified + - [ ] No syntax errors in Java files + - [ ] Descriptions are complete sentences with periods (or proper fragments) + - [ ] Technical terms capitalized correctly (Nextflow, Platform, Fusion) + - [ ] Examples use valid formats + - [ ] Security warnings included where needed + +3. **Stage and commit**: + ```bash + git add -A + git status # Verify files staged + + # Create comprehensive commit message + git commit -m "$(cat <<'EOF' + Phase 3[x]: Enrich [FAMILY_NAME] command options + + Enriched option descriptions across [FAMILY_NAME] command family with + technical context, usage examples, and [specific improvements]. + + Files enriched ([N] total): + [List of files with option counts] + + Key improvements: + - [Major enhancement 1] + - [Major enhancement 2] + - [Pattern standardization 3] + + Total options enriched: [N] across [M] command files + + Co-Authored-By: Claude Sonnet 4.5 + EOF + )" + ``` + +4. **Push changes**: + ```bash + git push + ``` + +**Commit Message Template**: +- **Title**: Phase 3[x]: Enrich [FAMILY_NAME] command options +- **Body**: + - Overview paragraph + - "Files enriched ([N] total):" section with file list + - Key improvements as bullet list + - Statistics (options enriched, families covered) + - Common patterns section if applicable + +## Command Family Architectures + +Understanding architecture patterns found in the Seqera Platform CLI helps plan enrichment approach. + +### Pattern 1: Platform/Provider Mixin (compute-envs, credentials) + +**Characteristics**: +- Options defined in Platform/Provider classes +- `@CommandLine.Mixin` used in add/update commands +- Metadata extractor does NOT capture these options +- Typically 20-40+ options per Platform class + +**Example**: +```java +// AddAwsCmd.java +@CommandLine.Command(name = "aws-batch-forge") +public class AddAwsCmd extends AbstractPlatformsCmd { + @CommandLine.Mixin + public AwsBatchForgePlatform platform; // Options hidden in mixin +} + +// AwsBatchForgePlatform.java +public class AwsBatchForgePlatform extends AbstractPlatform { + @CommandLine.Option(names = {"--work-dir"}, description = "...", required = true) + public String workDir; + + @CommandLine.Option(names = {"--region"}, description = "...") + public String region; + // ... 36 more options +} +``` + +**Enrichment approach**: Manual enrichment of Platform/Provider classes, supplemented by batch scripts for highly similar classes (e.g., HPC schedulers). + +### Pattern 2: Direct Options (runs, organizations, teams, members) + +**Characteristics**: +- Options defined directly in command classes +- Metadata extractor DOES capture these options +- Typically 1-10 options per command +- May use shared option mixins (e.g., PaginationOptions) + +**Example**: +```java +@CommandLine.Command(name = "add", description = "Add a team") +public class AddCmd extends AbstractTeamsCmd { + @CommandLine.Option(names = {"-n", "--name"}, description = "Team name", required = true) + public String teamName; + + @CommandLine.Option(names = {"-o", "--organization"}, description = "Organization name or identifier", required = true) + public String organizationRef; +} +``` + +**Enrichment approach**: Manual enrichment for quality and context, even though metadata extraction works. + +### Pattern 3: Parent Command Inheritance (nested subcommands) + +**Characteristics**: +- Nested subcommands use `@CommandLine.ParentCommand` +- Options inherited from parent command +- Child commands may have additional options + +**Example**: +```java +// teams members add +@CommandLine.Command(name = "add") +public class AddCmd extends AbstractApiCmd { + @CommandLine.Option(names = {"-m", "--member"}, description = "...", required = true) + public String userNameOrEmail; + + @CommandLine.ParentCommand + public MembersCmd parent; // Inherits teamName, organizationRef from parent +} +``` + +**Enrichment approach**: Enrich both parent and child options, document inheritance relationship. + +## Quality Standards Reference + +### Common Option Patterns + +**Organization Reference** (used 11+ times across families): +```java +@CommandLine.Option(names = {"-o", "--organization"}, description = "Organization name or numeric ID. Specify either the unique organization name or the numeric organization ID returned by 'tw organizations list'.", required = true) +public String organizationRef; +``` + +**Workspace Reference**: +```java +@CommandLine.Option(names = {"-w", "--workspace"}, description = "Workspace name or identifier. Specify either the workspace name or numeric identifier.") +public String workspace; +``` + +**Filter Options**: +```java +@CommandLine.Option(names = {"-f", "--filter"}, description = "Filter results by name prefix. Case-insensitive prefix matching on the name field.") +public String filter; +``` + +**Overwrite Flags**: +```java +@CommandLine.Option(names = {"--overwrite"}, description = "Overwrite existing [entity]. If [entity] with this name already exists, delete it first before creating the new one. Use with caution as this permanently deletes the existing [entity] and all associated data.", defaultValue = "false") +public Boolean overwrite; +``` + +**Display Flags**: +```java +@CommandLine.Option(names = {"--show-details"}, description = "Display additional [specific details]. Shows [what details include].") +public boolean showDetails; +``` + +**Default Values - CLI-enforced (has `defaultValue`)**: +```java +// Correct - CLI sets the default +@CommandLine.Option(names = {"--type"}, description = "Type of file to download. Options: 'stdout' (standard output), 'log' (Nextflow log), 'stderr' (standard error, tasks only), 'timeline' (execution timeline HTML, workflow only). Default: stdout.", defaultValue = "stdout") +public String type; + +@CommandLine.Option(names = {"--provisioning-model"}, description = "Instance provisioning model. EC2 uses on-demand instances for reliability. SPOT uses interruptible instances for cost savings. Default: SPOT.", required = true, defaultValue = "SPOT") +public TypeEnum provisioningModel; +``` + +**Default Values - Platform-enforced (NO `defaultValue`)**: +```java +// Correct - Platform backend sets the default +@CommandLine.Option(names = {"-p", "--port"}, description = "SSH port for cluster connection. If absent, Platform defaults to port 22.") +public Integer port; + +@CommandLine.Option(names = {"--boot-disk-size"}, description = "Boot disk size in GB. Controls the root volume size for compute instances. If absent, Platform defaults to 50 GB.") +public Integer bootDiskSizeGb; + +@CommandLine.Option(names = {"--instance-type"}, description = "Compute Engine machine type (e.g., n1-standard-1, n2-standard-2). If omitted, a default machine type is used.") +public String instanceType; +``` + +**Enum Options with ${COMPLETION-CANDIDATES}**: +```java +// Correct - uses dynamic placeholder instead of manual list +@CommandLine.Option(names = {"-t", "--type"}, split = ",", description = "Metric types to display: ${COMPLETION-CANDIDATES}. Comma-separated list. Displays all types if absent.") +public List type; + +@CommandLine.Option(names = {"--wait"}, description = "Wait until workflow reaches specified status: ${COMPLETION-CANDIDATES}") +public WorkflowStatus wait; +``` + +### OpenAPI Schema Integration + +When OpenAPI schemas are available, use them to inform CLI descriptions: + +**Mapping Strategy**: +1. Find corresponding schema in `docs/seqera-api-latest-decorated.yaml` +2. Review schema property descriptions +3. Adapt API language for CLI context: + - API: "The AWS region where resources are deployed" + - CLI: "AWS region where the EKS cluster is deployed (e.g., us-east-1, eu-west-1)" +4. Add CLI-specific context (file paths, command references, defaults) + +**Common Transformations**: +- kebab-case endpoint names → camelCase option names +- API field names → CLI option names (may differ) +- API descriptions → CLI descriptions (add "the" and context) +- Enum values in schemas → option documentation + +## Examples from Previous Phases + +### Phase 3g: Compute-Envs Platform Classes (500+ options) + +**Challenge**: 13 Platform classes with provider-specific options, mixin pattern prevents extraction. + +**Approach**: +1. Research: Located all Platform files, mapped to OpenAPI schemas +2. Batch scripting: Created Python script for 5 similar HPC platforms +3. Manual enrichment: Individual attention for cloud platforms (AWS, Azure, GCP, K8s) +4. Quality verification: Checked examples, formats, dependencies + +**Result**: Complete compute-envs coverage, consistent quality across all platforms. + +### Phase 3h: Credentials Provider Classes (29 options) + +**Challenge**: 12 Provider classes with security-sensitive options. + +**Approach**: +1. Research: Mapped to SecurityKeys schemas, identified authentication patterns +2. Manual enrichment: Emphasized security guidance, token generation instructions +3. Provider-specific examples: Registry hostnames, key formats, service account paths + +**Result**: All credential providers enriched with security-conscious descriptions. + +### Phase 3i: Runs Family (38 options) + +**Challenge**: Display control flags needing statistical context, user feedback during enrichment. + +**Approach**: +1. Research: Identified display flag patterns, statistical metric types +2. Manual enrichment: Added units (GB, hours), explained quartiles, documented file formats +3. User feedback: Real-time adjustments to description phrasing +4. Pattern consistency: Standardized workflow vs task-level operation descriptions + +**Result**: Complete runs family with precise metric documentation, user-approved quality. + +### Phase 3j: Organizations/Teams/Members (26 options) + +**Challenge**: Role-based access control needing clear permission explanations. + +**Approach**: +1. Research: Analyzed OrgRole enum, participant types, organizational structure +2. Pattern standardization: "Organization name or numeric ID" used 11 times +3. Permission documentation: Detailed OWNER/MEMBER/COLLABORATOR role descriptions +4. Safety warnings: Data loss cascade effects for deletions + +**Result**: Coherent access control documentation across three related families. + +## Troubleshooting + +**Issue**: Agent research taking too long +- **Solution**: Use `model: "haiku"` parameter for faster agents when task is straightforward + +**Issue**: Too many files to enrich manually +- **Solution**: Consider batch scripting for highly repetitive patterns, but default to manual for quality + +**Issue**: Uncertain about OpenAPI mapping +- **Solution**: Use WebFetch to check API docs at docs.seqera.io for examples + +**Issue**: Git conflicts during commit +- **Solution**: Pull latest changes, resolve conflicts, recommit + +**Issue**: Descriptions too verbose +- **Solution**: Follow user feedback pattern - concise, technical, practical. Aim for 1-2 sentences per option. + +## Success Metrics + +- **Coverage**: All command files in family enriched +- **Quality**: Descriptions meet technical precision + practical guidance standards +- **Consistency**: Common patterns applied uniformly +- **Safety**: Warnings included for destructive operations +- **Verification**: Clean git diff, comprehensive commit message + +## Post-Enrichment + +After enrichment phase completes: + +1. **Update progress tracking**: Document new phase with statistics (if using progress tracking) +2. **Extract metadata**: Run `./gradlew extractCliMetadata` to regenerate `docs/cli-metadata.json` +3. **Verify extraction**: Check that new descriptions appear in `docs/cli-metadata.json` +4. **Plan next family**: Identify next high-impact command family for enrichment + +--- + +## Quick Reference Commands + +```bash +# Working directory: tower-cli project root + +# Launch parallel agents (use Task tool with 4 tool calls in single message) +# Agent types: codebase-locator, codebase-analyzer, codebase-pattern-finder + +# Read multiple files in parallel +# Use Read tool with multiple tool calls in single message + +# Edit options (one Edit tool call per option) +# old_string: exact current description line +# new_string: enhanced description line + +# Verify changes +git diff --stat +git diff [files] | head -100 + +# Commit with template +git add -A && git commit -m "[message]" && git push + +# Extract updated metadata (Java reflection-based) +./gradlew extractCliMetadata +``` + +## References + +- **CLI metadata**: `docs/cli-metadata.json` (regenerated via `./gradlew extractCliMetadata`) +- **Metadata extractor**: `src/main/java/io/seqera/tower/cli/utils/metadata/CliMetadataExtractor.java` +- **OpenAPI spec**: `docs/seqera-api-latest-decorated.yaml` +- **Documentation**: `docs/README.md` (process and quality standards) + +--- + +*This skill encapsulates learnings from Phases 3g-3j (2026-01-13), enriching 593+ option descriptions across 52 files in 5 command families.* diff --git a/.claude/skills/enrich-cli-help/references/architecture-patterns.md b/.claude/skills/enrich-cli-help/references/architecture-patterns.md new file mode 100644 index 00000000..6575da5a --- /dev/null +++ b/.claude/skills/enrich-cli-help/references/architecture-patterns.md @@ -0,0 +1,104 @@ +# CLI Architecture Patterns Reference + +This document catalogs the architectural patterns found in Seqera Platform CLI command families, helping guide enrichment approach decisions. + +## Pattern 1: Platform/Provider Mixin + +**Found in**: compute-envs, credentials + +### Characteristics +- Options defined in separate Platform/Provider classes +- `@CommandLine.Mixin` used in add/update commands +- Metadata extractor does NOT capture these options +- Each platform/provider has 20-40+ options +- Often extends AbstractPlatform/AbstractProvider + +### Example Structure +``` +commands/ + computeenvs/ + AddCmd.java # Container with subcommands + platforms/ + AwsBatchForgePlatform.java # 38 options + EksPlatform.java # 20 options + GkePlatform.java # 18 options + ... +``` + +### Code Pattern +```java +// AddAwsCmd.java - Container command +@CommandLine.Command(name = "aws-batch-forge") +public class AddAwsCmd extends AbstractPlatformsCmd { + @CommandLine.Mixin + public AwsBatchForgePlatform platform; // Options hidden here +} + +// AwsBatchForgePlatform.java - Actual options +public class AwsBatchForgePlatform extends AbstractPlatform { + @CommandLine.Option(names = {"--work-dir"}, description = "...", required = true) + public String workDir; + + @CommandLine.Option(names = {"--region"}, description = "...") + public String region; + + // ... 36 more options +} +``` + +### Enrichment Approach +1. **Manual enrichment** of Platform/Provider classes +2. Use **batch scripting** for highly similar classes (e.g., 5 HPC schedulers with identical options) +3. Start with **OpenAPI schemas** as quality baseline +4. Document **platform-specific** dependencies and constraints + +### Previous Successes +- **Phase 3g**: 13 compute-env platforms, 500+ options +- **Phase 3h**: 12 credential providers, 29 options + +--- + +## Pattern 2: Direct Options + +**Found in**: runs, organizations, teams, members, pipelines, actions, workspaces + +### Characteristics +- Options defined directly in command class +- Metadata extractor DOES capture these options +- Typically 1-10 options per command +- May use shared option mixins (PaginationOptions, WorkspaceOptionalOptions) + +### Enrichment Approach +1. **Manual enrichment** for quality and contextual richness +2. Enrich **shared mixins first** (high-leverage: impacts multiple commands) +3. Apply **consistent patterns** across similar options + +### Previous Successes +- **Phase 3i**: Runs family, 12 commands, 38 options +- **Phase 3j**: Orgs/Teams/Members, 15 commands, 26 options + +--- + +## Pattern 3: Parent Command Inheritance + +**Found in**: Nested subcommands (teams members, runs tasks, compute-envs add) + +### Code Pattern +```java +// Parent command +@CommandLine.Command( + name = "members", + subcommands = {AddCmd.class, DeleteCmd.class} +) +public class MembersCmd { + @CommandLine.Option(names = {"-t", "--team"}) + public String teamName; + + @CommandLine.ParentCommand + public MembersCmd parent; // Child accesses parent options +} +``` + +--- + +*For complete pattern documentation, see the full architecture-patterns.md reference file.* diff --git a/.claude/skills/enrich-cli-help/references/quality-standards.md b/.claude/skills/enrich-cli-help/references/quality-standards.md new file mode 100644 index 00000000..7d5c0327 --- /dev/null +++ b/.claude/skills/enrich-cli-help/references/quality-standards.md @@ -0,0 +1,93 @@ +# CLI Option Description Quality Standards + +## Core Principles + +1. **Technical Precision**: Avoid vague terms, specify data types, formats, and units +2. **Practical Guidance**: Include examples, references, prerequisites, and lookup hints +3. **Security & Safety**: Warn about data loss, flag sensitive fields, explain cascades +4. **Operational Context**: Clarify scope, defaults, special cases, and constraints +5. **Pattern Consistency**: Reuse standard descriptions for common options + +## Before/After Examples + +### Technical Precision + +❌ **Before**: "Pipeline run identifier" +✅ **After**: "Pipeline run identifier. The unique workflow ID to display details for. Use additional flags to control which sections are shown." + +❌ **Before**: "Organization role" +✅ **After**: "Organization role to assign. OWNER: full administrative access including member management and billing. MEMBER: standard access with ability to create workspaces and teams. COLLABORATOR: limited access, cannot create resources but can participate in shared workspaces." + +### Practical Guidance + +❌ **Before**: "User email address" +✅ **After**: "User email address to invite. If the user doesn't have a Seqera Platform account, they will receive an invitation email to join the organization." + +❌ **Before**: "Team identifier" +✅ **After**: "Team numeric identifier. The unique ID assigned when the team was created. Find team IDs using 'tw teams list'." + +### Security & Safety Context + +❌ **Before**: "AWS secret key" +✅ **After**: "AWS secret access key. Part of AWS IAM credentials used for programmatic access to AWS services. Keep this value secure." + +❌ **Before**: "Overwrite the organization if it already exists" +✅ **After**: "Overwrite existing organization. If an organization with this name already exists, delete it first before creating the new one. Use with caution as this permanently deletes the existing organization and all associated data." + +## Standard Descriptions for Common Options + +### Organization Reference +```java +@CommandLine.Option(names = {"-o", "--organization"}, description = "Organization name or numeric ID. Specify either the unique organization name or the numeric organization ID returned by 'tw organizations list'.", required = true) +public String organizationRef; +``` + +### Workspace Reference +```java +@CommandLine.Option(names = {"-w", "--workspace"}, description = "Workspace name or identifier. Specify either the workspace name or numeric identifier.") +public String workspace; +``` + +### Filter Options +```java +@CommandLine.Option(names = {"-f", "--filter"}, description = "Filter [entities] by [field] prefix. Case-insensitive prefix matching on the [field] field (e.g., 'example' matches 'example-name').") +public String filter; +``` + +### Overwrite Flags +```java +@CommandLine.Option(names = {"--overwrite"}, description = "Overwrite existing [entity]. If [entity] with this name already exists, delete it first before creating the new one. Use with caution as this permanently deletes the existing [entity] and all associated data.", defaultValue = "false") +public Boolean overwrite; +``` + +## Terminology Consistency + +### Capitalization +- ✅ Nextflow (always capitalize) +- ✅ Seqera Platform +- ✅ Fusion (file system) +- ✅ AWS, Azure, GCP, K8s + +### Word Choice +- ✅ workspace (one word) +- ✅ workflow run (not "pipeline execution") +- ✅ compute environment (not "compute-env" in descriptions) +- ✅ numeric ID (not "id number") + +### Tone & Style +- Use present tense: "Displays statistics" not "Will display statistics" +- Use active voice: "Shows details" not "Details are shown" +- Be concise: 1-2 sentences per option is ideal +- End with periods for complete sentences + +## Security & Safety Language + +### Security Context +- "Keep this value secure" +- "Personal access tokens are recommended for security" +- "Used for authentication. Store securely." + +### Data Loss Warnings +- "Use with caution as this permanently deletes [entity] and all associated data" +- "Cannot be undone except by [action]" +- "By default, only [safe state] can be [action]. Use this flag to [risky action]" diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 00000000..04264815 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,57 @@ +## Description + + + +## Type of Change + + + +- [ ] Bug fix (non-breaking change which fixes an issue) +- [ ] New feature (non-breaking change which adds functionality) +- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) +- [ ] Documentation update +- [ ] Refactoring (no functional changes) +- [ ] Performance improvement +- [ ] Test updates + +## Changes Made + + + +- +- +- + +## Testing + + + +- [ ] Tested locally +- [ ] Added/updated unit tests +- [ ] Added/updated integration tests +- [ ] Manual testing performed + +## Pre-Merge Checklist + + + +- [ ] Code follows the project's style guidelines +- [ ] Self-review completed +- [ ] Comments added for complex/non-obvious code +- [ ] Documentation updated (if applicable) +- [ ] No new warnings generated +- [ ] Tests pass locally +- [ ] **CLI metadata updated** (if CLI commands/options were added/modified) + - [ ] Ran `./gradlew extractCliMetadata` to regenerate `docs/cli-metadata.json` + - [ ] Committed the updated metadata file + +## Related Issues + + + +Fixes # +Related to # + +## Additional Notes + + diff --git a/.github/workflows/trigger-docs-release-update.yml b/.github/workflows/trigger-docs-release-update.yml new file mode 100644 index 00000000..1fb0daf9 --- /dev/null +++ b/.github/workflows/trigger-docs-release-update.yml @@ -0,0 +1,80 @@ +name: Trigger Docs Release Update + +on: + release: + types: [published] + +permissions: + contents: read + +jobs: + notify-docs-repo: + runs-on: ubuntu-latest + + steps: + - name: Extract version from release + id: extract_version + run: | + # Extract version from tag (e.g., v0.9.4 -> 0.9.4) + VERSION="${{ github.event.release.tag_name }}" + VERSION="${VERSION#v}" # Remove 'v' prefix if present + echo "version=${VERSION}" >> $GITHUB_OUTPUT + echo "Extracted version: ${VERSION}" + + - name: Check if cli-metadata.json exists in release + id: check_metadata + run: | + # Construct URL to cli-metadata.json in the release tag + # Metadata should already be current from PR checklist: ./gradlew extractCliMetadata + METADATA_URL="https://raw.githubusercontent.com/${{ github.repository }}/${{ github.event.release.tag_name }}/docs/cli-metadata.json" + echo "metadata_url=${METADATA_URL}" >> $GITHUB_OUTPUT + echo "Metadata URL: ${METADATA_URL}" + + # Verify metadata file exists in the release + if curl --output /dev/null --silent --head --fail "${METADATA_URL}"; then + echo "✓ cli-metadata.json found in release" + echo "metadata_exists=true" >> $GITHUB_OUTPUT + else + echo "⚠ cli-metadata.json not found in release - docs update will fail" + echo "⚠ Ensure metadata was regenerated before release (see PR template checklist)" + echo "metadata_exists=false" >> $GITHUB_OUTPUT + fi + + - name: Dispatch repository event to docs repo + uses: peter-evans/repository-dispatch@v3 + with: + token: ${{ secrets.DOCS_REPO_PAT }} + repository: seqera/docs + event-type: cli-release + client-payload: | + { + "cli_version": "${{ steps.extract_version.outputs.version }}", + "release_tag": "${{ github.event.release.tag_name }}", + "release_url": "${{ github.event.release.html_url }}", + "metadata_url": "${{ steps.check_metadata.outputs.metadata_url }}", + "metadata_exists": ${{ steps.check_metadata.outputs.metadata_exists }}, + "release_name": "${{ github.event.release.name }}", + "release_body": ${{ toJSON(github.event.release.body) }}, + "repository": "${{ github.repository }}", + "sender": "${{ github.event.sender.login }}" + } + + - name: Summary + run: | + echo "## Docs Update Triggered 🚀" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "Sent repository dispatch event to \`seqera/docs\` repository." >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "**Payload:**" >> $GITHUB_STEP_SUMMARY + echo "- **CLI Version:** ${{ steps.extract_version.outputs.version }}" >> $GITHUB_STEP_SUMMARY + echo "- **Release Tag:** ${{ github.event.release.tag_name }}" >> $GITHUB_STEP_SUMMARY + echo "- **Release URL:** ${{ github.event.release.html_url }}" >> $GITHUB_STEP_SUMMARY + echo "- **Metadata URL:** ${{ steps.check_metadata.outputs.metadata_url }}" >> $GITHUB_STEP_SUMMARY + echo "- **Metadata Exists:** ${{ steps.check_metadata.outputs.metadata_exists }}" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "The docs repository will now:" >> $GITHUB_STEP_SUMMARY + echo "1. Fetch CLI metadata from the release" >> $GITHUB_STEP_SUMMARY + echo "2. Generate updated reference documentation" >> $GITHUB_STEP_SUMMARY + echo "3. Create a pull request with the changes" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "Monitor the docs repository for the automated PR." >> $GITHUB_STEP_SUMMARY diff --git a/.gitignore b/.gitignore index 2dc22a05..9c08314a 100644 --- a/.gitignore +++ b/.gitignore @@ -10,4 +10,8 @@ build .user/ -*.iml \ No newline at end of file +*.iml + +# macOS system files +.DS_Store +**/.DS_Store \ No newline at end of file diff --git a/build.gradle b/build.gradle index 66854f8a..4a16b4fc 100644 --- a/build.gradle +++ b/build.gradle @@ -110,6 +110,15 @@ task runReflectionConfigGenerator(type: JavaExec) { jvmArgs = ["-agentlib:native-image-agent=access-filter-file=conf/access-filter-file.json,config-merge-dir=conf/"] } +task extractCliMetadata(type: JavaExec) { + group = 'documentation' + description = 'Extract CLI metadata using Java reflection (deterministic, includes resolved mixins)' + classpath = sourceSets.main.runtimeClasspath + mainClass = 'io.seqera.tower.cli.utils.metadata.CliMetadataExtractor' + args = [file('docs/cli-metadata.json').absolutePath] + dependsOn classes +} + shadowJar { archiveBaseName.set('tw') archiveClassifier.set('') diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 00000000..5a96fc22 --- /dev/null +++ b/docs/README.md @@ -0,0 +1,283 @@ +# CLI Documentation Automation + +This directory contains tooling and data for automated CLI documentation generation and maintenance. + +## Overview + +The tower-cli documentation automation uses Java reflection to extract command metadata from picocli annotations, providing structured data for the docs repository to generate comprehensive CLI reference documentation. + +## Components + +### cli-metadata.json + +Structured metadata for all CLI commands extracted using Java reflection from picocli's CommandSpec API. + +**Contains:** +- Complete command hierarchy (5+ levels deep) +- All options with descriptions, defaults, arity, types +- Positional parameters +- Automatically resolved mixin classes +- Hidden commands and options + +**Generated by:** `./gradlew extractCliMetadata` (runs `CliMetadataExtractor.java`) + +**Update frequency:** Run before merging any PR that modifies CLI commands or options (enforced via PR template checklist) + +**Usage:** Consumed by docs repository to generate command reference pages + +### seqera-api-latest-decorated.yaml + +OpenAPI specification with overlay decorations for the Seqera Platform API. + +**Usage:** Reference for CLI option enrichment (CLI options often map to API fields) + +**Source:** Fetched from docs repository + +**Update frequency:** When API documentation updates + +## Metadata Extraction + +### Java Reflection Approach + +The metadata extractor uses picocli's CommandSpec API for deterministic extraction: + +```bash +./gradlew extractCliMetadata +``` + +**Benefits over text-based parsing:** +- **Deterministic:** Same input always produces same output +- **Complete:** Captures 966+ options (vs 461 with regex parsing) +- **Automatic mixin resolution:** No manual handling needed +- **Type information:** Full Java type details (String, boolean, enums, etc.) +- **Maintained by build:** No separate Python dependency + +**Implementation:** `src/main/java/io/seqera/tower/cli/utils/metadata/CliMetadataExtractor.java` + +**How it works:** +1. Instantiates the Tower CLI application +2. Uses picocli CommandSpec API to walk the command tree +3. Extracts metadata for all commands, options, and parameters +4. Resolves all @Mixin annotations automatically +5. Outputs formatted JSON to `docs/cli-metadata.json` + +## Architecture + +### Metadata Extraction Flow + +``` +Java Source Files (@Command, @Option annotations) + ↓ + Compile with javac + ↓ +Java Reflection (CommandSpec API) + ↓ +CliMetadataExtractor.java (walks command tree) + ↓ +cli-metadata.json (structured command data) + ↓ +Docs Repository (generates markdown reference pages) +``` + +### CLI Option Enrichment Pattern + +**Problem:** CLI help text quality varied (terse descriptions, inconsistent terminology) + +**Solution:** Systematic enrichment using API documentation as quality baseline + +**Process:** +1. Identify CLI options that map to API request fields +2. Reference OpenAPI spec descriptions for technical accuracy +3. Adapt descriptions for CLI context (add examples, prerequisites, command refs) +4. Apply quality standards (technical precision, practical guidance, security context) +5. Update `@Option` descriptions directly in Java source files +6. Re-run metadata extraction to capture enriched descriptions + +**Status:** 624+ option descriptions enriched across 185 files + +**Tool:** Use `/enrich-cli-help` Claude Code skill for systematic enrichment workflow + +## Release Automation + +### Workflow Process + +1. **During Development:** + - Developers add/modify CLI commands and options in Java source + - Improve `@Option` descriptions using enrichment standards + +2. **Before Merging PR:** + - Developer runs `./gradlew extractCliMetadata` to regenerate metadata + - Commits updated `docs/cli-metadata.json` + - PR template checklist ensures this step is completed + +3. **On Release:** + - GitHub Actions workflow triggers on `release.published` event + - Verifies `cli-metadata.json` exists in the release tag + - Sends repository dispatch to docs repository with: + - CLI version + - Release tag and URL + - Metadata file URL + - Release notes + +4. **Docs Repository:** + - Receives `cli-release` event + - Fetches `cli-metadata.json` from tower-cli release + - Generates updated CLI reference documentation + - Creates automated PR with changes + +**Result:** Zero manual documentation steps after CLI release + +**Workflow:** `.github/workflows/trigger-docs-release-update.yml` + +## Quality Standards + +All enriched CLI option descriptions follow these criteria: + +### Technical Precision +- Specify data types, formats, units +- Document constraints and validation rules +- Explain technical requirements clearly + +**Example:** +```java +// Before +@Option(names = {"--max"}, description = "Maximum results") + +// After +@Option(names = {"--max"}, description = "Maximum number of results to return (1-100). Default: 10.") +``` + +### Practical Guidance +- Include realistic examples +- Reference related commands +- Document prerequisites and dependencies + +**Example:** +```java +// Before +@Option(names = {"--work-dir"}, description = "Work directory") + +// After +@Option(names = {"--work-dir"}, description = "S3 bucket path where Nextflow writes temporary files and task work directories (e.g., s3://your-bucket/work). Must be accessible with the configured AWS credentials. Defaults to compute environment work directory if omitted.") +``` + +### Security Context +- Warn about sensitive fields +- Document data loss implications +- Clarify access requirements + +**Example:** +```java +// Before +@Option(names = {"--token"}, description = "Access token") + +// After +@Option(names = {"--token"}, description = "Personal access token for authentication. Token will be stored securely and never logged. Required scopes: workflow:read, workspace:read.") +``` + +## Contributor Guide + +### When CLI Commands/Options Change + +Always update metadata before merging: + +```bash +# Make your CLI changes in Java source files +# Improve @Option descriptions following quality standards +# Then regenerate metadata +./gradlew extractCliMetadata + +# Commit both changes +git add docs/cli-metadata.json src/main/java/**/*.java +git commit -m "Add [feature]: Update CLI metadata" +``` + +### PR Checklist + +The PR template includes a checklist item: + +- [ ] **CLI metadata updated** (if CLI commands/options were added/modified) + - [ ] Ran `./gradlew extractCliMetadata` to regenerate `docs/cli-metadata.json` + - [ ] Committed the updated metadata file + +This ensures metadata stays synchronized with code changes. + +### Enriching CLI Help Text + +Use the `/enrich-cli-help` Claude Code skill for systematic enrichment: + +```bash +/enrich-cli-help [command-family-name] +``` + +**Example:** `/enrich-cli-help pipelines` + +The skill automates a proven workflow: +1. Parallel agent research (codebase patterns, API mappings) +2. Synthesis & planning (architecture patterns, enrichment strategy) +3. Manual enrichment (apply quality standards) +4. Verification & commit (review changes, statistics) + +**Documentation:** See `.claude/skills/enrich-cli-help/` for complete workflow guide + +## Troubleshooting + +### Metadata Extraction Issues + +**Problem:** Build fails with "Username must not be null!" + +**Solution:** Configure GitHub credentials for private tower-java-sdk dependency: +```bash +# In ~/.gradle/gradle.properties +github.packages.user=your-github-username +github.packages.token=your-github-token +``` + +**Problem:** Commands missing from output + +**Solution:** Check for: +- Proper `@Command` annotation on class +- Parent command has `subcommands = {ChildCmd.class}` reference +- Import statement if subcommand in different package + +**Problem:** Options missing from command + +**Solution:** +- Ensure mixin classes are properly annotated with `@Mixin` +- Verify option annotations: `@Option` or `@CommandLine.Option` (both supported) +- Check that picocli can access the option at runtime + +## Metrics + +### Current State (Java Reflection) +- **Commands extracted:** 162 +- **Options extracted:** 966 +- **Parameters extracted:** 12 +- **Mixin resolution:** Automatic +- **Type information:** Complete Java types +- **Deterministic:** Yes + +### Previous State (Python Regex) +- **Commands extracted:** 163 +- **Options extracted:** 461 (53% fewer!) +- **Mixin resolution:** Partial (manual) +- **Type information:** Limited +- **Deterministic:** No (brittle regex patterns) + +### Quality Impact +- **Options enriched:** 624+ descriptions +- **Files improved:** 185 Java source files +- **Quality standard:** OpenAPI-grade technical precision +- **Time savings:** Automated docs updates on every release + +## Related Documentation + +- **Java extractor:** `src/main/java/io/seqera/tower/cli/utils/metadata/CliMetadataExtractor.java` +- **Gradle task:** `extractCliMetadata` in `build.gradle` +- **PR template:** `.github/pull_request_template.md` +- **Release workflow:** `.github/workflows/trigger-docs-release-update.yml` +- **Claude Code skill:** `.claude/skills/enrich-cli-help/SKILL.md` +- **Quality standards:** `.claude/skills/enrich-cli-help/references/quality-standards.md` +- **Architecture patterns:** `.claude/skills/enrich-cli-help/references/architecture-patterns.md` +- **API documentation:** https://docs.seqera.io/platform/latest/api/overview +- **CLI documentation:** https://docs.seqera.io/platform/latest/cli/overview diff --git a/docs/cli-metadata.json b/docs/cli-metadata.json new file mode 100644 index 00000000..b71b4e1e --- /dev/null +++ b/docs/cli-metadata.json @@ -0,0 +1,26699 @@ +{ + "metadata": { + "extractor_version": "2.0.0", + "extractor_type": "java-reflection", + "extracted_at": "2026-01-23T13:19:48.734400Z", + "total_commands": 164, + "total_options": 1011, + "total_parameters": 12 + }, + "hierarchy": { + "name": "tw", + "full_command": "tw", + "parent": null, + "description": "Nextflow Tower CLI.", + "hidden": false, + "source_class": "io.seqera.tower.cli.Tower", + "options": [ + { + "names": ["-t", "--access-token"], + "description": "Tower personal access token (TOWER_ACCESS_TOKEN).", + "required": false, + "default_value": "eyJ0aWQiOiAxMzQyNH0uMWViZjg0NjcyOTUzMzNiNWU4ZjI3MzM5NjI5NDVmNzZjYzIwNDQ2OQ==", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-u", "--url"], + "description": "Tower server API endpoint URL (TOWER_API_ENDPOINT) [default: 'api.cloud.seqera.io'].", + "required": false, + "default_value": "https://api.cloud.seqera.io", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-o", "--output"], + "description": "Show output in defined format (only the 'json' option is available at the moment).", + "required": false, + "default_value": "console", + "arity": "1", + "hidden": false, + "type": "OutputType", + "param_label": "", + "negatable": false + }, + { + "names": ["-v", "--verbose"], + "description": "Show HTTP request/response logs at stderr.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--insecure"], + "description": "Explicitly allow to connect to a non-SSL secured Tower server (this is not recommended).", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": ["actions", "collaborators", "compute-envs", "credentials", "data-links", "studios", "datasets", "generate-completion", "info", "labels", "launch", "members", "organizations", "participants", "pipelines", "runs", "teams", "workspaces", "secrets"], + "children": [ + { + "name": "actions", + "full_command": "tw actions", + "parent": "tw", + "description": "Manage actions.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.ActionsCmd", + "options": [], + "parameters": [], + "subcommands": ["list", "view", "delete", "add", "update", "labels"], + "children": [ + { + "name": "list", + "full_command": "tw actions list", + "parent": "actions", + "description": "List the available Pipeline Actions for the authenticated user or given workspace.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.actions.ListCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-l", "--labels"], + "description": "Show labels.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "view", + "full_command": "tw actions view", + "parent": "actions", + "description": "Describe an existing Pipeline Action.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.actions.ViewCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Action unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Action name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "delete", + "full_command": "tw actions delete", + "parent": "actions", + "description": "Delete a Pipeline Action.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.actions.DeleteCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Action unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Action name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "add", + "full_command": "tw actions add", + "parent": "actions", + "description": "Add a new Pipeline Action.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.actions.AddCmd", + "options": [], + "parameters": [], + "subcommands": ["github", "tower"], + "children": [ + { + "name": "github", + "full_command": "tw actions add github", + "parent": "add", + "description": "Add a GitHub action.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.actions.add.AddGitHubCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Action name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--pipeline"], + "description": "Pipeline to launch.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--labels"], + "description": "Comma-separated list of labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--compute-env"], + "description": "Compute environment name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Path where the pipeline scratch data is stored.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--profile"], + "description": "Comma-separated list of one or more configuration profile names you want to use for this pipeline execution.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--params-file"], + "description": "Pipeline parameters in either JSON or YML format.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--revision"], + "description": "A valid repository commit Id, tag or branch name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--config"], + "description": "Path to a Nextflow config file. Values defined here override the same values in the pipeline repository config file, and all configuration values specified in Platform pipeline or compute environment Nextflow config fields are ignored.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--pre-run"], + "description": "Bash script that is executed in the same environment where Nextflow runs just before the pipeline is launched.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--post-run"], + "description": "Bash script that is executed in the same environment where Nextflow runs immediately after the pipeline completion.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--pull-latest"], + "description": "Enable Nextflow to pull the latest repository version before running the pipeline.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--stub-run"], + "description": "Execute the workflow replacing process scripts with command stubs.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--main-script"], + "description": "Pipeline main script file if different from `main.nf`.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--entry-name"], + "description": "Main workflow name to be executed when using DLS2 syntax.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--schema-name"], + "description": "Schema name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--user-secrets"], + "description": "Pipeline Secrets required by the pipeline execution that belong to the launching user personal context. User's secrets will take precedence over workspace secrets with the same name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--workspace-secrets"], + "description": "Pipeline Secrets required by the pipeline execution. Those secrets must be defined in the launching workspace.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--overwrite"], + "description": "Overwrite the action if it already exists.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "tower", + "full_command": "tw actions add tower", + "parent": "add", + "description": "Add a Tower action.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.actions.add.AddTowerCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Action name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--pipeline"], + "description": "Pipeline to launch.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--labels"], + "description": "Comma-separated list of labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--compute-env"], + "description": "Compute environment name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Path where the pipeline scratch data is stored.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--profile"], + "description": "Comma-separated list of one or more configuration profile names you want to use for this pipeline execution.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--params-file"], + "description": "Pipeline parameters in either JSON or YML format.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--revision"], + "description": "A valid repository commit Id, tag or branch name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--config"], + "description": "Path to a Nextflow config file. Values defined here override the same values in the pipeline repository config file, and all configuration values specified in Platform pipeline or compute environment Nextflow config fields are ignored.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--pre-run"], + "description": "Bash script that is executed in the same environment where Nextflow runs just before the pipeline is launched.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--post-run"], + "description": "Bash script that is executed in the same environment where Nextflow runs immediately after the pipeline completion.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--pull-latest"], + "description": "Enable Nextflow to pull the latest repository version before running the pipeline.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--stub-run"], + "description": "Execute the workflow replacing process scripts with command stubs.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--main-script"], + "description": "Pipeline main script file if different from `main.nf`.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--entry-name"], + "description": "Main workflow name to be executed when using DLS2 syntax.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--schema-name"], + "description": "Schema name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--user-secrets"], + "description": "Pipeline Secrets required by the pipeline execution that belong to the launching user personal context. User's secrets will take precedence over workspace secrets with the same name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--workspace-secrets"], + "description": "Pipeline Secrets required by the pipeline execution. Those secrets must be defined in the launching workspace.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--overwrite"], + "description": "Overwrite the action if it already exists.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + } + ] + }, + { + "name": "update", + "full_command": "tw actions update", + "parent": "actions", + "description": "Update a Pipeline Action.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.actions.UpdateCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Action unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Action name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-s", "--status"], + "description": "Action status (pause or active).", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--new-name"], + "description": "Action new name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--compute-env"], + "description": "Compute environment name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Path where the pipeline scratch data is stored.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--profile"], + "description": "Comma-separated list of one or more configuration profile names you want to use for this pipeline execution.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--params-file"], + "description": "Pipeline parameters in either JSON or YML format.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--revision"], + "description": "A valid repository commit Id, tag or branch name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--config"], + "description": "Path to a Nextflow config file. Values defined here override the same values in the pipeline repository config file, and all configuration values specified in Platform pipeline or compute environment Nextflow config fields are ignored.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--pre-run"], + "description": "Bash script that is executed in the same environment where Nextflow runs just before the pipeline is launched.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--post-run"], + "description": "Bash script that is executed in the same environment where Nextflow runs immediately after the pipeline completion.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--pull-latest"], + "description": "Enable Nextflow to pull the latest repository version before running the pipeline.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--stub-run"], + "description": "Execute the workflow replacing process scripts with command stubs.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--main-script"], + "description": "Pipeline main script file if different from `main.nf`.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--entry-name"], + "description": "Main workflow name to be executed when using DLS2 syntax.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--schema-name"], + "description": "Schema name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--user-secrets"], + "description": "Pipeline Secrets required by the pipeline execution that belong to the launching user personal context. User's secrets will take precedence over workspace secrets with the same name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--workspace-secrets"], + "description": "Pipeline Secrets required by the pipeline execution. Those secrets must be defined in the launching workspace.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "labels", + "full_command": "tw actions labels", + "parent": "actions", + "description": "Manages labels for actions.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.actions.LabelsCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Action unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Action name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--no-create"], + "description": "Assign labels without creating the ones which were not found.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--operations", "-o"], + "description": "Type of operation (set, append, delete) [default: set].", + "required": false, + "default_value": "set", + "arity": "1", + "hidden": false, + "type": "Operation", + "param_label": "", + "negatable": false + } + ], + "parameters": [ + { + "index": "0..*", + "param_label": "", + "description": "Comma-separated list of labels.", + "arity": "0..1", + "required": false, + "type": "List", + "hidden": false + } + ], + "subcommands": [], + "children": [] + } + ] + }, + { + "name": "collaborators", + "full_command": "tw collaborators", + "parent": "tw", + "description": "Manage organization collaborators.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.CollaboratorsCmd", + "options": [], + "parameters": [], + "subcommands": ["list"], + "children": [ + { + "name": "list", + "full_command": "tw collaborators list", + "parent": "collaborators", + "description": "List all the collaborators of a given organization.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.collaborators.ListCmd", + "options": [ + { + "names": ["-o", "--organization"], + "description": "Organization name or identifier.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-f", "--filter"], + "description": "Only show members with usernames that start with the given word.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--page"], + "description": "Pages to display [default: 1].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--offset"], + "description": "Rows record offset [default: 0].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--max"], + "description": "Maximum number of records to display [default: 100].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + } + ] + }, + { + "name": "compute-envs", + "full_command": "tw compute-envs", + "parent": "tw", + "description": "Manage workspace compute environments.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.ComputeEnvsCmd", + "options": [], + "parameters": [], + "subcommands": ["add", "update", "delete", "view", "list", "export", "import", "primary"], + "children": [ + { + "name": "add", + "full_command": "tw compute-envs add", + "parent": "compute-envs", + "description": "Add new compute environment.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.AddCmd", + "options": [], + "parameters": [], + "subcommands": ["k8s", "aws-batch", "aws-cloud", "eks", "slurm", "lsf", "uge", "altair", "moab", "gke", "google-batch", "google-cloud", "azure-batch", "azure-cloud", "seqera-compute"], + "children": [ + { + "name": "k8s", + "full_command": "tw compute-envs add k8s", + "parent": "add", + "description": "Add new Kubernetes compute environment.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.add.AddK8sCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Compute environment name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--credentials"], + "description": "Credentials identifier [default: workspace credentials].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--wait"], + "description": "Wait until given status or fail. Valid options: CREATING, AVAILABLE, DELETING, ERRORED, INVALID, DISABLED.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "ComputeEnvStatus", + "param_label": "", + "negatable": false + }, + { + "names": ["--labels"], + "description": "Comma-separated list of labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--pre-run"], + "description": "Pre-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--post-run"], + "description": "Post-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--nextflow-config"], + "description": "Nextflow config", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["-e", "--env"], + "description": "Add environment variables. By default are only added to the Nextflow head job process, if you want to add them to the process task prefix the name with 'compute:' or 'both:' if you want to make it available to both locations.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Map", + "param_label": "", + "negatable": false + }, + { + "names": ["--storage-mount"], + "description": "Storage mount path.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--compute-account"], + "description": "Compute service account.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--pod-cleanup"], + "description": "Pod cleanup policy (ON_SUCCESS, ALWAYS, NEVER).", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "PodCleanupPolicy", + "param_label": "", + "negatable": false + }, + { + "names": ["--head-pod-spec"], + "description": "Custom head pod specs file.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--service-pod-spec"], + "description": "Custom service pod specs file.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Work directory.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-s", "--server"], + "description": "Master server.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--namespace"], + "description": "Namespace.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--ssl-cert"], + "description": "SSL certificate.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--head-account"], + "description": "Head service account.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--storage-claim"], + "description": "Storage claim name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "aws-batch", + "full_command": "tw compute-envs add aws-batch", + "parent": "add", + "description": "Add new AWS Batch compute environment.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.add.AddAwsCmd", + "options": [], + "parameters": [], + "subcommands": ["forge", "manual"], + "children": [ + { + "name": "forge", + "full_command": "tw compute-envs add aws-batch forge", + "parent": "aws-batch", + "description": "Add new AWS Batch compute environment with automatic provisioning of compute resources.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.add.aws.AddAwsForgeCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Compute environment name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--credentials"], + "description": "Credentials identifier [default: workspace credentials].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--wait"], + "description": "Wait until given status or fail. Valid options: CREATING, AVAILABLE, DELETING, ERRORED, INVALID, DISABLED.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "ComputeEnvStatus", + "param_label": "", + "negatable": false + }, + { + "names": ["--labels"], + "description": "Comma-separated list of labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--pre-run"], + "description": "Pre-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--post-run"], + "description": "Post-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--nextflow-config"], + "description": "Nextflow config", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["-e", "--env"], + "description": "Add environment variables. By default are only added to the Nextflow head job process, if you want to add them to the process task prefix the name with 'compute:' or 'both:' if you want to make it available to both locations.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Map", + "param_label": "", + "negatable": false + }, + { + "names": ["--create-efs"], + "description": "A OneZone EFS without backup will be created. EC2 instances can run on a different zone and inter-region transfer fees will be billed. If you want to remove transfer costs, restrict to only one subnet at advanced options.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--efs-id"], + "description": "Enter the EFS file system id e.g. fs-0123456789.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--efs-mount"], + "description": "Enter the EFS mount path [default: pipeline work directory].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--fsx-size"], + "description": "Enter the FSx storage capacity in GB (minimum 1,200 GB or increments of 2,400 GB).", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--fsx-dns"], + "description": "Enter the FSx file system DNS name e.g. 'fs-0123456789.fsx.eu-west-1.amazonaws.com'.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--fsx-mount"], + "description": "Enter the FSx mount path [default: pipeline work directory].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--instance-types"], + "description": "Specify the instance types to be used to carry out the computation. You can specify one or more family or instance type. The option 'optimal' chooses the best fit of M4, C4, and R4 instance types available in the region.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--alloc-strategy"], + "description": "Allocation Strategies allow you to choose how Batch launches instances on your behalf. AWS recommends BEST_FIT_PROGRESSIVE for On-Demand CEs and SPOT_CAPACITY_OPTIMIZED for Spot CEs.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "AllocStrategyEnum", + "param_label": "", + "negatable": false + }, + { + "names": ["--vpc-id"], + "description": "VPC identifier.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--subnets"], + "description": "Comma-separated list of one or more subnets in your VPC that can be used to isolate the EC2 resources from each other or from the Internet.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--security-groups"], + "description": "Comma-separated list of one or more security groups that defines a set of firewall rules to control the traffic for your EC2 compute nodes.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--ami-id"], + "description": "Ths option allows you to use your own AMI. Note however it must be an AWS Linux-2 ECS-optimised image and meet the compute resource AMI specification [default: latest approved version of the Amazon ECS-optimized AMI].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--key-pair"], + "description": "The EC2 key pair to be installed in the compute nodes to access via SSH.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--min-cpus"], + "description": "The minimum number of CPUs provisioned in this environment that will remain active and you will be billed regardless of whether you are running any workloads.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--boot-disk-size"], + "description": "Enter the boot disk size as GB.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--head-job-cpus"], + "description": "The number of CPUs to be allocated for the Nextflow runner job.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--head-job-memory"], + "description": "The number of MiB of memory reserved for the Nextflow runner job.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--head-job-role"], + "description": "IAM role to fine-grained control permissions for the Nextflow runner job.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--compute-job-role"], + "description": "IAM role to fine-grained control permissions for jobs submitted by Nextflow.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--batch-execution-role"], + "description": "The execution role grants the Amazon ECS container used by Batch the permission to make API calls on your behalf.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--ebs-blocksize"], + "description": "This field controls the initial size of the EBS auto-expandable volume. New blocks of the same size are added as necessary when the volume is running out of free space [default: 50 GB].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--bid-percentage"], + "description": "The maximum percentage that a Spot Instance price can be when compared with the On-Demand price for that instance type before instances are launched. For example, if your maximum percentage is 20%, then the Spot price must be less than 20% of the current On-Demand price for that Amazon EC2 instance. You always pay the lowest (market) price and never more than your maximum percentage [default: 100% of the On-Demand price].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--cli-path"], + "description": "Nextflow requires the AWS CLI installed in the Ec2 instances. Use this field to specify the path.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Work directory.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-r", "--region"], + "description": "AWS region.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--max-cpus"], + "description": "The maximum number of CPUs provisioned in this environment.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--provisioning-model"], + "description": "VMs provisioning model. 'EC2' deploys uninterruptible Ec2 instances. 'SPOT' uses interruptible Ec2 instances.", + "required": false, + "default_value": "SPOT", + "arity": "1", + "hidden": false, + "type": "TypeEnum", + "param_label": "", + "negatable": false + }, + { + "names": ["--no-ebs-auto-scale"], + "description": "Disable the provisioning of EBS auto-expandable disk.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--fusion"], + "description": "DEPRECATED - Use '--fusion-v2' instead.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--fusion-v2"], + "description": "With Fusion v2 enabled, S3 buckets specified in the Pipeline work directory and Allowed S3 Buckets fields will be accessible in the compute nodes storage (requires Wave containers service).", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--wave"], + "description": "Allow access to private container repositories and the provisioning of containers in your Nextflow pipelines via the Wave containers service.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--fast-storage"], + "description": "Allow the use of NVMe instance storage to speed up I/O and disk access operations (requires Fusion v2).", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--snapshots"], + "description": "Allows Fusion to automatically restore a job when it is interrupted by a spot reclamation", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--fargate"], + "description": "Run the Nextflow head job using the Fargate container service (requires Fusion v2 and Spot provisioning model).", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--gpu"], + "description": "Deploys GPU enabled Ec2 instances.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--allow-buckets"], + "description": "Comma-separated list of S3 buckets or paths other than pipeline work directory that should be granted read-write permission from this environment.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--preserve-resources"], + "description": "Enable this if you want to preserve the Batch compute resources created by Tower independently from the lifecycle of this compute environment.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--ecs-config"], + "description": "Path to ECS agent configuration file - custom configuration for the ECS agent parameters used by AWS Batch. This is appended to the /etc/ecs/ecs.config file in each cluster node.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "manual", + "full_command": "tw compute-envs add aws-batch manual", + "parent": "aws-batch", + "description": "Add new AWS Batch compute environment using an existing environment.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.add.aws.AddAwsManualCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Compute environment name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--credentials"], + "description": "Credentials identifier [default: workspace credentials].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--wait"], + "description": "Wait until given status or fail. Valid options: CREATING, AVAILABLE, DELETING, ERRORED, INVALID, DISABLED.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "ComputeEnvStatus", + "param_label": "", + "negatable": false + }, + { + "names": ["--labels"], + "description": "Comma-separated list of labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--pre-run"], + "description": "Pre-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--post-run"], + "description": "Post-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--nextflow-config"], + "description": "Nextflow config", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["-e", "--env"], + "description": "Add environment variables. By default are only added to the Nextflow head job process, if you want to add them to the process task prefix the name with 'compute:' or 'both:' if you want to make it available to both locations.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Map", + "param_label": "", + "negatable": false + }, + { + "names": ["--head-job-cpus"], + "description": "The number of CPUs to be allocated for the Nextflow runner job.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--head-job-memory"], + "description": "The number of MiB of memory reserved for the Nextflow runner job.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--head-job-role"], + "description": "IAM role to fine-grained control permissions for the Nextflow runner job.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--compute-job-role"], + "description": "IAM role to fine-grained control permissions for jobs submitted by Nextflow.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--batch-execution-role"], + "description": "The execution role grants the Amazon ECS container used by Batch the permission to make API calls on your behalf.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--cli-path"], + "description": "Nextflow requires the AWS CLI installed in the Ec2 instances. Use this field to specify the path.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Work directory.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-r", "--region"], + "description": "AWS region.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--head-queue"], + "description": "The Batch queue that will run the Nextflow application. A queue that does not use spot instances is expected.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--compute-queue"], + "description": "The default Batch queue to which Nextflow will submit jobs. This can be overwritten via Nextflow config.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--fusion-v2"], + "description": "With Fusion v2 enabled, S3 buckets specified in the Pipeline work directory and Allowed S3 Buckets fields will be accessible in the compute nodes storage (requires Wave containers service).", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--wave"], + "description": "Allow access to private container repositories and the provisioning of containers in your Nextflow pipelines via the Wave containers service.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--fast-storage"], + "description": "Allow the use of NVMe instance storage to speed up I/O and disk access operations (requires Fusion v2).", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + } + ] + }, + { + "name": "aws-cloud", + "full_command": "tw compute-envs add aws-cloud", + "parent": "add", + "description": "Add new AWS Cloud compute environment.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.add.AddAwsCloudCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Compute environment name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--credentials"], + "description": "Credentials identifier [default: workspace credentials].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--wait"], + "description": "Wait until given status or fail. Valid options: CREATING, AVAILABLE, DELETING, ERRORED, INVALID, DISABLED.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "ComputeEnvStatus", + "param_label": "", + "negatable": false + }, + { + "names": ["--labels"], + "description": "Comma-separated list of labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--pre-run"], + "description": "Pre-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--post-run"], + "description": "Post-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--nextflow-config"], + "description": "Nextflow config", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["-e", "--env"], + "description": "Add environment variables. By default are only added to the Nextflow head job process, if you want to add them to the process task prefix the name with 'compute:' or 'both:' if you want to make it available to both locations.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Map", + "param_label": "", + "negatable": false + }, + { + "names": ["--arm64"], + "description": "Use ARM64 (Graviton) based instances.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--boot-disk-size"], + "description": "Enter the boot disk size in GB.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--ec2-key-pair"], + "description": "EC2 key pair to enable SSH connectivity to running instances.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--image-id"], + "description": "AMI ID for the EC2 instance.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--instance-profile-arn"], + "description": "IAM instance profile ARN for the EC2 instance.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--instance-type"], + "description": "EC2 instance type.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--security-groups"], + "description": "Security group IDs for network access control.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--subnet-id"], + "description": "VPC subnet ID for instance placement.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Work directory.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-r", "--region"], + "description": "AWS region.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--allow-buckets"], + "description": "S3 buckets that the compute environment can access.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "eks", + "full_command": "tw compute-envs add eks", + "parent": "add", + "description": "Add new Amazon EKS compute environment.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.add.AddEksCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Compute environment name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--credentials"], + "description": "Credentials identifier [default: workspace credentials].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--wait"], + "description": "Wait until given status or fail. Valid options: CREATING, AVAILABLE, DELETING, ERRORED, INVALID, DISABLED.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "ComputeEnvStatus", + "param_label": "", + "negatable": false + }, + { + "names": ["--labels"], + "description": "Comma-separated list of labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--pre-run"], + "description": "Pre-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--post-run"], + "description": "Post-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--nextflow-config"], + "description": "Nextflow config", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["-e", "--env"], + "description": "Add environment variables. By default are only added to the Nextflow head job process, if you want to add them to the process task prefix the name with 'compute:' or 'both:' if you want to make it available to both locations.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Map", + "param_label": "", + "negatable": false + }, + { + "names": ["--storage-mount"], + "description": "Storage mount path.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--compute-account"], + "description": "Compute service account.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--pod-cleanup"], + "description": "Pod cleanup policy (ON_SUCCESS, ALWAYS, NEVER).", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "PodCleanupPolicy", + "param_label": "", + "negatable": false + }, + { + "names": ["--head-pod-spec"], + "description": "Custom head pod specs file.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--service-pod-spec"], + "description": "Custom service pod specs file.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Work directory.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-r", "--region"], + "description": "AWS region.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--cluster-name"], + "description": "The AWS EKS cluster name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--namespace"], + "description": "Namespace.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--head-account"], + "description": "Head service account.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--storage-claim"], + "description": "Storage claim name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "slurm", + "full_command": "tw compute-envs add slurm", + "parent": "add", + "description": "Add new Slurm compute environment.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.add.AddSlurmCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Compute environment name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--credentials"], + "description": "Credentials identifier [default: workspace credentials].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--wait"], + "description": "Wait until given status or fail. Valid options: CREATING, AVAILABLE, DELETING, ERRORED, INVALID, DISABLED.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "ComputeEnvStatus", + "param_label": "", + "negatable": false + }, + { + "names": ["--labels"], + "description": "Comma-separated list of labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--pre-run"], + "description": "Pre-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--post-run"], + "description": "Post-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--nextflow-config"], + "description": "Nextflow config", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["-e", "--env"], + "description": "Add environment variables. By default are only added to the Nextflow head job process, if you want to add them to the process task prefix the name with 'compute:' or 'both:' if you want to make it available to both locations.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Map", + "param_label": "", + "negatable": false + }, + { + "names": ["--max-queue-size"], + "description": "This option limits the number of jobs Nextflow can submit to the Slurm queue at the same time [default: 100].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--head-job-options"], + "description": "Slurm submit options for the Nextflow head job. These options are added to the 'sbatch' command run by Tower to launch the pipeline execution.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Work directory.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-u", "--user-name"], + "description": "The username on the cluster used to launch the pipeline execution.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-H", "--host-name"], + "description": "The pipeline execution is launched by connecting via SSH to the hostname specified. This usually is the cluster login node. Local IP addresses e.g. 127.*, 172.*, 192.*, etc. are not allowed, use a fully qualified hostname instead.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--port"], + "description": "Port number for the login connection.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["-q", "--head-queue"], + "description": "The name of the queue on the cluster used to launch the execution of the Nextflow pipeline.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--compute-queue"], + "description": "The name of queue on the cluster to which pipeline jobs are submitted. This queue can be overridden by the pipeline configuration.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--launch-dir"], + "description": "The directory where Nextflow runs. It must be an absolute directory and the user should have read-write access permissions to it [default: pipeline work directory].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "lsf", + "full_command": "tw compute-envs add lsf", + "parent": "add", + "description": "Add new IBM LSF compute environment.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.add.AddLsfCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Compute environment name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--credentials"], + "description": "Credentials identifier [default: workspace credentials].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--wait"], + "description": "Wait until given status or fail. Valid options: CREATING, AVAILABLE, DELETING, ERRORED, INVALID, DISABLED.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "ComputeEnvStatus", + "param_label": "", + "negatable": false + }, + { + "names": ["--labels"], + "description": "Comma-separated list of labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--pre-run"], + "description": "Pre-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--post-run"], + "description": "Post-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--nextflow-config"], + "description": "Nextflow config", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["-e", "--env"], + "description": "Add environment variables. By default are only added to the Nextflow head job process, if you want to add them to the process task prefix the name with 'compute:' or 'both:' if you want to make it available to both locations.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Map", + "param_label": "", + "negatable": false + }, + { + "names": ["--max-queue-size"], + "description": "This option limits the number of jobs Nextflow can submit to the Slurm queue at the same time [default: 100].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--head-job-options"], + "description": "Slurm submit options for the Nextflow head job. These options are added to the 'sbatch' command run by Tower to launch the pipeline execution.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--unit-for-limits"], + "description": "This option defines the unit used by your LSF cluster for memory limits. It should match the attribute LSF_UNIT_FOR_LIMITS setting in your lsf.conf file.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--per-job-mem-limit"], + "description": "Whether the memory limit is interpreted as per-job or per-process. It should match the attribute LSB_JOB_MEMLIMIT in your lsf.conf file.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--per-task-reserve"], + "description": "Whether the memory reservation is made on job tasks instead of per-host. It should match the attribute RESOURCE_RESERVE_PER_TASK in your lsf.conf file.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Work directory.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-u", "--user-name"], + "description": "The username on the cluster used to launch the pipeline execution.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-H", "--host-name"], + "description": "The pipeline execution is launched by connecting via SSH to the hostname specified. This usually is the cluster login node. Local IP addresses e.g. 127.*, 172.*, 192.*, etc. are not allowed, use a fully qualified hostname instead.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--port"], + "description": "Port number for the login connection.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["-q", "--head-queue"], + "description": "The name of the queue on the cluster used to launch the execution of the Nextflow pipeline.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--compute-queue"], + "description": "The name of queue on the cluster to which pipeline jobs are submitted. This queue can be overridden by the pipeline configuration.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--launch-dir"], + "description": "The directory where Nextflow runs. It must be an absolute directory and the user should have read-write access permissions to it [default: pipeline work directory].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "uge", + "full_command": "tw compute-envs add uge", + "parent": "add", + "description": "Add new UNIVA grid engine compute environment.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.add.AddUgeCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Compute environment name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--credentials"], + "description": "Credentials identifier [default: workspace credentials].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--wait"], + "description": "Wait until given status or fail. Valid options: CREATING, AVAILABLE, DELETING, ERRORED, INVALID, DISABLED.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "ComputeEnvStatus", + "param_label": "", + "negatable": false + }, + { + "names": ["--labels"], + "description": "Comma-separated list of labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--pre-run"], + "description": "Pre-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--post-run"], + "description": "Post-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--nextflow-config"], + "description": "Nextflow config", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["-e", "--env"], + "description": "Add environment variables. By default are only added to the Nextflow head job process, if you want to add them to the process task prefix the name with 'compute:' or 'both:' if you want to make it available to both locations.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Map", + "param_label": "", + "negatable": false + }, + { + "names": ["--max-queue-size"], + "description": "This option limits the number of jobs Nextflow can submit to the Slurm queue at the same time [default: 100].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--head-job-options"], + "description": "Slurm submit options for the Nextflow head job. These options are added to the 'sbatch' command run by Tower to launch the pipeline execution.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Work directory.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-u", "--user-name"], + "description": "The username on the cluster used to launch the pipeline execution.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-H", "--host-name"], + "description": "The pipeline execution is launched by connecting via SSH to the hostname specified. This usually is the cluster login node. Local IP addresses e.g. 127.*, 172.*, 192.*, etc. are not allowed, use a fully qualified hostname instead.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--port"], + "description": "Port number for the login connection.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["-q", "--head-queue"], + "description": "The name of the queue on the cluster used to launch the execution of the Nextflow pipeline.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--compute-queue"], + "description": "The name of queue on the cluster to which pipeline jobs are submitted. This queue can be overridden by the pipeline configuration.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--launch-dir"], + "description": "The directory where Nextflow runs. It must be an absolute directory and the user should have read-write access permissions to it [default: pipeline work directory].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "altair", + "full_command": "tw compute-envs add altair", + "parent": "add", + "description": "Add new Altair PBS Pro compute environment.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.add.AddAltairCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Compute environment name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--credentials"], + "description": "Credentials identifier [default: workspace credentials].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--wait"], + "description": "Wait until given status or fail. Valid options: CREATING, AVAILABLE, DELETING, ERRORED, INVALID, DISABLED.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "ComputeEnvStatus", + "param_label": "", + "negatable": false + }, + { + "names": ["--labels"], + "description": "Comma-separated list of labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--pre-run"], + "description": "Pre-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--post-run"], + "description": "Post-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--nextflow-config"], + "description": "Nextflow config", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["-e", "--env"], + "description": "Add environment variables. By default are only added to the Nextflow head job process, if you want to add them to the process task prefix the name with 'compute:' or 'both:' if you want to make it available to both locations.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Map", + "param_label": "", + "negatable": false + }, + { + "names": ["--max-queue-size"], + "description": "This option limits the number of jobs Nextflow can submit to the Slurm queue at the same time [default: 100].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--head-job-options"], + "description": "Slurm submit options for the Nextflow head job. These options are added to the 'sbatch' command run by Tower to launch the pipeline execution.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Work directory.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-u", "--user-name"], + "description": "The username on the cluster used to launch the pipeline execution.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-H", "--host-name"], + "description": "The pipeline execution is launched by connecting via SSH to the hostname specified. This usually is the cluster login node. Local IP addresses e.g. 127.*, 172.*, 192.*, etc. are not allowed, use a fully qualified hostname instead.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--port"], + "description": "Port number for the login connection.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["-q", "--head-queue"], + "description": "The name of the queue on the cluster used to launch the execution of the Nextflow pipeline.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--compute-queue"], + "description": "The name of queue on the cluster to which pipeline jobs are submitted. This queue can be overridden by the pipeline configuration.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--launch-dir"], + "description": "The directory where Nextflow runs. It must be an absolute directory and the user should have read-write access permissions to it [default: pipeline work directory].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "moab", + "full_command": "tw compute-envs add moab", + "parent": "add", + "description": "Add new MOAB compute environment.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.add.AddMoabCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Compute environment name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--credentials"], + "description": "Credentials identifier [default: workspace credentials].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--wait"], + "description": "Wait until given status or fail. Valid options: CREATING, AVAILABLE, DELETING, ERRORED, INVALID, DISABLED.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "ComputeEnvStatus", + "param_label": "", + "negatable": false + }, + { + "names": ["--labels"], + "description": "Comma-separated list of labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--pre-run"], + "description": "Pre-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--post-run"], + "description": "Post-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--nextflow-config"], + "description": "Nextflow config", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["-e", "--env"], + "description": "Add environment variables. By default are only added to the Nextflow head job process, if you want to add them to the process task prefix the name with 'compute:' or 'both:' if you want to make it available to both locations.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Map", + "param_label": "", + "negatable": false + }, + { + "names": ["--max-queue-size"], + "description": "This option limits the number of jobs Nextflow can submit to the Slurm queue at the same time [default: 100].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--head-job-options"], + "description": "Slurm submit options for the Nextflow head job. These options are added to the 'sbatch' command run by Tower to launch the pipeline execution.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Work directory.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-u", "--user-name"], + "description": "The username on the cluster used to launch the pipeline execution.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-H", "--host-name"], + "description": "The pipeline execution is launched by connecting via SSH to the hostname specified. This usually is the cluster login node. Local IP addresses e.g. 127.*, 172.*, 192.*, etc. are not allowed, use a fully qualified hostname instead.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--port"], + "description": "Port number for the login connection.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["-q", "--head-queue"], + "description": "The name of the queue on the cluster used to launch the execution of the Nextflow pipeline.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--compute-queue"], + "description": "The name of queue on the cluster to which pipeline jobs are submitted. This queue can be overridden by the pipeline configuration.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--launch-dir"], + "description": "The directory where Nextflow runs. It must be an absolute directory and the user should have read-write access permissions to it [default: pipeline work directory].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "gke", + "full_command": "tw compute-envs add gke", + "parent": "add", + "description": "Add new Google GKE compute environment.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.add.AddGkeCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Compute environment name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--credentials"], + "description": "Credentials identifier [default: workspace credentials].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--wait"], + "description": "Wait until given status or fail. Valid options: CREATING, AVAILABLE, DELETING, ERRORED, INVALID, DISABLED.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "ComputeEnvStatus", + "param_label": "", + "negatable": false + }, + { + "names": ["--labels"], + "description": "Comma-separated list of labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--pre-run"], + "description": "Pre-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--post-run"], + "description": "Post-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--nextflow-config"], + "description": "Nextflow config", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["-e", "--env"], + "description": "Add environment variables. By default are only added to the Nextflow head job process, if you want to add them to the process task prefix the name with 'compute:' or 'both:' if you want to make it available to both locations.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Map", + "param_label": "", + "negatable": false + }, + { + "names": ["--storage-mount"], + "description": "Storage mount path.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--compute-account"], + "description": "Compute service account.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--pod-cleanup"], + "description": "Pod cleanup policy (ON_SUCCESS, ALWAYS, NEVER).", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "PodCleanupPolicy", + "param_label": "", + "negatable": false + }, + { + "names": ["--head-pod-spec"], + "description": "Custom head pod specs file.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--service-pod-spec"], + "description": "Custom service pod specs file.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Work directory.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-r", "--region"], + "description": "AWS region.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--cluster-name"], + "description": "The AWS EKS cluster name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--namespace"], + "description": "Namespace.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--head-account"], + "description": "Head service account.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--storage-claim"], + "description": "Storage claim name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "google-batch", + "full_command": "tw compute-envs add google-batch", + "parent": "add", + "description": "Add new Google Batch compute environment.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.add.AddGoogleBatchCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Compute environment name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--credentials"], + "description": "Credentials identifier [default: workspace credentials].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--wait"], + "description": "Wait until given status or fail. Valid options: CREATING, AVAILABLE, DELETING, ERRORED, INVALID, DISABLED.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "ComputeEnvStatus", + "param_label": "", + "negatable": false + }, + { + "names": ["--labels"], + "description": "Comma-separated list of labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--pre-run"], + "description": "Pre-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--post-run"], + "description": "Post-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--nextflow-config"], + "description": "Nextflow config", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["-e", "--env"], + "description": "Add environment variables. By default are only added to the Nextflow head job process, if you want to add them to the process task prefix the name with 'compute:' or 'both:' if you want to make it available to both locations.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Map", + "param_label": "", + "negatable": false + }, + { + "names": ["--use-private-address"], + "description": "Do not attach a public IP address to the VM. When enabled only Google internal services are accessible.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--boot-disk-size"], + "description": "Enter the boot disk size as GB.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--head-job-cpus"], + "description": "The number of CPUs to be allocated for the Nextflow runner job.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--head-job-memory"], + "description": "The number of MiB of memory reserved for the Nextflow runner job (value should be a multiple of 256MiB and from 0.5 GB to 8 GB per CPU).", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--service-account-email"], + "description": "The service account email address used when deploying pipeline executions with this compute environment.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--head-job-template"], + "description": "The name or fully qualified reference of the instance template to use for the head job.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--compute-job-template"], + "description": "The name or fully qualified reference of the instance template to use for the compute jobs.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Work directory.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-l", "--location"], + "description": "The location where the job executions are deployed to Google Batch API.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--spot"], + "description": "Use Spot virtual machines.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--fusion-v2"], + "description": "With Fusion v2 enabled, S3 buckets specified in the Pipeline work directory and Allowed S3 Buckets fields will be accessible in the compute nodes storage (requires Wave containers service).", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--wave"], + "description": "Allow access to private container repositories and the provisioning of containers in your Nextflow pipelines via the Wave containers service.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "google-cloud", + "full_command": "tw compute-envs add google-cloud", + "parent": "add", + "description": "Add new Google Cloud compute environment.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.add.AddGoogleCloudCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Compute environment name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--credentials"], + "description": "Credentials identifier [default: workspace credentials].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--wait"], + "description": "Wait until given status or fail. Valid options: CREATING, AVAILABLE, DELETING, ERRORED, INVALID, DISABLED.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "ComputeEnvStatus", + "param_label": "", + "negatable": false + }, + { + "names": ["--labels"], + "description": "Comma-separated list of labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--pre-run"], + "description": "Pre-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--post-run"], + "description": "Post-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--nextflow-config"], + "description": "Nextflow config", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["-e", "--env"], + "description": "Add environment variables. By default are only added to the Nextflow head job process, if you want to add them to the process task prefix the name with 'compute:' or 'both:' if you want to make it available to both locations.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Map", + "param_label": "", + "negatable": false + }, + { + "names": ["--arm64"], + "description": "Use ARM64 (Axion) based instances.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--boot-disk-size"], + "description": "Boot disk size in GB.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--gpu"], + "description": "Enable GPU-enabled instances.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--image-id"], + "description": "Image ID for the Compute Engine instance.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--instance-type"], + "description": "Compute Engine machine type.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Work directory.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-r", "--region"], + "description": "Google Cloud region.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-z", "--zone"], + "description": "Google Cloud zone within the region.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "azure-batch", + "full_command": "tw compute-envs add azure-batch", + "parent": "add", + "description": "Add new Azure Batch compute environments.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.add.AddAzureCmd", + "options": [], + "parameters": [], + "subcommands": ["forge", "manual"], + "children": [ + { + "name": "forge", + "full_command": "tw compute-envs add azure-batch forge", + "parent": "azure-batch", + "description": "Add new Azure Batch compute environment with automatic provisioning of compute resources.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.add.azure.AddAzureForgeCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Compute environment name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--credentials"], + "description": "Credentials identifier [default: workspace credentials].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--wait"], + "description": "Wait until given status or fail. Valid options: CREATING, AVAILABLE, DELETING, ERRORED, INVALID, DISABLED.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "ComputeEnvStatus", + "param_label": "", + "negatable": false + }, + { + "names": ["--labels"], + "description": "Comma-separated list of labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--pre-run"], + "description": "Pre-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--post-run"], + "description": "Post-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--nextflow-config"], + "description": "Nextflow config", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["-e", "--env"], + "description": "Add environment variables. By default are only added to the Nextflow head job process, if you want to add them to the process task prefix the name with 'compute:' or 'both:' if you want to make it available to both locations.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Map", + "param_label": "", + "negatable": false + }, + { + "names": ["--jobs-cleanup"], + "description": "Enable the automatic deletion of Batch jobs created by the pipeline execution (ON_SUCCESS, ALWAYS, NEVER).", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "JobCleanupPolicy", + "param_label": "", + "negatable": false + }, + { + "names": ["--token-duration"], + "description": "The duration of the shared access signature token created by Nextflow when the 'sasToken' option is not specified [default: 12h].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Work directory.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-l", "--location"], + "description": "The Azure location where the workload will be deployed.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--vm-type"], + "description": "Specify the virtual machine type used by this pool. It must be a valid Azure Batch VM type [default: Standard_D4_v3].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--vm-count"], + "description": "The number of virtual machines in this pool. When autoscaling feature is enabled, this option represents the maximum number of virtual machines to which the pool can grow and automatically scales to zero when unused.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--no-auto-scale"], + "description": "Disable pool autoscaling which automatically adjust the pool size depending the number submitted jobs and scale to zero when the pool is unused.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--preserve-resources"], + "description": "Enable this if you want to preserve the Batch compute pool created by Tower independently from the lifecycle of this compute environment.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--registry-credentials"], + "description": "Comma-separated list of container registry credentials name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--fusion-v2"], + "description": "With Fusion v2 enabled, Azure blob containers specified in the pipeline work directory and blob containers within the Azure storage account will be accessible in the compute nodes storage (requires Wave containers service).", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--wave"], + "description": "Allow access to private container repositories and the provisioning of containers in your Nextflow pipelines via the Wave containers service.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "manual", + "full_command": "tw compute-envs add azure-batch manual", + "parent": "azure-batch", + "description": "Add new Azure Batch compute environment using an existing environment.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.add.azure.AddAzureManualCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Compute environment name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--credentials"], + "description": "Credentials identifier [default: workspace credentials].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--wait"], + "description": "Wait until given status or fail. Valid options: CREATING, AVAILABLE, DELETING, ERRORED, INVALID, DISABLED.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "ComputeEnvStatus", + "param_label": "", + "negatable": false + }, + { + "names": ["--labels"], + "description": "Comma-separated list of labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--pre-run"], + "description": "Pre-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--post-run"], + "description": "Post-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--nextflow-config"], + "description": "Nextflow config", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["-e", "--env"], + "description": "Add environment variables. By default are only added to the Nextflow head job process, if you want to add them to the process task prefix the name with 'compute:' or 'both:' if you want to make it available to both locations.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Map", + "param_label": "", + "negatable": false + }, + { + "names": ["--jobs-cleanup"], + "description": "Enable the automatic deletion of Batch jobs created by the pipeline execution (ON_SUCCESS, ALWAYS, NEVER).", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "JobCleanupPolicy", + "param_label": "", + "negatable": false + }, + { + "names": ["--token-duration"], + "description": "The duration of the shared access signature token created by Nextflow when the 'sasToken' option is not specified [default: 12h].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Work directory.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-l", "--location"], + "description": "The Azure location where the workload will be deployed.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--compute-pool-name"], + "description": "The Azure Batch compute pool to be used to run the Nextflow jobs. This needs to be a pre-configured Batch compute pool which includes the azcopy command line (see the Tower documentation for details).", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--fusion-v2"], + "description": "With Fusion v2 enabled, Azure blob containers specified in the pipeline work directory and blob containers within the Azure storage account will be accessible in the compute nodes storage (requires Wave containers service).", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--wave"], + "description": "Allow access to private container repositories and the provisioning of containers in your Nextflow pipelines via the Wave containers service.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + } + ] + }, + { + "name": "azure-cloud", + "full_command": "tw compute-envs add azure-cloud", + "parent": "add", + "description": "Add new Azure Cloud compute environment.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.add.AddAzureCloudCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Compute environment name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--credentials"], + "description": "Credentials identifier [default: workspace credentials].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--wait"], + "description": "Wait until given status or fail. Valid options: CREATING, AVAILABLE, DELETING, ERRORED, INVALID, DISABLED.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "ComputeEnvStatus", + "param_label": "", + "negatable": false + }, + { + "names": ["--labels"], + "description": "Comma-separated list of labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--pre-run"], + "description": "Pre-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--post-run"], + "description": "Post-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--nextflow-config"], + "description": "Nextflow config", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["-e", "--env"], + "description": "Add environment variables. By default are only added to the Nextflow head job process, if you want to add them to the process task prefix the name with 'compute:' or 'both:' if you want to make it available to both locations.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Map", + "param_label": "", + "negatable": false + }, + { + "names": ["--data-collection-endpoint"], + "description": "Data collection endpoint URL.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--data-collection-rule-id"], + "description": "Data collection rule ID.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--instance-type"], + "description": "Azure virtual machine type.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--log-table-name"], + "description": "Log Analytics table name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--log-workspace-id"], + "description": "Log Analytics workspace ID.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--managed-identity-client-id"], + "description": "Managed identity client ID.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--managed-identity-id"], + "description": "Managed identity resource ID.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--network-id"], + "description": "Azure virtual network ID.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--subscription-id"], + "description": "Azure subscription ID.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Work directory.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-r", "--region"], + "description": "Azure region.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--resource-group"], + "description": "Azure resource group name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "seqera-compute", + "full_command": "tw compute-envs add seqera-compute", + "parent": "add", + "description": "Add new Seqera Compute environment.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.add.AddSeqeraComputeCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Compute environment name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--credentials"], + "description": "Credentials identifier [default: workspace credentials].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--wait"], + "description": "Wait until given status or fail. Valid options: CREATING, AVAILABLE, DELETING, ERRORED, INVALID, DISABLED.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "ComputeEnvStatus", + "param_label": "", + "negatable": false + }, + { + "names": ["--labels"], + "description": "Comma-separated list of labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--pre-run"], + "description": "Pre-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--post-run"], + "description": "Post-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--nextflow-config"], + "description": "Nextflow config", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["-e", "--env"], + "description": "Add environment variables. By default are only added to the Nextflow head job process, if you want to add them to the process task prefix the name with 'compute:' or 'both:' if you want to make it available to both locations.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Map", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Work directory suffix relative to the S3 bucket that will be created by Seqera Compute.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-r", "--region"], + "description": "AWS region.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--instance-type-size"], + "description": "Size of Data Studios instance (SMALL, MEDIUM, LARGE). Free-tier organizations are limited to SMALL.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "SeqeraComputeCloudInstanceTypeSize", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + } + ] + }, + { + "name": "update", + "full_command": "tw compute-envs update", + "parent": "compute-envs", + "description": "Update compute environments.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.UpdateCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Compute environment unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Compute environment name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--new-name"], + "description": "Compute environment new name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "delete", + "full_command": "tw compute-envs delete", + "parent": "compute-envs", + "description": "Delete compute environment.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.DeleteCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Compute environment unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Compute environment name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "view", + "full_command": "tw compute-envs view", + "parent": "compute-envs", + "description": "View compute environment.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.ViewCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Compute environment unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Compute environment name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "list", + "full_command": "tw compute-envs list", + "parent": "compute-envs", + "description": "List all workspace compute environments.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.ListCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "export", + "full_command": "tw compute-envs export", + "parent": "compute-envs", + "description": "Export compute environment for further creation.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.ExportCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Compute environment unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Compute environment name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [ + { + "index": "0", + "param_label": "FILENAME", + "description": "File name to export.", + "arity": "0..1", + "required": false, + "type": "String", + "hidden": false + } + ], + "subcommands": [], + "children": [] + }, + { + "name": "import", + "full_command": "tw compute-envs import", + "parent": "compute-envs", + "description": "Add a compute environment from file content.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.ImportCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Compute environment name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--credentials"], + "description": "Credentials identifier [default: workspace credentials].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--wait"], + "description": "Wait until given status or fail. Valid options: CREATING, AVAILABLE, DELETING, ERRORED, INVALID, DISABLED.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "ComputeEnvStatus", + "param_label": "", + "negatable": false + }, + { + "names": ["--labels"], + "description": "Comma-separated list of labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--overwrite"], + "description": "Overwrite the compute env if it already exists.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + } + ], + "parameters": [ + { + "index": "0", + "param_label": "FILENAME", + "description": "File name to import.", + "arity": "1", + "required": true, + "type": "Path", + "hidden": false + } + ], + "subcommands": [], + "children": [] + }, + { + "name": "primary", + "full_command": "tw compute-envs primary", + "parent": "compute-envs", + "description": "Sets or gets a primary compute environment within current workspace.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.PrimaryCmd", + "options": [], + "parameters": [], + "subcommands": ["get", "set"], + "children": [ + { + "name": "get", + "full_command": "tw compute-envs primary get", + "parent": "primary", + "description": "Gets a workspace primary compute environment.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.primary.GetCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "set", + "full_command": "tw compute-envs primary set", + "parent": "primary", + "description": "Sets a workspace compute environment as primary.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.primary.SetCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-i", "--id"], + "description": "Compute environment unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Compute environment name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + } + ] + } + ] + }, + { + "name": "credentials", + "full_command": "tw credentials", + "parent": "tw", + "description": "Manage workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.CredentialsCmd", + "options": [], + "parameters": [], + "subcommands": ["add", "update", "delete", "list"], + "children": [ + { + "name": "add", + "full_command": "tw credentials add", + "parent": "credentials", + "description": "Add new workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.AddCmd", + "options": [], + "parameters": [], + "subcommands": ["aws", "codecommit", "google", "github", "gitlab", "gitea", "bitbucket", "ssh", "k8s", "azure", "agent", "container-reg"], + "children": [ + { + "name": "aws", + "full_command": "tw credentials add aws", + "parent": "add", + "description": "Add new AWS workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.add.AddAwsCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Credentials name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--overwrite"], + "description": "Overwrite the credentials if it already exists.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["-a", "--access-key"], + "description": "The AWS access key required to access the desired service.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-s", "--secret-key"], + "description": "The AWS secret key required to access the desired service.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-r", "--assume-role-arn"], + "description": "The IAM role to access the AWS resources. It should be a fully qualified AWS role ARN.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "codecommit", + "full_command": "tw credentials add codecommit", + "parent": "add", + "description": "Add new CodeCommit workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.add.AddCodeCommitCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Credentials name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--overwrite"], + "description": "Overwrite the credentials if it already exists.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--base-url"], + "description": "Repository base URL.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--access-key"], + "description": "CodeCommit AWS access key.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--secret-key"], + "description": "CodeCommit AWS secret key.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "google", + "full_command": "tw credentials add google", + "parent": "add", + "description": "Add new Google workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.add.AddGoogleCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Credentials name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--overwrite"], + "description": "Overwrite the credentials if it already exists.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["-k", "--key"], + "description": "JSON file with the service account key.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "github", + "full_command": "tw credentials add github", + "parent": "add", + "description": "Add new Github workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.add.AddGithubCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Credentials name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--overwrite"], + "description": "Overwrite the credentials if it already exists.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--base-url"], + "description": "Repository base URL.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-u", "--username"], + "description": "Github username.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--password"], + "description": "Github account password or access token (recommended).", + "required": true, + "default_value": null, + "arity": "0..1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "gitlab", + "full_command": "tw credentials add gitlab", + "parent": "add", + "description": "Add new Gitlab workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.add.AddGitlabCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Credentials name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--overwrite"], + "description": "Overwrite the credentials if it already exists.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--base-url"], + "description": "Repository base URL.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-u", "--username"], + "description": "Gitlab username.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--password"], + "description": "Gitlab account password or access token (recommended).", + "required": true, + "default_value": null, + "arity": "0..1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-t", "--token"], + "description": "Gitlab account access token.", + "required": true, + "default_value": null, + "arity": "0..1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "gitea", + "full_command": "tw credentials add gitea", + "parent": "add", + "description": "Add new Gitea workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.add.AddGiteaCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Credentials name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--overwrite"], + "description": "Overwrite the credentials if it already exists.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--base-url"], + "description": "Repository base URL.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-u", "--username"], + "description": "Gitea username.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--password"], + "description": "Gitea account password.", + "required": true, + "default_value": null, + "arity": "0..1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "bitbucket", + "full_command": "tw credentials add bitbucket", + "parent": "add", + "description": "Add new Bitbucket workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.add.AddBitbucketCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Credentials name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--overwrite"], + "description": "Overwrite the credentials if it already exists.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--base-url"], + "description": "Repository base URL.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-u", "--username"], + "description": "Bitbucket username.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--password"], + "description": "Bitbucket App password.", + "required": true, + "default_value": null, + "arity": "0..1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "ssh", + "full_command": "tw credentials add ssh", + "parent": "add", + "description": "Add new SSH workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.add.AddSshCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Credentials name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--overwrite"], + "description": "Overwrite the credentials if it already exists.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["-k", "--key"], + "description": "SSH private key file.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--passphrase"], + "description": "Passphrase associated with the private key.", + "required": false, + "default_value": null, + "arity": "0..1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "k8s", + "full_command": "tw credentials add k8s", + "parent": "add", + "description": "Add new Kubernetes workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.add.AddK8sCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Credentials name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--overwrite"], + "description": "Overwrite the credentials if it already exists.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["-t", "--token"], + "description": "Service account token.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--certificate"], + "description": "Client certificate file.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["-k", "--private-key"], + "description": "Client key file.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "azure", + "full_command": "tw credentials add azure", + "parent": "add", + "description": "Add new Azure workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.add.AddAzureCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Credentials name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--overwrite"], + "description": "Overwrite the credentials if it already exists.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--batch-key"], + "description": "Azure batch account key.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--batch-name"], + "description": "Azure batch account name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--storage-key"], + "description": "Azure blob storage account key.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--storage-name"], + "description": "Azure blob storage account name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "agent", + "full_command": "tw credentials add agent", + "parent": "add", + "description": "Add new Tower Agent workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.add.AddAgentCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Credentials name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--overwrite"], + "description": "Overwrite the credentials if it already exists.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--connection-id"], + "description": "Connection identifier.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Default work directory", + "required": false, + "default_value": "$TW_AGENT_WORK", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "container-reg", + "full_command": "tw credentials add container-reg", + "parent": "add", + "description": "Add new Container Registry workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.add.AddContainerRegistryCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Credentials name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--overwrite"], + "description": "Overwrite the credentials if it already exists.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["-u", "--username"], + "description": "The user name to grant you access to the container registry.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--password"], + "description": "The password to grant you access to the container registry.", + "required": true, + "default_value": null, + "arity": "0..1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-r", "--registry"], + "description": "The container registry server name [default: 'docker.io'].", + "required": false, + "default_value": "docker.io", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + } + ] + }, + { + "name": "update", + "full_command": "tw credentials update", + "parent": "credentials", + "description": "Update workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.UpdateCmd", + "options": [], + "parameters": [], + "subcommands": ["aws", "codecommit", "google", "github", "gitlab", "bitbucket", "ssh", "k8s", "azure", "container-reg", "agent"], + "children": [ + { + "name": "aws", + "full_command": "tw credentials update aws", + "parent": "update", + "description": "Update AWS workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.update.UpdateAwsCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Credentials unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Credentials name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-a", "--access-key"], + "description": "The AWS access key required to access the desired service.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-s", "--secret-key"], + "description": "The AWS secret key required to access the desired service.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-r", "--assume-role-arn"], + "description": "The IAM role to access the AWS resources. It should be a fully qualified AWS role ARN.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "codecommit", + "full_command": "tw credentials update codecommit", + "parent": "update", + "description": "Update CodeCommit workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.update.UpdateCodeCommitCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Credentials unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Credentials name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--base-url"], + "description": "Repository base URL.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--access-key"], + "description": "CodeCommit AWS access key.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--secret-key"], + "description": "CodeCommit AWS secret key.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "google", + "full_command": "tw credentials update google", + "parent": "update", + "description": "Update Google workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.update.UpdateGoogleCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Credentials unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Credentials name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-k", "--key"], + "description": "JSON file with the service account key.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "github", + "full_command": "tw credentials update github", + "parent": "update", + "description": "Update Github workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.update.UpdateGithubCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Credentials unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Credentials name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--base-url"], + "description": "Repository base URL.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-u", "--username"], + "description": "Github username.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--password"], + "description": "Github account password or access token (recommended).", + "required": true, + "default_value": null, + "arity": "0..1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "gitlab", + "full_command": "tw credentials update gitlab", + "parent": "update", + "description": "Update Gitlab workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.update.UpdateGitlabCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Credentials unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Credentials name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--base-url"], + "description": "Repository base URL.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-u", "--username"], + "description": "Gitlab username.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--password"], + "description": "Gitlab account password or access token (recommended).", + "required": true, + "default_value": null, + "arity": "0..1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-t", "--token"], + "description": "Gitlab account access token.", + "required": true, + "default_value": null, + "arity": "0..1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "bitbucket", + "full_command": "tw credentials update bitbucket", + "parent": "update", + "description": "Update Bitbucket workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.update.UpdateBitbucketCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Credentials unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Credentials name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--base-url"], + "description": "Repository base URL.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-u", "--username"], + "description": "Bitbucket username.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--password"], + "description": "Bitbucket App password.", + "required": true, + "default_value": null, + "arity": "0..1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "ssh", + "full_command": "tw credentials update ssh", + "parent": "update", + "description": "Update SSH workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.update.UpdateSshCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Credentials unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Credentials name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-k", "--key"], + "description": "SSH private key file.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--passphrase"], + "description": "Passphrase associated with the private key.", + "required": false, + "default_value": null, + "arity": "0..1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "k8s", + "full_command": "tw credentials update k8s", + "parent": "update", + "description": "Update Kubernetes workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.update.UpdateK8sCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Credentials unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Credentials name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-t", "--token"], + "description": "Service account token.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--certificate"], + "description": "Client certificate file.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["-k", "--private-key"], + "description": "Client key file.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "azure", + "full_command": "tw credentials update azure", + "parent": "update", + "description": "Update Azure workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.update.UpdateAzureCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Credentials unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Credentials name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--batch-key"], + "description": "Azure batch account key.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--batch-name"], + "description": "Azure batch account name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--storage-key"], + "description": "Azure blob storage account key.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--storage-name"], + "description": "Azure blob storage account name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "container-reg", + "full_command": "tw credentials update container-reg", + "parent": "update", + "description": "Update Container Registry workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.update.UpdateContainerRegistryCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Credentials unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Credentials name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-u", "--username"], + "description": "The user name to grant you access to the container registry.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--password"], + "description": "The password to grant you access to the container registry.", + "required": true, + "default_value": null, + "arity": "0..1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-r", "--registry"], + "description": "The container registry server name [default: 'docker.io'].", + "required": false, + "default_value": "docker.io", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "agent", + "full_command": "tw credentials update agent", + "parent": "update", + "description": "Update new Tower Agent workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.update.UpdateAgentCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Credentials unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Credentials name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--connection-id"], + "description": "Connection identifier.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Default work directory", + "required": false, + "default_value": "$TW_AGENT_WORK", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + } + ] + }, + { + "name": "delete", + "full_command": "tw credentials delete", + "parent": "credentials", + "description": "Delete workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.DeleteCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Credentials unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Credentials name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "list", + "full_command": "tw credentials list", + "parent": "credentials", + "description": "List all workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.ListCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + } + ] + }, + { + "name": "data-links", + "full_command": "tw data-links", + "parent": "tw", + "description": "Manage data-links.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.DataLinksCmd", + "options": [], + "parameters": [], + "subcommands": ["list", "add", "delete", "update", "browse", "download", "upload"], + "children": [ + { + "name": "list", + "full_command": "tw data-links list", + "parent": "data-links", + "description": "List data-links.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.data.links.ListCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--page"], + "description": "Pages to display [default: 1].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--offset"], + "description": "Rows record offset [default: 0].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--max"], + "description": "Maximum number of records to display [default: 100].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--credentials"], + "description": "Credentials identifier.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--wait"], + "description": "When present program will wait till all data links are fetched to cache.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--visibility"], + "description": "Show only data links that are [hidden, visible, all]. When not present all will be shown.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Visibility", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Show only data links with names that start with the given word.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-r", "--region"], + "description": "Show only data links belonging to given region", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--providers"], + "description": "Show only data links belonging to given providers. [aws,azure,google]", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["-u", "--uri"], + "description": "Show only data links with URI (resource reference) that start with the given URI.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "add", + "full_command": "tw data-links add", + "parent": "data-links", + "description": "Add custom data-link.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.data.links.AddCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Data link name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-d", "--description"], + "description": "Data link description.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-u", "--uri"], + "description": "Data link uri.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--provider"], + "description": "Data link provider. [aws, azure, google]", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "DataLinkProvider", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--credentials"], + "description": "Credentials identifier.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "delete", + "full_command": "tw data-links delete", + "parent": "data-links", + "description": "Delete custom data-link.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.data.links.DeleteCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-i", "--id"], + "description": "Data link id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Data link name (e.g. my-custom-data-link-name).", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--uri"], + "description": "Data link URI (e.g. s3://another-bucket).", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "update", + "full_command": "tw data-links update", + "parent": "data-links", + "description": "Update custom data-link.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.data.links.UpdateCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-i", "--id"], + "description": "Data link id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Data link name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-d", "--description"], + "description": "Data link description.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--credentials"], + "description": "Credentials identifier.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "browse", + "full_command": "tw data-links browse", + "parent": "data-links", + "description": "Browse content of data-link.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.data.links.BrowseCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-i", "--id"], + "description": "Data link id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Data link name (e.g. my-custom-data-link-name).", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--uri"], + "description": "Data link URI (e.g. s3://another-bucket).", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--credentials"], + "description": "Credentials identifier.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--path"], + "description": "Path to the folder to browse.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-f", "--filter"], + "description": "Filter files with the given prefix.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-t", "--token"], + "description": "Next page token to fetch next page.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--page"], + "description": "Pages to display [default: null].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "download", + "full_command": "tw data-links download", + "parent": "data-links", + "description": "Download content of data-link.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.data.links.DownloadCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-i", "--id"], + "description": "Data link id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Data link name (e.g. my-custom-data-link-name).", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--uri"], + "description": "Data link URI (e.g. s3://another-bucket).", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--credentials"], + "description": "Credentials identifier.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-o", "--output-dir"], + "description": "Output directory.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [ + { + "index": "0..*", + "param_label": "", + "description": "Paths to files or directories to download.", + "arity": "1..*", + "required": true, + "type": "List", + "hidden": false + } + ], + "subcommands": [], + "children": [] + }, + { + "name": "upload", + "full_command": "tw data-links upload", + "parent": "data-links", + "description": "Upload content to data-link.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.data.links.UploadCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-i", "--id"], + "description": "Data link id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Data link name (e.g. my-custom-data-link-name).", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--uri"], + "description": "Data link URI (e.g. s3://another-bucket).", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--credentials"], + "description": "Credentials identifier.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-o", "--output-dir"], + "description": "Output directory.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [ + { + "index": "0..*", + "param_label": "", + "description": "Paths to files or directories to upload.", + "arity": "1..*", + "required": true, + "type": "List", + "hidden": false + } + ], + "subcommands": [], + "children": [] + } + ] + }, + { + "name": "studios", + "full_command": "tw studios", + "parent": "tw", + "description": "Manage studios.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.StudiosCmd", + "options": [], + "parameters": [], + "subcommands": ["view", "list", "start", "add", "templates", "checkpoints", "add-as-new", "stop", "delete"], + "children": [ + { + "name": "view", + "full_command": "tw studios view", + "parent": "studios", + "description": "View studio.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.studios.ViewCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-i", "--id"], + "description": "Studio session ID.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Studio name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "list", + "full_command": "tw studios list", + "parent": "studios", + "description": "List workspace studios.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.studios.ListCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-f", "--filter"], + "description": "Optional filter criteria, allowing free text search on name and templateUrl and keywords: `userName`, `computeEnvName` and `status`. Example keyword usage: -f status:RUNNING.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-l", "--labels"], + "description": "Show labels.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--page"], + "description": "Pages to display [default: 1].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--offset"], + "description": "Rows record offset [default: 0].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--max"], + "description": "Maximum number of records to display [default: 100].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "start", + "full_command": "tw studios start", + "parent": "studios", + "description": "Start a studio.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.studios.StartCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-i", "--id"], + "description": "Studio session ID.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Studio name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--mount-data-uris"], + "description": "Comma separate list of data-link URIs: s3://nextflow-bucket,s3://another-bucket", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--mount-data"], + "description": "Comma separate list of data-link names: nextflow-bucket,my-custom-data-link-name", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--mount-data-ids"], + "description": "Comma separate list of data-link ids: v1-cloud-YjI3MjMwOTMyNjUwNzk5tbG9yZQ=,v1-user-d2c505e70901d2bf6516d", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--gpu"], + "description": "Optional configuration override for 'gpu' setting (integer representing number of cores).", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--cpu"], + "description": "Optional configuration override for 'cpu' setting (integer representing number of cores).", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--memory"], + "description": "Optional configuration override for 'memory' setting (integer representing memory in MBs).", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--lifespan"], + "description": "Optional configuration override for 'lifespan' setting (integer representing hours). Defaults to workspace lifespan setting.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--wait"], + "description": "Wait until given status or fail. Valid options: starting, running, stopping, stopped, errored, building, buildFailed.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "DataStudioStatus", + "param_label": "", + "negatable": false + }, + { + "names": ["--labels"], + "description": "Comma-separated list of labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--description"], + "description": "Optional configuration override for 'description'.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "add", + "full_command": "tw studios add", + "parent": "studios", + "description": "Add new studio.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.studios.AddCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Studio name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-d", "--description"], + "description": "Studio description.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-t", "--template"], + "description": "Container image template to be used for Studio. Available templates can be listed with 'studios templates' command.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-ct", "--custom-template"], + "description": "Custom container image template to be used for Studio.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--conda-env-yml", "--conda-env-yaml"], + "description": "Path to a YAML env file with Conda packages to be installed in the Studio environment.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--compute-env"], + "description": "Compute environment name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--mount-data-uris"], + "description": "Comma separate list of data-link URIs: s3://nextflow-bucket,s3://another-bucket", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--mount-data"], + "description": "Comma separate list of data-link names: nextflow-bucket,my-custom-data-link-name", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--mount-data-ids"], + "description": "Comma separate list of data-link ids: v1-cloud-YjI3MjMwOTMyNjUwNzk5tbG9yZQ=,v1-user-d2c505e70901d2bf6516d", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--gpu"], + "description": "Optional configuration override for 'gpu' setting (integer representing number of cores).", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--cpu"], + "description": "Optional configuration override for 'cpu' setting (integer representing number of cores).", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--memory"], + "description": "Optional configuration override for 'memory' setting (integer representing memory in MBs).", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--lifespan"], + "description": "Optional configuration override for 'lifespan' setting (integer representing hours). Defaults to workspace lifespan setting.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["-a", "--auto-start"], + "description": "Create Studio and start it immediately, defaults to false.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--private"], + "description": "Create a private studio that only you can access/manage.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--labels"], + "description": "Comma-separated list of labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--wait"], + "description": "Wait until Studio is in RUNNING status. Valid options: starting, running, stopping, stopped, errored, building, buildFailed.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "DataStudioStatus", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "templates", + "full_command": "tw studios templates", + "parent": "studios", + "description": "List available Studio templates.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.studios.TemplatesCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--max"], + "description": "Maximum number of templates to return, defaults to 20.", + "required": false, + "default_value": "20", + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "checkpoints", + "full_command": "tw studios checkpoints", + "parent": "studios", + "description": "List checkpoints for a studio.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.studios.CheckpointsCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-i", "--id"], + "description": "Studio session ID.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Studio name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-f", "--filter"], + "description": "Optional filter criteria, allowing free text search on name and keywords: `after: YYYY-MM-DD`, `before: YYYY-MM-DD` and `author`. Example keyword usage: -f author:my-name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--page"], + "description": "Pages to display [default: 1].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--offset"], + "description": "Rows record offset [default: 0].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--max"], + "description": "Maximum number of records to display [default: 100].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "add-as-new", + "full_command": "tw studios add-as-new", + "parent": "studios", + "description": "Add a new studio from an existing one.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.studios.AddAsNewCmd", + "options": [ + { + "names": ["-pid", "--parent-id"], + "description": "Parent Studio session ID.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-pn", "--parent-name"], + "description": "Parent Studio name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--parent-checkpoint-id"], + "description": "Parent Studio checkpoint id, to be used as the starting point for the new Studio session. If not provided, it defaults to the most recent existing checkpoint of the parent Studio session.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Studio name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-d", "--description"], + "description": "Studio description.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--mount-data-uris"], + "description": "Comma separate list of data-link URIs: s3://nextflow-bucket,s3://another-bucket", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--mount-data"], + "description": "Comma separate list of data-link names: nextflow-bucket,my-custom-data-link-name", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--mount-data-ids"], + "description": "Comma separate list of data-link ids: v1-cloud-YjI3MjMwOTMyNjUwNzk5tbG9yZQ=,v1-user-d2c505e70901d2bf6516d", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--gpu"], + "description": "Optional configuration override for 'gpu' setting (integer representing number of cores).", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--cpu"], + "description": "Optional configuration override for 'cpu' setting (integer representing number of cores).", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--memory"], + "description": "Optional configuration override for 'memory' setting (integer representing memory in MBs).", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--lifespan"], + "description": "Optional configuration override for 'lifespan' setting (integer representing hours). Defaults to workspace lifespan setting.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["-a", "--auto-start"], + "description": "Create Studio and start it immediately, defaults to false.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--private"], + "description": "Create a private studio that only you can access/manage.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--labels"], + "description": "Comma-separated list of labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--wait"], + "description": "Wait until Studio is in RUNNING status. Valid options: starting, running, stopping, stopped, errored, building, buildFailed.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "DataStudioStatus", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "stop", + "full_command": "tw studios stop", + "parent": "studios", + "description": "Stop a studio.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.studios.StopCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-i", "--id"], + "description": "Studio session ID.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Studio name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--wait"], + "description": "Wait until given status or fail. Valid options: starting, running, stopping, stopped, errored, building, buildFailed.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "DataStudioStatus", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "delete", + "full_command": "tw studios delete", + "parent": "studios", + "description": "Delete a studio.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.studios.DeleteCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-i", "--id"], + "description": "Studio session ID.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Studio name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + } + ] + }, + { + "name": "datasets", + "full_command": "tw datasets", + "parent": "tw", + "description": "Manage datasets.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.DatasetsCmd", + "options": [], + "parameters": [], + "subcommands": ["add", "delete", "download", "list", "view", "update", "url"], + "children": [ + { + "name": "add", + "full_command": "tw datasets add", + "parent": "datasets", + "description": "Create a workspace dataset.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.datasets.AddCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Dataset name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-d", "--description"], + "description": "Dataset description.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--header"], + "description": "Set first row as a header.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "
", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--overwrite"], + "description": "Overwrite the dataset if it already exists.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + } + ], + "parameters": [ + { + "index": "0", + "param_label": "FILENAME", + "description": "Data file to upload.", + "arity": "1", + "required": true, + "type": "Path", + "hidden": false + } + ], + "subcommands": [], + "children": [] + }, + { + "name": "delete", + "full_command": "tw datasets delete", + "parent": "datasets", + "description": "Delete a workspace dataset.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.datasets.DeleteCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Dataset unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Dataset name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "download", + "full_command": "tw datasets download", + "parent": "datasets", + "description": "Download dataset.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.datasets.DownloadCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Dataset unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Dataset name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--dataset-version"], + "description": "Dataset version to obtain file from.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Long", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "list", + "full_command": "tw datasets list", + "parent": "datasets", + "description": "List all workspace datasets.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.datasets.ListCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-f", "--filter"], + "description": "Show only datasets which name contains the given word.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "view", + "full_command": "tw datasets view", + "parent": "datasets", + "description": "View a workspace dataset.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.datasets.ViewCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Dataset unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Dataset name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": ["versions"], + "children": [ + { + "name": "versions", + "full_command": "tw datasets view versions", + "parent": "view", + "description": "Display dataset versions.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.datasets.versions.VersionsCmd", + "options": [], + "parameters": [], + "subcommands": [], + "children": [] + } + ] + }, + { + "name": "update", + "full_command": "tw datasets update", + "parent": "datasets", + "description": "Update a workspace dataset.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.datasets.UpdateCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Dataset unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Dataset name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--new-name"], + "description": "Dataset new name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-d", "--description"], + "description": "Dataset description.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--header"], + "description": "Set first row as a header.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "
", + "negatable": false + }, + { + "names": ["-f", "--file"], + "description": "Data file to upload.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "url", + "full_command": "tw datasets url", + "parent": "datasets", + "description": "Obtain a dataset url.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.datasets.UrlCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Dataset unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Dataset name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--dataset-version"], + "description": "Dataset version to obtain URL from.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Long", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + } + ] + }, + { + "name": "generate-completion", + "full_command": "tw generate-completion", + "parent": "tw", + "description": "Generate bash/zsh completion script for tw. Run the following command to give `tw` TAB completion in the current shell: source <(tw generate-completion) ", + "hidden": false, + "source_class": "picocli.AutoComplete$GenerateCompletion", + "options": [], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "info", + "full_command": "tw info", + "parent": "tw", + "description": "System info and health status.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.InfoCmd", + "options": [], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "labels", + "full_command": "tw labels", + "parent": "tw", + "description": "Manage labels.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.labels.LabelsCmd", + "options": [], + "parameters": [], + "subcommands": ["add", "list", "update", "delete"], + "children": [ + { + "name": "add", + "full_command": "tw labels add", + "parent": "labels", + "description": "Add new label", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.labels.AddLabelsCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Label name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-v", "--value"], + "description": "Label value", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "list", + "full_command": "tw labels list", + "parent": "labels", + "description": "List labels", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.labels.ListLabelsCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-t", "--type"], + "description": "Label type (normal|resource|all).", + "required": false, + "default_value": "all", + "arity": "1", + "hidden": false, + "type": "LabelType", + "param_label": "", + "negatable": false + }, + { + "names": ["-f", "--filter"], + "description": "Show only labels that contain the given word.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--page"], + "description": "Pages to display [default: 1].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--offset"], + "description": "Rows record offset [default: 0].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--max"], + "description": "Maximum number of records to display [default: 100].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "update", + "full_command": "tw labels update", + "parent": "labels", + "description": "Update labels.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.labels.UpdateLabelsCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Label ID", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Long", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Label name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-v", "--value"], + "description": "Label value.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "delete", + "full_command": "tw labels delete", + "parent": "labels", + "description": "Delete label", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.labels.DeleteLabelsCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Label ID", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Long", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + } + ] + }, + { + "name": "launch", + "full_command": "tw launch", + "parent": "tw", + "description": "Launch a Nextflow pipeline execution.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.LaunchCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--params-file"], + "description": "Pipeline parameters in either JSON or YML format.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--compute-env"], + "description": "Compute environment name [default: primary compute environment].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Custom workflow run name", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Path where the pipeline scratch data is stored.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--profile"], + "description": "Comma-separated list of one or more configuration profile names you want to use for this pipeline execution.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["-r", "--revision"], + "description": "A valid repository commit Id, tag or branch name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--wait"], + "description": "Wait until given status or fail. Valid options: SUBMITTED, RUNNING, SUCCEEDED, FAILED, CANCELLED, UNKNOWN.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "WorkflowStatus", + "param_label": "", + "negatable": false + }, + { + "names": ["-l", "--labels"], + "description": "Comma-separated list of labels for the pipeline. Use 'key=value' format for resource labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--launch-container"], + "description": "Container to be used to run the nextflow head job (BETA).", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--config"], + "description": "Additional Nextflow config file.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--pre-run"], + "description": "Bash script that is executed in the same environment where Nextflow runs just before the pipeline is launched.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--post-run"], + "description": "Bash script that is executed in the same environment where Nextflow runs immediately after the pipeline completion.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--pull-latest"], + "description": "Enable Nextflow to pull the latest repository version before running the pipeline.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--stub-run"], + "description": "Execute the workflow replacing process scripts with command stubs.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--main-script"], + "description": "Pipeline main script file if different from `main.nf`.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--entry-name"], + "description": "Main workflow name to be executed when using DLS2 syntax.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--schema-name"], + "description": "Schema name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--user-secrets"], + "description": "Pipeline Secrets required by the pipeline execution that belong to the launching user personal context. User's secrets will take precedence over workspace secrets with the same name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--workspace-secrets"], + "description": "Pipeline Secrets required by the pipeline execution. Those secrets must be defined in the launching workspace.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--disable-optimization"], + "description": "Turn off the optimization for the pipeline before launching.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--head-job-cpus"], + "description": "The number of CPUs to be allocated for the Nextflow runner job (overrides compute environment setting).", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--head-job-memory"], + "description": "The number of MiB of memory reserved for the Nextflow runner job (overrides compute environment setting).", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + } + ], + "parameters": [ + { + "index": "0", + "param_label": "PIPELINE_OR_URL", + "description": "Workspace pipeline name or full pipeline URL.", + "arity": "1", + "required": true, + "type": "String", + "hidden": false + } + ], + "subcommands": [], + "children": [] + }, + { + "name": "members", + "full_command": "tw members", + "parent": "tw", + "description": "Manage organization members.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.MembersCmd", + "options": [], + "parameters": [], + "subcommands": ["list", "add", "delete", "update", "leave"], + "children": [ + { + "name": "list", + "full_command": "tw members list", + "parent": "members", + "description": "List all the teams in a given organization.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.members.ListCmd", + "options": [ + { + "names": ["-o", "--organization"], + "description": "Organization name or identifier.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-f", "--filter"], + "description": "Only show members with usernames that start with the given word.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--page"], + "description": "Pages to display [default: 1].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--offset"], + "description": "Rows record offset [default: 0].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--max"], + "description": "Maximum number of records to display [default: 100].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "add", + "full_command": "tw members add", + "parent": "members", + "description": "Add a new organization member.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.members.AddCmd", + "options": [ + { + "names": ["-u", "--user"], + "description": "User email to add as organization member.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-o", "--organization"], + "description": "Organization name or identifier.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "delete", + "full_command": "tw members delete", + "parent": "members", + "description": "Delete an organization member.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.members.DeleteCmd", + "options": [ + { + "names": ["-u", "--user"], + "description": "Username or email to delete from organization members.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-o", "--organization"], + "description": "Organization name or identifier.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "update", + "full_command": "tw members update", + "parent": "members", + "description": "Update the role of an organization member.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.members.UpdateCmd", + "options": [ + { + "names": ["-u", "--user"], + "description": "Username or email to update from organization members.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-r", "--role"], + "description": "Member organization role (OWNER, MEMBER or COLLABORATOR).", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "OrgRole", + "param_label": "", + "negatable": false + }, + { + "names": ["-o", "--organization"], + "description": "Organization name or identifier.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "leave", + "full_command": "tw members leave", + "parent": "members", + "description": "Leave an organization.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.members.LeaveCmd", + "options": [ + { + "names": ["-o", "--organization"], + "description": "Organization name or identifier.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + } + ] + }, + { + "name": "organizations", + "full_command": "tw organizations", + "parent": "tw", + "description": "Manage organizations.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.OrganizationsCmd", + "options": [], + "parameters": [], + "subcommands": ["list", "delete", "add", "update", "view"], + "children": [ + { + "name": "list", + "full_command": "tw organizations list", + "parent": "organizations", + "description": "List available organizations.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.organizations.ListCmd", + "options": [], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "delete", + "full_command": "tw organizations delete", + "parent": "organizations", + "description": "Delete an organization.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.organizations.DeleteCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Organization unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Long", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Organization name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "add", + "full_command": "tw organizations add", + "parent": "organizations", + "description": "Add a new organization.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.organizations.AddCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Organization name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-f", "--full-name"], + "description": "Organization full name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-d", "--description"], + "description": "Organization description.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-l", "--location"], + "description": "Organization location.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--website"], + "description": "Organization website URL.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--overwrite"], + "description": "Overwrite the organization if it already exists.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "update", + "full_command": "tw organizations update", + "parent": "organizations", + "description": "Update organization details.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.organizations.UpdateCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Organization unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Long", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Organization name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--new-name"], + "description": "Organization new name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-f", "--full-name"], + "description": "Organization full name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-d", "--description"], + "description": "Organization description.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-l", "--location"], + "description": "Organization location.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--website"], + "description": "Organization website URL.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "view", + "full_command": "tw organizations view", + "parent": "organizations", + "description": "Describe organization details.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.organizations.ViewCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Organization unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Long", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Organization name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + } + ] + }, + { + "name": "participants", + "full_command": "tw participants", + "parent": "tw", + "description": "Manage workspace participants.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.ParticipantsCmd", + "options": [], + "parameters": [], + "subcommands": ["list", "add", "update", "delete", "leave"], + "children": [ + { + "name": "list", + "full_command": "tw participants list", + "parent": "participants", + "description": "List workspace participants.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.participants.ListCmd", + "options": [ + { + "names": ["-t", "--type"], + "description": "Participant type to list (MEMBER, TEAM, COLLABORATOR).", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "ParticipantType", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-f", "--filter"], + "description": "Show only participants that it's name starts with the given word.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--page"], + "description": "Pages to display [default: 1].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--offset"], + "description": "Rows record offset [default: 0].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--max"], + "description": "Maximum number of records to display [default: 100].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "add", + "full_command": "tw participants add", + "parent": "participants", + "description": "Add a new workspace participant.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.participants.AddCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Team name, username or email for existing organization member.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-t", "--type"], + "description": "Type of participant (MEMBER, COLLABORATOR or TEAM).", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "ParticipantType", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--overwrite"], + "description": "Overwrite the participant if it already exists.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "update", + "full_command": "tw participants update", + "parent": "participants", + "description": "Update a participant role.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.participants.UpdateCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Team name, username or email for existing organization member.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-t", "--type"], + "description": "Type of participant (MEMBER, COLLABORATOR or TEAM).", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "ParticipantType", + "param_label": "", + "negatable": false + }, + { + "names": ["-r", "--role"], + "description": "Workspace participant role (OWNER, ADMIN, MAINTAIN, LAUNCH, CONNECT or VIEW).", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "WspRole", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "delete", + "full_command": "tw participants delete", + "parent": "participants", + "description": "Delete a workspace participant.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.participants.DeleteCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Team name, username or email for existing organization member.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-t", "--type"], + "description": "Type of participant (MEMBER, COLLABORATOR or TEAM).", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "ParticipantType", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "leave", + "full_command": "tw participants leave", + "parent": "participants", + "description": "Leave a workspace.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.participants.LeaveCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + } + ] + }, + { + "name": "pipelines", + "full_command": "tw pipelines", + "parent": "tw", + "description": "Manage workspace pipeline launchpad.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.PipelinesCmd", + "options": [], + "parameters": [], + "subcommands": ["list", "add", "delete", "view", "update", "export", "import", "labels"], + "children": [ + { + "name": "list", + "full_command": "tw pipelines list", + "parent": "pipelines", + "description": "List workspace pipelines.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.pipelines.ListCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-l", "--labels"], + "description": "Show labels.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["-f", "--filter"], + "description": "Show only pipelines that contain the given word.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--visibility"], + "description": "Show pipelines: all, private, shared [default: private].", + "required": false, + "default_value": "private", + "arity": "1", + "hidden": false, + "type": "PipelineVisibility", + "param_label": "", + "negatable": false + }, + { + "names": ["--page"], + "description": "Pages to display [default: 1].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--offset"], + "description": "Rows record offset [default: 0].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--max"], + "description": "Maximum number of records to display [default: 100].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "add", + "full_command": "tw pipelines add", + "parent": "pipelines", + "description": "Add a workspace pipeline.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.pipelines.AddCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Pipeline name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-d", "--description"], + "description": "Pipeline description.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--labels"], + "description": "Comma-separated list of labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["-c", "--compute-env"], + "description": "Compute environment name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Path where the pipeline scratch data is stored.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--profile"], + "description": "Comma-separated list of one or more configuration profile names you want to use for this pipeline execution.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--params-file"], + "description": "Pipeline parameters in either JSON or YML format.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--revision"], + "description": "A valid repository commit Id, tag or branch name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--config"], + "description": "Path to a Nextflow config file. Values defined here override the same values in the pipeline repository config file, and all configuration values specified in Platform pipeline or compute environment Nextflow config fields are ignored.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--pre-run"], + "description": "Bash script that is executed in the same environment where Nextflow runs just before the pipeline is launched.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--post-run"], + "description": "Bash script that is executed in the same environment where Nextflow runs immediately after the pipeline completion.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--pull-latest"], + "description": "Enable Nextflow to pull the latest repository version before running the pipeline.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--stub-run"], + "description": "Execute the workflow replacing process scripts with command stubs.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--main-script"], + "description": "Pipeline main script file if different from `main.nf`.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--entry-name"], + "description": "Main workflow name to be executed when using DLS2 syntax.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--schema-name"], + "description": "Schema name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--user-secrets"], + "description": "Pipeline Secrets required by the pipeline execution that belong to the launching user personal context. User's secrets will take precedence over workspace secrets with the same name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--workspace-secrets"], + "description": "Pipeline Secrets required by the pipeline execution. Those secrets must be defined in the launching workspace.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + } + ], + "parameters": [ + { + "index": "0", + "param_label": "PIPELINE_URL", + "description": "Nextflow pipeline URL.", + "arity": "1", + "required": true, + "type": "String", + "hidden": false + } + ], + "subcommands": [], + "children": [] + }, + { + "name": "delete", + "full_command": "tw pipelines delete", + "parent": "pipelines", + "description": "Delete a workspace pipeline.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.pipelines.DeleteCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Pipeline unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Long", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Pipeline name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "view", + "full_command": "tw pipelines view", + "parent": "pipelines", + "description": "View pipeline details.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.pipelines.ViewCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Pipeline unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Long", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Pipeline name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "update", + "full_command": "tw pipelines update", + "parent": "pipelines", + "description": "Update a workspace pipeline.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.pipelines.UpdateCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Pipeline unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Long", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Pipeline name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-d", "--description"], + "description": "Pipeline description.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--new-name"], + "description": "Pipeline new name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--compute-env"], + "description": "Compute environment name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Path where the pipeline scratch data is stored.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--profile"], + "description": "Comma-separated list of one or more configuration profile names you want to use for this pipeline execution.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--params-file"], + "description": "Pipeline parameters in either JSON or YML format.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--revision"], + "description": "A valid repository commit Id, tag or branch name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--config"], + "description": "Path to a Nextflow config file. Values defined here override the same values in the pipeline repository config file, and all configuration values specified in Platform pipeline or compute environment Nextflow config fields are ignored.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--pre-run"], + "description": "Bash script that is executed in the same environment where Nextflow runs just before the pipeline is launched.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--post-run"], + "description": "Bash script that is executed in the same environment where Nextflow runs immediately after the pipeline completion.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--pull-latest"], + "description": "Enable Nextflow to pull the latest repository version before running the pipeline.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--stub-run"], + "description": "Execute the workflow replacing process scripts with command stubs.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--main-script"], + "description": "Pipeline main script file if different from `main.nf`.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--entry-name"], + "description": "Main workflow name to be executed when using DLS2 syntax.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--schema-name"], + "description": "Schema name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--user-secrets"], + "description": "Pipeline Secrets required by the pipeline execution that belong to the launching user personal context. User's secrets will take precedence over workspace secrets with the same name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--workspace-secrets"], + "description": "Pipeline Secrets required by the pipeline execution. Those secrets must be defined in the launching workspace.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--pipeline"], + "description": "Nextflow pipeline URL.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "export", + "full_command": "tw pipelines export", + "parent": "pipelines", + "description": "Export a workspace pipeline for further creation.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.pipelines.ExportCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Pipeline unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Long", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Pipeline name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [ + { + "index": "0", + "param_label": "FILENAME", + "description": "File name to export.", + "arity": "0..1", + "required": false, + "type": "String", + "hidden": false + } + ], + "subcommands": [], + "children": [] + }, + { + "name": "import", + "full_command": "tw pipelines import", + "parent": "pipelines", + "description": "Add a workspace pipeline from file content.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.pipelines.ImportCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Pipeline name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--compute-env"], + "description": "Compute environment name [default: as defined in json environment file].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--overwrite"], + "description": "Overwrite the pipeline if it already exists.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + } + ], + "parameters": [ + { + "index": "0", + "param_label": "FILENAME", + "description": "File name to import.", + "arity": "1", + "required": true, + "type": "Path", + "hidden": false + } + ], + "subcommands": [], + "children": [] + }, + { + "name": "labels", + "full_command": "tw pipelines labels", + "parent": "pipelines", + "description": "Manages labels for pipelines.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.pipelines.LabelsCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Pipeline unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Long", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Pipeline name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--no-create"], + "description": "Assign labels without creating the ones which were not found.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--operations", "-o"], + "description": "Type of operation (set, append, delete) [default: set].", + "required": false, + "default_value": "set", + "arity": "1", + "hidden": false, + "type": "Operation", + "param_label": "", + "negatable": false + } + ], + "parameters": [ + { + "index": "0..*", + "param_label": "", + "description": "Comma-separated list of labels.", + "arity": "0..1", + "required": false, + "type": "List", + "hidden": false + } + ], + "subcommands": [], + "children": [] + } + ] + }, + { + "name": "runs", + "full_command": "tw runs", + "parent": "tw", + "description": "Manage workspace pipeline runs.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.RunsCmd", + "options": [], + "parameters": [], + "subcommands": ["view", "list", "relaunch", "cancel", "labels", "delete", "dump"], + "children": [ + { + "name": "view", + "full_command": "tw runs view", + "parent": "runs", + "description": "View pipeline's runs.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.runs.ViewCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Pipeline run identifier.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--config"], + "description": "Display pipeline run configuration.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--params"], + "description": "Display pipeline run parameters.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--command"], + "description": "Display pipeline run command.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--status"], + "description": "Display pipeline run status.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--processes"], + "description": "Display pipeline run processes.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--stats"], + "description": "Display pipeline run stats.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--load"], + "description": "Display pipeline run load.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--utilization"], + "description": "Display pipeline run utilization.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--metrics-memory"], + "description": "Display pipeline run memory metrics.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--metrics-cpu"], + "description": "Display pipeline run CPU metrics.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--metrics-time"], + "description": "Display pipeline run job time metrics.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--metrics-io"], + "description": "Display pipeline run I/O metrics.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": ["download", "metrics", "tasks", "task"], + "children": [ + { + "name": "download", + "full_command": "tw runs view download", + "parent": "view", + "description": "Download a pipeline's run related files.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.runs.download.DownloadCmd", + "options": [ + { + "names": ["--type"], + "description": "File type to download. Options are stdout, log, stderr (for tasks only) and timeline (workflow only) (default is stdout).", + "required": false, + "default_value": "stdout", + "arity": "1", + "hidden": false, + "type": "RunDownloadFileType", + "param_label": "", + "negatable": false + }, + { + "names": ["-t"], + "description": "Task identifier.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Long", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "metrics", + "full_command": "tw runs view metrics", + "parent": "view", + "description": "Display pipeline's run metrics.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.runs.metrics.MetricsCmd", + "options": [ + { + "names": ["-f", "--filter"], + "description": "Filters by process name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-t", "--type"], + "description": "Process metric types separated by comma: cpu, mem, time, io [default: displays all].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["-c", "--columns"], + "description": "Process metric columns to display: mean, min, q1, q2, q3, max [default: displays all].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["-v", "--view"], + "description": "Metric table view mode: expanded, condensed [default: condensed].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "MetricPreviewFormat", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "tasks", + "full_command": "tw runs view tasks", + "parent": "view", + "description": "Display pipeline's run tasks.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.runs.tasks.TasksCmd", + "options": [ + { + "names": ["-c", "--columns"], + "description": "Additional task columns to display: taskId, process, tag, status, hash, exit, container, nativeId, submit, duration, realtime, pcpu, pmem, peakRss, peakVmem, rchar, wchar, volCtxt, invCtxt", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["-f", "--filter"], + "description": "Only show task with parameters that start with the given word", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--page"], + "description": "Pages to display [default: 1].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--offset"], + "description": "Rows record offset [default: 0].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--max"], + "description": "Maximum number of records to display [default: 100].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "task", + "full_command": "tw runs view task", + "parent": "view", + "description": "Display pipeline's run task details.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.runs.tasks.TaskCmd", + "options": [ + { + "names": ["-t"], + "description": "Pipeline's run task identifier.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Long", + "param_label": "", + "negatable": false + }, + { + "names": ["--execution-time"], + "description": "Task execution time data.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--resources-requested"], + "description": "Task requested resources data.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--resources-usage"], + "description": "Task resources usage data.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + } + ] + }, + { + "name": "list", + "full_command": "tw runs list", + "parent": "runs", + "description": "List all pipeline runs.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.runs.ListCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-f", "--filter"], + "description": "Show only pipeline runs that match the defined filter(s).", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-l", "--labels"], + "description": "Show labels.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--page"], + "description": "Pages to display [default: 1].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--offset"], + "description": "Rows record offset [default: 0].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--max"], + "description": "Maximum number of records to display [default: 100].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "relaunch", + "full_command": "tw runs relaunch", + "parent": "runs", + "description": "Add a pipeline run.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.runs.RelaunchCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Pipeline run id to relaunch.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--pipeline"], + "description": "Pipeline to launch.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--no-resume"], + "description": "Do not resume the pipeline run.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Custom workflow run name", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--launch-container"], + "description": "Container to be used to run the nextflow head job (BETA).", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--compute-env"], + "description": "Compute environment name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Path where the pipeline scratch data is stored.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--profile"], + "description": "Comma-separated list of one or more configuration profile names you want to use for this pipeline execution.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--params-file"], + "description": "Pipeline parameters in either JSON or YML format.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--revision"], + "description": "A valid repository commit Id, tag or branch name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--config"], + "description": "Path to a Nextflow config file. Values defined here override the same values in the pipeline repository config file, and all configuration values specified in Platform pipeline or compute environment Nextflow config fields are ignored.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--pre-run"], + "description": "Bash script that is executed in the same environment where Nextflow runs just before the pipeline is launched.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--post-run"], + "description": "Bash script that is executed in the same environment where Nextflow runs immediately after the pipeline completion.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--pull-latest"], + "description": "Enable Nextflow to pull the latest repository version before running the pipeline.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--stub-run"], + "description": "Execute the workflow replacing process scripts with command stubs.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--main-script"], + "description": "Pipeline main script file if different from `main.nf`.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--entry-name"], + "description": "Main workflow name to be executed when using DLS2 syntax.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--schema-name"], + "description": "Schema name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--user-secrets"], + "description": "Pipeline Secrets required by the pipeline execution that belong to the launching user personal context. User's secrets will take precedence over workspace secrets with the same name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--workspace-secrets"], + "description": "Pipeline Secrets required by the pipeline execution. Those secrets must be defined in the launching workspace.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "cancel", + "full_command": "tw runs cancel", + "parent": "runs", + "description": "Cancel a pipeline execution.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.runs.CancelCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Pipeline run identifier.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "labels", + "full_command": "tw runs labels", + "parent": "runs", + "description": "Manages labels for runs.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.runs.LabelsCmd", + "options": [ + { + "names": ["-i", "-id"], + "description": "Pipeline run identifier.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--no-create"], + "description": "Assign labels without creating the ones which were not found.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--operations", "-o"], + "description": "Type of operation (set, append, delete) [default: set].", + "required": false, + "default_value": "set", + "arity": "1", + "hidden": false, + "type": "Operation", + "param_label": "", + "negatable": false + } + ], + "parameters": [ + { + "index": "0..*", + "param_label": "", + "description": "Comma-separated list of labels.", + "arity": "0..1", + "required": false, + "type": "List", + "hidden": false + } + ], + "subcommands": [], + "children": [] + }, + { + "name": "delete", + "full_command": "tw runs delete", + "parent": "runs", + "description": "Delete a pipeline execution.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.runs.DeleteCmd", + "options": [ + { + "names": ["-i", "-id"], + "description": "Pipeline run identifier.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--force"], + "description": "Force the deletion even if any workflows are active", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "dump", + "full_command": "tw runs dump", + "parent": "runs", + "description": "Dump all logs and details of a run into a compressed tarball file for troubleshooting.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.runs.DumpCmd", + "options": [ + { + "names": ["-i", "-id"], + "description": "Pipeline run identifier.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-o", "--output"], + "description": "Output file to store the dump. (supported formats: .tar.xz and .tar.gz)", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--add-task-logs"], + "description": "Add all task stdout, stderr and log files.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--add-fusion-logs"], + "description": "Add all Fusion task logs.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--only-failed"], + "description": "Dump only failed tasks.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--silent"], + "description": "Do not show download progress.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + } + ] + }, + { + "name": "teams", + "full_command": "tw teams", + "parent": "tw", + "description": "Manage organization teams.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.TeamsCmd", + "options": [], + "parameters": [], + "subcommands": ["list", "add", "delete", "members"], + "children": [ + { + "name": "list", + "full_command": "tw teams list", + "parent": "teams", + "description": "List all the teams in a given organization.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.teams.ListCmd", + "options": [ + { + "names": ["-o", "--organization"], + "description": "Organization name or identifier.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--page"], + "description": "Pages to display [default: 1].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--offset"], + "description": "Rows record offset [default: 0].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--max"], + "description": "Maximum number of records to display [default: 100].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "add", + "full_command": "tw teams add", + "parent": "teams", + "description": "Add a new organization team.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.teams.AddCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Team name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-o", "--organization"], + "description": "Organization name or identifier.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-d", "--description"], + "description": "Team description.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--overwrite"], + "description": "Overwrite the team if it already exists.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "delete", + "full_command": "tw teams delete", + "parent": "teams", + "description": "Delete an organization team.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.teams.DeleteCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Team identifier.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Long", + "param_label": "", + "negatable": false + }, + { + "names": ["-o", "--organization"], + "description": "Organization name or identifier.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "members", + "full_command": "tw teams members", + "parent": "teams", + "description": "List all team members.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.teams.MembersCmd", + "options": [ + { + "names": ["-t", "--team"], + "description": "Team name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-o", "--organization"], + "description": "Organization name or identifier.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": ["add", "delete"], + "children": [ + { + "name": "add", + "full_command": "tw teams members add", + "parent": "members", + "description": "Add a team member.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.teams.members.AddCmd", + "options": [ + { + "names": ["-m", "--member"], + "description": "New member username or email.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "delete", + "full_command": "tw teams members delete", + "parent": "members", + "description": "Delete a team member.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.teams.members.DeleteCmd", + "options": [ + { + "names": ["-m", "--member"], + "description": "Member username to remove from team.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + } + ] + } + ] + }, + { + "name": "workspaces", + "full_command": "tw workspaces", + "parent": "tw", + "description": "Manage workspaces.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.WorkspacesCmd", + "options": [], + "parameters": [], + "subcommands": ["list", "delete", "add", "update", "view", "leave"], + "children": [ + { + "name": "list", + "full_command": "tw workspaces list", + "parent": "workspaces", + "description": "List user workspaces.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.workspaces.ListCmd", + "options": [ + { + "names": ["-o", "--org", "--organization"], + "description": "The workspace organization name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "delete", + "full_command": "tw workspaces delete", + "parent": "workspaces", + "description": "Delete an organization workspace.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.workspaces.DeleteCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Workspace unique ID.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Long", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Workspace namespace in the form of organizationName/workspaceName.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "add", + "full_command": "tw workspaces add", + "parent": "workspaces", + "description": "Add a new organization workspace.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.workspaces.AddCmd", + "options": [ + { + "names": ["-o", "--org", "--organization"], + "description": "The workspace organization name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "The workspace short name. Only alphanumeric, dash and underscore characters are allowed.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-f", "--full-name"], + "description": "The workspace full name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-d", "--description"], + "description": "The workspace description.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-v", "--visibility"], + "description": "The workspace visibility. Valid options PRIVATE, SHARED [default: PRIVATE].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--overwrite"], + "description": "Overwrite the workspace if it already exists.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "update", + "full_command": "tw workspaces update", + "parent": "workspaces", + "description": "Update an existing organization workspace.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.workspaces.UpdateCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Workspace ID to delete.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Long", + "param_label": "", + "negatable": false + }, + { + "names": ["--new-name"], + "description": "The workspace new name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-f", "--fullName"], + "description": "The workspace full name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-d", "--description"], + "description": "The workspace description.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "view", + "full_command": "tw workspaces view", + "parent": "workspaces", + "description": "Describe an existing organization workspace.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.workspaces.ViewCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Workspace unique ID.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Long", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Workspace namespace in the form of organizationName/workspaceName.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "leave", + "full_command": "tw workspaces leave", + "parent": "workspaces", + "description": "Leave workspace.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.workspaces.LeaveCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Workspace unique ID.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Long", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Workspace namespace in the form of organizationName/workspaceName.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + } + ] + }, + { + "name": "secrets", + "full_command": "tw secrets", + "parent": "tw", + "description": "Manage workspace secrets.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.SecretsCmd", + "options": [], + "parameters": [], + "subcommands": ["list", "add", "delete", "view", "update"], + "children": [ + { + "name": "list", + "full_command": "tw secrets list", + "parent": "secrets", + "description": "List workspace secrets.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.secrets.ListCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "add", + "full_command": "tw secrets add", + "parent": "secrets", + "description": "Add a workspace secret.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.secrets.AddCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Secret name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-v", "--value"], + "description": "Secret value.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--overwrite"], + "description": "Overwrite the secret if it already exists.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "delete", + "full_command": "tw secrets delete", + "parent": "secrets", + "description": "Delete a workspace secret.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.secrets.DeleteCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-i", "--id"], + "description": "Secret unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Long", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Secret name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "view", + "full_command": "tw secrets view", + "parent": "secrets", + "description": "View secret details.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.secrets.ViewCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-i", "--id"], + "description": "Secret unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Long", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Secret name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + }, + { + "name": "update", + "full_command": "tw secrets update", + "parent": "secrets", + "description": "Update a workspace secret.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.secrets.UpdateCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-v", "--value"], + "description": "Secret value.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-i", "--id"], + "description": "Secret unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Long", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Secret name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [], + "children": [] + } + ] + } + ] + }, + "commands": { + "tw": { + "name": "tw", + "full_command": "tw", + "parent": null, + "description": "Nextflow Tower CLI.", + "hidden": false, + "source_class": "io.seqera.tower.cli.Tower", + "options": [ + { + "names": ["-t", "--access-token"], + "description": "Tower personal access token (TOWER_ACCESS_TOKEN).", + "required": false, + "default_value": "eyJ0aWQiOiAxMzQyNH0uMWViZjg0NjcyOTUzMzNiNWU4ZjI3MzM5NjI5NDVmNzZjYzIwNDQ2OQ==", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-u", "--url"], + "description": "Tower server API endpoint URL (TOWER_API_ENDPOINT) [default: 'api.cloud.seqera.io'].", + "required": false, + "default_value": "https://api.cloud.seqera.io", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-o", "--output"], + "description": "Show output in defined format (only the 'json' option is available at the moment).", + "required": false, + "default_value": "console", + "arity": "1", + "hidden": false, + "type": "OutputType", + "param_label": "", + "negatable": false + }, + { + "names": ["-v", "--verbose"], + "description": "Show HTTP request/response logs at stderr.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--insecure"], + "description": "Explicitly allow to connect to a non-SSL secured Tower server (this is not recommended).", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": ["actions", "collaborators", "compute-envs", "credentials", "data-links", "studios", "datasets", "generate-completion", "info", "labels", "launch", "members", "organizations", "participants", "pipelines", "runs", "teams", "workspaces", "secrets"] + }, + "tw actions": { + "name": "actions", + "full_command": "tw actions", + "parent": "tw", + "description": "Manage actions.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.ActionsCmd", + "options": [], + "parameters": [], + "subcommands": ["list", "view", "delete", "add", "update", "labels"] + }, + "tw actions list": { + "name": "list", + "full_command": "tw actions list", + "parent": "actions", + "description": "List the available Pipeline Actions for the authenticated user or given workspace.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.actions.ListCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-l", "--labels"], + "description": "Show labels.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw actions view": { + "name": "view", + "full_command": "tw actions view", + "parent": "actions", + "description": "Describe an existing Pipeline Action.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.actions.ViewCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Action unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Action name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw actions delete": { + "name": "delete", + "full_command": "tw actions delete", + "parent": "actions", + "description": "Delete a Pipeline Action.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.actions.DeleteCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Action unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Action name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw actions add": { + "name": "add", + "full_command": "tw actions add", + "parent": "actions", + "description": "Add a new Pipeline Action.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.actions.AddCmd", + "options": [], + "parameters": [], + "subcommands": ["github", "tower"] + }, + "tw actions add github": { + "name": "github", + "full_command": "tw actions add github", + "parent": "add", + "description": "Add a GitHub action.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.actions.add.AddGitHubCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Action name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--pipeline"], + "description": "Pipeline to launch.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--labels"], + "description": "Comma-separated list of labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--compute-env"], + "description": "Compute environment name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Path where the pipeline scratch data is stored.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--profile"], + "description": "Comma-separated list of one or more configuration profile names you want to use for this pipeline execution.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--params-file"], + "description": "Pipeline parameters in either JSON or YML format.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--revision"], + "description": "A valid repository commit Id, tag or branch name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--config"], + "description": "Path to a Nextflow config file. Values defined here override the same values in the pipeline repository config file, and all configuration values specified in Platform pipeline or compute environment Nextflow config fields are ignored.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--pre-run"], + "description": "Bash script that is executed in the same environment where Nextflow runs just before the pipeline is launched.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--post-run"], + "description": "Bash script that is executed in the same environment where Nextflow runs immediately after the pipeline completion.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--pull-latest"], + "description": "Enable Nextflow to pull the latest repository version before running the pipeline.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--stub-run"], + "description": "Execute the workflow replacing process scripts with command stubs.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--main-script"], + "description": "Pipeline main script file if different from `main.nf`.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--entry-name"], + "description": "Main workflow name to be executed when using DLS2 syntax.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--schema-name"], + "description": "Schema name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--user-secrets"], + "description": "Pipeline Secrets required by the pipeline execution that belong to the launching user personal context. User's secrets will take precedence over workspace secrets with the same name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--workspace-secrets"], + "description": "Pipeline Secrets required by the pipeline execution. Those secrets must be defined in the launching workspace.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--overwrite"], + "description": "Overwrite the action if it already exists.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw actions add tower": { + "name": "tower", + "full_command": "tw actions add tower", + "parent": "add", + "description": "Add a Tower action.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.actions.add.AddTowerCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Action name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--pipeline"], + "description": "Pipeline to launch.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--labels"], + "description": "Comma-separated list of labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--compute-env"], + "description": "Compute environment name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Path where the pipeline scratch data is stored.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--profile"], + "description": "Comma-separated list of one or more configuration profile names you want to use for this pipeline execution.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--params-file"], + "description": "Pipeline parameters in either JSON or YML format.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--revision"], + "description": "A valid repository commit Id, tag or branch name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--config"], + "description": "Path to a Nextflow config file. Values defined here override the same values in the pipeline repository config file, and all configuration values specified in Platform pipeline or compute environment Nextflow config fields are ignored.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--pre-run"], + "description": "Bash script that is executed in the same environment where Nextflow runs just before the pipeline is launched.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--post-run"], + "description": "Bash script that is executed in the same environment where Nextflow runs immediately after the pipeline completion.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--pull-latest"], + "description": "Enable Nextflow to pull the latest repository version before running the pipeline.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--stub-run"], + "description": "Execute the workflow replacing process scripts with command stubs.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--main-script"], + "description": "Pipeline main script file if different from `main.nf`.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--entry-name"], + "description": "Main workflow name to be executed when using DLS2 syntax.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--schema-name"], + "description": "Schema name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--user-secrets"], + "description": "Pipeline Secrets required by the pipeline execution that belong to the launching user personal context. User's secrets will take precedence over workspace secrets with the same name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--workspace-secrets"], + "description": "Pipeline Secrets required by the pipeline execution. Those secrets must be defined in the launching workspace.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--overwrite"], + "description": "Overwrite the action if it already exists.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw actions update": { + "name": "update", + "full_command": "tw actions update", + "parent": "actions", + "description": "Update a Pipeline Action.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.actions.UpdateCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Action unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Action name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-s", "--status"], + "description": "Action status (pause or active).", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--new-name"], + "description": "Action new name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--compute-env"], + "description": "Compute environment name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Path where the pipeline scratch data is stored.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--profile"], + "description": "Comma-separated list of one or more configuration profile names you want to use for this pipeline execution.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--params-file"], + "description": "Pipeline parameters in either JSON or YML format.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--revision"], + "description": "A valid repository commit Id, tag or branch name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--config"], + "description": "Path to a Nextflow config file. Values defined here override the same values in the pipeline repository config file, and all configuration values specified in Platform pipeline or compute environment Nextflow config fields are ignored.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--pre-run"], + "description": "Bash script that is executed in the same environment where Nextflow runs just before the pipeline is launched.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--post-run"], + "description": "Bash script that is executed in the same environment where Nextflow runs immediately after the pipeline completion.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--pull-latest"], + "description": "Enable Nextflow to pull the latest repository version before running the pipeline.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--stub-run"], + "description": "Execute the workflow replacing process scripts with command stubs.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--main-script"], + "description": "Pipeline main script file if different from `main.nf`.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--entry-name"], + "description": "Main workflow name to be executed when using DLS2 syntax.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--schema-name"], + "description": "Schema name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--user-secrets"], + "description": "Pipeline Secrets required by the pipeline execution that belong to the launching user personal context. User's secrets will take precedence over workspace secrets with the same name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--workspace-secrets"], + "description": "Pipeline Secrets required by the pipeline execution. Those secrets must be defined in the launching workspace.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw actions labels": { + "name": "labels", + "full_command": "tw actions labels", + "parent": "actions", + "description": "Manages labels for actions.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.actions.LabelsCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Action unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Action name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--no-create"], + "description": "Assign labels without creating the ones which were not found.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--operations", "-o"], + "description": "Type of operation (set, append, delete) [default: set].", + "required": false, + "default_value": "set", + "arity": "1", + "hidden": false, + "type": "Operation", + "param_label": "", + "negatable": false + } + ], + "parameters": [ + { + "index": "0..*", + "param_label": "", + "description": "Comma-separated list of labels.", + "arity": "0..1", + "required": false, + "type": "List", + "hidden": false + } + ], + "subcommands": [] + }, + "tw collaborators": { + "name": "collaborators", + "full_command": "tw collaborators", + "parent": "tw", + "description": "Manage organization collaborators.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.CollaboratorsCmd", + "options": [], + "parameters": [], + "subcommands": ["list"] + }, + "tw collaborators list": { + "name": "list", + "full_command": "tw collaborators list", + "parent": "collaborators", + "description": "List all the collaborators of a given organization.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.collaborators.ListCmd", + "options": [ + { + "names": ["-o", "--organization"], + "description": "Organization name or identifier.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-f", "--filter"], + "description": "Only show members with usernames that start with the given word.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--page"], + "description": "Pages to display [default: 1].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--offset"], + "description": "Rows record offset [default: 0].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--max"], + "description": "Maximum number of records to display [default: 100].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw compute-envs": { + "name": "compute-envs", + "full_command": "tw compute-envs", + "parent": "tw", + "description": "Manage workspace compute environments.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.ComputeEnvsCmd", + "options": [], + "parameters": [], + "subcommands": ["add", "update", "delete", "view", "list", "export", "import", "primary"] + }, + "tw compute-envs add": { + "name": "add", + "full_command": "tw compute-envs add", + "parent": "compute-envs", + "description": "Add new compute environment.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.AddCmd", + "options": [], + "parameters": [], + "subcommands": ["k8s", "aws-batch", "aws-cloud", "eks", "slurm", "lsf", "uge", "altair", "moab", "gke", "google-batch", "google-cloud", "azure-batch", "azure-cloud", "seqera-compute"] + }, + "tw compute-envs add k8s": { + "name": "k8s", + "full_command": "tw compute-envs add k8s", + "parent": "add", + "description": "Add new Kubernetes compute environment.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.add.AddK8sCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Compute environment name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--credentials"], + "description": "Credentials identifier [default: workspace credentials].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--wait"], + "description": "Wait until given status or fail. Valid options: CREATING, AVAILABLE, DELETING, ERRORED, INVALID, DISABLED.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "ComputeEnvStatus", + "param_label": "", + "negatable": false + }, + { + "names": ["--labels"], + "description": "Comma-separated list of labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--pre-run"], + "description": "Pre-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--post-run"], + "description": "Post-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--nextflow-config"], + "description": "Nextflow config", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["-e", "--env"], + "description": "Add environment variables. By default are only added to the Nextflow head job process, if you want to add them to the process task prefix the name with 'compute:' or 'both:' if you want to make it available to both locations.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Map", + "param_label": "", + "negatable": false + }, + { + "names": ["--storage-mount"], + "description": "Storage mount path.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--compute-account"], + "description": "Compute service account.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--pod-cleanup"], + "description": "Pod cleanup policy (ON_SUCCESS, ALWAYS, NEVER).", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "PodCleanupPolicy", + "param_label": "", + "negatable": false + }, + { + "names": ["--head-pod-spec"], + "description": "Custom head pod specs file.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--service-pod-spec"], + "description": "Custom service pod specs file.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Work directory.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-s", "--server"], + "description": "Master server.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--namespace"], + "description": "Namespace.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--ssl-cert"], + "description": "SSL certificate.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--head-account"], + "description": "Head service account.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--storage-claim"], + "description": "Storage claim name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw compute-envs add aws-batch": { + "name": "aws-batch", + "full_command": "tw compute-envs add aws-batch", + "parent": "add", + "description": "Add new AWS Batch compute environment.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.add.AddAwsCmd", + "options": [], + "parameters": [], + "subcommands": ["forge", "manual"] + }, + "tw compute-envs add aws-batch forge": { + "name": "forge", + "full_command": "tw compute-envs add aws-batch forge", + "parent": "aws-batch", + "description": "Add new AWS Batch compute environment with automatic provisioning of compute resources.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.add.aws.AddAwsForgeCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Compute environment name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--credentials"], + "description": "Credentials identifier [default: workspace credentials].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--wait"], + "description": "Wait until given status or fail. Valid options: CREATING, AVAILABLE, DELETING, ERRORED, INVALID, DISABLED.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "ComputeEnvStatus", + "param_label": "", + "negatable": false + }, + { + "names": ["--labels"], + "description": "Comma-separated list of labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--pre-run"], + "description": "Pre-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--post-run"], + "description": "Post-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--nextflow-config"], + "description": "Nextflow config", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["-e", "--env"], + "description": "Add environment variables. By default are only added to the Nextflow head job process, if you want to add them to the process task prefix the name with 'compute:' or 'both:' if you want to make it available to both locations.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Map", + "param_label": "", + "negatable": false + }, + { + "names": ["--create-efs"], + "description": "A OneZone EFS without backup will be created. EC2 instances can run on a different zone and inter-region transfer fees will be billed. If you want to remove transfer costs, restrict to only one subnet at advanced options.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--efs-id"], + "description": "Enter the EFS file system id e.g. fs-0123456789.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--efs-mount"], + "description": "Enter the EFS mount path [default: pipeline work directory].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--fsx-size"], + "description": "Enter the FSx storage capacity in GB (minimum 1,200 GB or increments of 2,400 GB).", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--fsx-dns"], + "description": "Enter the FSx file system DNS name e.g. 'fs-0123456789.fsx.eu-west-1.amazonaws.com'.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--fsx-mount"], + "description": "Enter the FSx mount path [default: pipeline work directory].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--instance-types"], + "description": "Specify the instance types to be used to carry out the computation. You can specify one or more family or instance type. The option 'optimal' chooses the best fit of M4, C4, and R4 instance types available in the region.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--alloc-strategy"], + "description": "Allocation Strategies allow you to choose how Batch launches instances on your behalf. AWS recommends BEST_FIT_PROGRESSIVE for On-Demand CEs and SPOT_CAPACITY_OPTIMIZED for Spot CEs.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "AllocStrategyEnum", + "param_label": "", + "negatable": false + }, + { + "names": ["--vpc-id"], + "description": "VPC identifier.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--subnets"], + "description": "Comma-separated list of one or more subnets in your VPC that can be used to isolate the EC2 resources from each other or from the Internet.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--security-groups"], + "description": "Comma-separated list of one or more security groups that defines a set of firewall rules to control the traffic for your EC2 compute nodes.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--ami-id"], + "description": "Ths option allows you to use your own AMI. Note however it must be an AWS Linux-2 ECS-optimised image and meet the compute resource AMI specification [default: latest approved version of the Amazon ECS-optimized AMI].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--key-pair"], + "description": "The EC2 key pair to be installed in the compute nodes to access via SSH.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--min-cpus"], + "description": "The minimum number of CPUs provisioned in this environment that will remain active and you will be billed regardless of whether you are running any workloads.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--boot-disk-size"], + "description": "Enter the boot disk size as GB.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--head-job-cpus"], + "description": "The number of CPUs to be allocated for the Nextflow runner job.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--head-job-memory"], + "description": "The number of MiB of memory reserved for the Nextflow runner job.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--head-job-role"], + "description": "IAM role to fine-grained control permissions for the Nextflow runner job.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--compute-job-role"], + "description": "IAM role to fine-grained control permissions for jobs submitted by Nextflow.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--batch-execution-role"], + "description": "The execution role grants the Amazon ECS container used by Batch the permission to make API calls on your behalf.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--ebs-blocksize"], + "description": "This field controls the initial size of the EBS auto-expandable volume. New blocks of the same size are added as necessary when the volume is running out of free space [default: 50 GB].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--bid-percentage"], + "description": "The maximum percentage that a Spot Instance price can be when compared with the On-Demand price for that instance type before instances are launched. For example, if your maximum percentage is 20%, then the Spot price must be less than 20% of the current On-Demand price for that Amazon EC2 instance. You always pay the lowest (market) price and never more than your maximum percentage [default: 100% of the On-Demand price].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--cli-path"], + "description": "Nextflow requires the AWS CLI installed in the Ec2 instances. Use this field to specify the path.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Work directory.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-r", "--region"], + "description": "AWS region.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--max-cpus"], + "description": "The maximum number of CPUs provisioned in this environment.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--provisioning-model"], + "description": "VMs provisioning model. 'EC2' deploys uninterruptible Ec2 instances. 'SPOT' uses interruptible Ec2 instances.", + "required": false, + "default_value": "SPOT", + "arity": "1", + "hidden": false, + "type": "TypeEnum", + "param_label": "", + "negatable": false + }, + { + "names": ["--no-ebs-auto-scale"], + "description": "Disable the provisioning of EBS auto-expandable disk.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--fusion"], + "description": "DEPRECATED - Use '--fusion-v2' instead.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--fusion-v2"], + "description": "With Fusion v2 enabled, S3 buckets specified in the Pipeline work directory and Allowed S3 Buckets fields will be accessible in the compute nodes storage (requires Wave containers service).", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--wave"], + "description": "Allow access to private container repositories and the provisioning of containers in your Nextflow pipelines via the Wave containers service.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--fast-storage"], + "description": "Allow the use of NVMe instance storage to speed up I/O and disk access operations (requires Fusion v2).", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--snapshots"], + "description": "Allows Fusion to automatically restore a job when it is interrupted by a spot reclamation", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--fargate"], + "description": "Run the Nextflow head job using the Fargate container service (requires Fusion v2 and Spot provisioning model).", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--gpu"], + "description": "Deploys GPU enabled Ec2 instances.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--allow-buckets"], + "description": "Comma-separated list of S3 buckets or paths other than pipeline work directory that should be granted read-write permission from this environment.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--preserve-resources"], + "description": "Enable this if you want to preserve the Batch compute resources created by Tower independently from the lifecycle of this compute environment.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--ecs-config"], + "description": "Path to ECS agent configuration file - custom configuration for the ECS agent parameters used by AWS Batch. This is appended to the /etc/ecs/ecs.config file in each cluster node.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw compute-envs add aws-batch manual": { + "name": "manual", + "full_command": "tw compute-envs add aws-batch manual", + "parent": "aws-batch", + "description": "Add new AWS Batch compute environment using an existing environment.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.add.aws.AddAwsManualCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Compute environment name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--credentials"], + "description": "Credentials identifier [default: workspace credentials].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--wait"], + "description": "Wait until given status or fail. Valid options: CREATING, AVAILABLE, DELETING, ERRORED, INVALID, DISABLED.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "ComputeEnvStatus", + "param_label": "", + "negatable": false + }, + { + "names": ["--labels"], + "description": "Comma-separated list of labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--pre-run"], + "description": "Pre-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--post-run"], + "description": "Post-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--nextflow-config"], + "description": "Nextflow config", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["-e", "--env"], + "description": "Add environment variables. By default are only added to the Nextflow head job process, if you want to add them to the process task prefix the name with 'compute:' or 'both:' if you want to make it available to both locations.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Map", + "param_label": "", + "negatable": false + }, + { + "names": ["--head-job-cpus"], + "description": "The number of CPUs to be allocated for the Nextflow runner job.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--head-job-memory"], + "description": "The number of MiB of memory reserved for the Nextflow runner job.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--head-job-role"], + "description": "IAM role to fine-grained control permissions for the Nextflow runner job.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--compute-job-role"], + "description": "IAM role to fine-grained control permissions for jobs submitted by Nextflow.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--batch-execution-role"], + "description": "The execution role grants the Amazon ECS container used by Batch the permission to make API calls on your behalf.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--cli-path"], + "description": "Nextflow requires the AWS CLI installed in the Ec2 instances. Use this field to specify the path.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Work directory.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-r", "--region"], + "description": "AWS region.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--head-queue"], + "description": "The Batch queue that will run the Nextflow application. A queue that does not use spot instances is expected.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--compute-queue"], + "description": "The default Batch queue to which Nextflow will submit jobs. This can be overwritten via Nextflow config.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--fusion-v2"], + "description": "With Fusion v2 enabled, S3 buckets specified in the Pipeline work directory and Allowed S3 Buckets fields will be accessible in the compute nodes storage (requires Wave containers service).", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--wave"], + "description": "Allow access to private container repositories and the provisioning of containers in your Nextflow pipelines via the Wave containers service.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--fast-storage"], + "description": "Allow the use of NVMe instance storage to speed up I/O and disk access operations (requires Fusion v2).", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw compute-envs add aws-cloud": { + "name": "aws-cloud", + "full_command": "tw compute-envs add aws-cloud", + "parent": "add", + "description": "Add new AWS Cloud compute environment.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.add.AddAwsCloudCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Compute environment name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--credentials"], + "description": "Credentials identifier [default: workspace credentials].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--wait"], + "description": "Wait until given status or fail. Valid options: CREATING, AVAILABLE, DELETING, ERRORED, INVALID, DISABLED.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "ComputeEnvStatus", + "param_label": "", + "negatable": false + }, + { + "names": ["--labels"], + "description": "Comma-separated list of labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--pre-run"], + "description": "Pre-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--post-run"], + "description": "Post-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--nextflow-config"], + "description": "Nextflow config", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["-e", "--env"], + "description": "Add environment variables. By default are only added to the Nextflow head job process, if you want to add them to the process task prefix the name with 'compute:' or 'both:' if you want to make it available to both locations.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Map", + "param_label": "", + "negatable": false + }, + { + "names": ["--arm64"], + "description": "Use ARM64 (Graviton) based instances.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--boot-disk-size"], + "description": "Enter the boot disk size in GB.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--ec2-key-pair"], + "description": "EC2 key pair to enable SSH connectivity to running instances.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--image-id"], + "description": "AMI ID for the EC2 instance.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--instance-profile-arn"], + "description": "IAM instance profile ARN for the EC2 instance.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--instance-type"], + "description": "EC2 instance type.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--security-groups"], + "description": "Security group IDs for network access control.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--subnet-id"], + "description": "VPC subnet ID for instance placement.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Work directory.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-r", "--region"], + "description": "AWS region.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--allow-buckets"], + "description": "S3 buckets that the compute environment can access.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw compute-envs add eks": { + "name": "eks", + "full_command": "tw compute-envs add eks", + "parent": "add", + "description": "Add new Amazon EKS compute environment.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.add.AddEksCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Compute environment name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--credentials"], + "description": "Credentials identifier [default: workspace credentials].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--wait"], + "description": "Wait until given status or fail. Valid options: CREATING, AVAILABLE, DELETING, ERRORED, INVALID, DISABLED.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "ComputeEnvStatus", + "param_label": "", + "negatable": false + }, + { + "names": ["--labels"], + "description": "Comma-separated list of labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--pre-run"], + "description": "Pre-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--post-run"], + "description": "Post-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--nextflow-config"], + "description": "Nextflow config", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["-e", "--env"], + "description": "Add environment variables. By default are only added to the Nextflow head job process, if you want to add them to the process task prefix the name with 'compute:' or 'both:' if you want to make it available to both locations.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Map", + "param_label": "", + "negatable": false + }, + { + "names": ["--storage-mount"], + "description": "Storage mount path.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--compute-account"], + "description": "Compute service account.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--pod-cleanup"], + "description": "Pod cleanup policy (ON_SUCCESS, ALWAYS, NEVER).", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "PodCleanupPolicy", + "param_label": "", + "negatable": false + }, + { + "names": ["--head-pod-spec"], + "description": "Custom head pod specs file.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--service-pod-spec"], + "description": "Custom service pod specs file.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Work directory.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-r", "--region"], + "description": "AWS region.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--cluster-name"], + "description": "The AWS EKS cluster name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--namespace"], + "description": "Namespace.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--head-account"], + "description": "Head service account.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--storage-claim"], + "description": "Storage claim name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw compute-envs add slurm": { + "name": "slurm", + "full_command": "tw compute-envs add slurm", + "parent": "add", + "description": "Add new Slurm compute environment.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.add.AddSlurmCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Compute environment name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--credentials"], + "description": "Credentials identifier [default: workspace credentials].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--wait"], + "description": "Wait until given status or fail. Valid options: CREATING, AVAILABLE, DELETING, ERRORED, INVALID, DISABLED.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "ComputeEnvStatus", + "param_label": "", + "negatable": false + }, + { + "names": ["--labels"], + "description": "Comma-separated list of labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--pre-run"], + "description": "Pre-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--post-run"], + "description": "Post-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--nextflow-config"], + "description": "Nextflow config", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["-e", "--env"], + "description": "Add environment variables. By default are only added to the Nextflow head job process, if you want to add them to the process task prefix the name with 'compute:' or 'both:' if you want to make it available to both locations.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Map", + "param_label": "", + "negatable": false + }, + { + "names": ["--max-queue-size"], + "description": "This option limits the number of jobs Nextflow can submit to the Slurm queue at the same time [default: 100].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--head-job-options"], + "description": "Slurm submit options for the Nextflow head job. These options are added to the 'sbatch' command run by Tower to launch the pipeline execution.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Work directory.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-u", "--user-name"], + "description": "The username on the cluster used to launch the pipeline execution.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-H", "--host-name"], + "description": "The pipeline execution is launched by connecting via SSH to the hostname specified. This usually is the cluster login node. Local IP addresses e.g. 127.*, 172.*, 192.*, etc. are not allowed, use a fully qualified hostname instead.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--port"], + "description": "Port number for the login connection.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["-q", "--head-queue"], + "description": "The name of the queue on the cluster used to launch the execution of the Nextflow pipeline.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--compute-queue"], + "description": "The name of queue on the cluster to which pipeline jobs are submitted. This queue can be overridden by the pipeline configuration.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--launch-dir"], + "description": "The directory where Nextflow runs. It must be an absolute directory and the user should have read-write access permissions to it [default: pipeline work directory].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw compute-envs add lsf": { + "name": "lsf", + "full_command": "tw compute-envs add lsf", + "parent": "add", + "description": "Add new IBM LSF compute environment.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.add.AddLsfCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Compute environment name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--credentials"], + "description": "Credentials identifier [default: workspace credentials].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--wait"], + "description": "Wait until given status or fail. Valid options: CREATING, AVAILABLE, DELETING, ERRORED, INVALID, DISABLED.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "ComputeEnvStatus", + "param_label": "", + "negatable": false + }, + { + "names": ["--labels"], + "description": "Comma-separated list of labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--pre-run"], + "description": "Pre-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--post-run"], + "description": "Post-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--nextflow-config"], + "description": "Nextflow config", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["-e", "--env"], + "description": "Add environment variables. By default are only added to the Nextflow head job process, if you want to add them to the process task prefix the name with 'compute:' or 'both:' if you want to make it available to both locations.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Map", + "param_label": "", + "negatable": false + }, + { + "names": ["--max-queue-size"], + "description": "This option limits the number of jobs Nextflow can submit to the Slurm queue at the same time [default: 100].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--head-job-options"], + "description": "Slurm submit options for the Nextflow head job. These options are added to the 'sbatch' command run by Tower to launch the pipeline execution.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--unit-for-limits"], + "description": "This option defines the unit used by your LSF cluster for memory limits. It should match the attribute LSF_UNIT_FOR_LIMITS setting in your lsf.conf file.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--per-job-mem-limit"], + "description": "Whether the memory limit is interpreted as per-job or per-process. It should match the attribute LSB_JOB_MEMLIMIT in your lsf.conf file.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--per-task-reserve"], + "description": "Whether the memory reservation is made on job tasks instead of per-host. It should match the attribute RESOURCE_RESERVE_PER_TASK in your lsf.conf file.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Work directory.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-u", "--user-name"], + "description": "The username on the cluster used to launch the pipeline execution.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-H", "--host-name"], + "description": "The pipeline execution is launched by connecting via SSH to the hostname specified. This usually is the cluster login node. Local IP addresses e.g. 127.*, 172.*, 192.*, etc. are not allowed, use a fully qualified hostname instead.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--port"], + "description": "Port number for the login connection.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["-q", "--head-queue"], + "description": "The name of the queue on the cluster used to launch the execution of the Nextflow pipeline.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--compute-queue"], + "description": "The name of queue on the cluster to which pipeline jobs are submitted. This queue can be overridden by the pipeline configuration.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--launch-dir"], + "description": "The directory where Nextflow runs. It must be an absolute directory and the user should have read-write access permissions to it [default: pipeline work directory].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw compute-envs add uge": { + "name": "uge", + "full_command": "tw compute-envs add uge", + "parent": "add", + "description": "Add new UNIVA grid engine compute environment.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.add.AddUgeCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Compute environment name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--credentials"], + "description": "Credentials identifier [default: workspace credentials].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--wait"], + "description": "Wait until given status or fail. Valid options: CREATING, AVAILABLE, DELETING, ERRORED, INVALID, DISABLED.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "ComputeEnvStatus", + "param_label": "", + "negatable": false + }, + { + "names": ["--labels"], + "description": "Comma-separated list of labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--pre-run"], + "description": "Pre-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--post-run"], + "description": "Post-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--nextflow-config"], + "description": "Nextflow config", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["-e", "--env"], + "description": "Add environment variables. By default are only added to the Nextflow head job process, if you want to add them to the process task prefix the name with 'compute:' or 'both:' if you want to make it available to both locations.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Map", + "param_label": "", + "negatable": false + }, + { + "names": ["--max-queue-size"], + "description": "This option limits the number of jobs Nextflow can submit to the Slurm queue at the same time [default: 100].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--head-job-options"], + "description": "Slurm submit options for the Nextflow head job. These options are added to the 'sbatch' command run by Tower to launch the pipeline execution.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Work directory.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-u", "--user-name"], + "description": "The username on the cluster used to launch the pipeline execution.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-H", "--host-name"], + "description": "The pipeline execution is launched by connecting via SSH to the hostname specified. This usually is the cluster login node. Local IP addresses e.g. 127.*, 172.*, 192.*, etc. are not allowed, use a fully qualified hostname instead.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--port"], + "description": "Port number for the login connection.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["-q", "--head-queue"], + "description": "The name of the queue on the cluster used to launch the execution of the Nextflow pipeline.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--compute-queue"], + "description": "The name of queue on the cluster to which pipeline jobs are submitted. This queue can be overridden by the pipeline configuration.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--launch-dir"], + "description": "The directory where Nextflow runs. It must be an absolute directory and the user should have read-write access permissions to it [default: pipeline work directory].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw compute-envs add altair": { + "name": "altair", + "full_command": "tw compute-envs add altair", + "parent": "add", + "description": "Add new Altair PBS Pro compute environment.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.add.AddAltairCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Compute environment name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--credentials"], + "description": "Credentials identifier [default: workspace credentials].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--wait"], + "description": "Wait until given status or fail. Valid options: CREATING, AVAILABLE, DELETING, ERRORED, INVALID, DISABLED.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "ComputeEnvStatus", + "param_label": "", + "negatable": false + }, + { + "names": ["--labels"], + "description": "Comma-separated list of labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--pre-run"], + "description": "Pre-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--post-run"], + "description": "Post-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--nextflow-config"], + "description": "Nextflow config", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["-e", "--env"], + "description": "Add environment variables. By default are only added to the Nextflow head job process, if you want to add them to the process task prefix the name with 'compute:' or 'both:' if you want to make it available to both locations.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Map", + "param_label": "", + "negatable": false + }, + { + "names": ["--max-queue-size"], + "description": "This option limits the number of jobs Nextflow can submit to the Slurm queue at the same time [default: 100].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--head-job-options"], + "description": "Slurm submit options for the Nextflow head job. These options are added to the 'sbatch' command run by Tower to launch the pipeline execution.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Work directory.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-u", "--user-name"], + "description": "The username on the cluster used to launch the pipeline execution.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-H", "--host-name"], + "description": "The pipeline execution is launched by connecting via SSH to the hostname specified. This usually is the cluster login node. Local IP addresses e.g. 127.*, 172.*, 192.*, etc. are not allowed, use a fully qualified hostname instead.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--port"], + "description": "Port number for the login connection.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["-q", "--head-queue"], + "description": "The name of the queue on the cluster used to launch the execution of the Nextflow pipeline.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--compute-queue"], + "description": "The name of queue on the cluster to which pipeline jobs are submitted. This queue can be overridden by the pipeline configuration.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--launch-dir"], + "description": "The directory where Nextflow runs. It must be an absolute directory and the user should have read-write access permissions to it [default: pipeline work directory].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw compute-envs add moab": { + "name": "moab", + "full_command": "tw compute-envs add moab", + "parent": "add", + "description": "Add new MOAB compute environment.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.add.AddMoabCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Compute environment name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--credentials"], + "description": "Credentials identifier [default: workspace credentials].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--wait"], + "description": "Wait until given status or fail. Valid options: CREATING, AVAILABLE, DELETING, ERRORED, INVALID, DISABLED.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "ComputeEnvStatus", + "param_label": "", + "negatable": false + }, + { + "names": ["--labels"], + "description": "Comma-separated list of labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--pre-run"], + "description": "Pre-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--post-run"], + "description": "Post-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--nextflow-config"], + "description": "Nextflow config", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["-e", "--env"], + "description": "Add environment variables. By default are only added to the Nextflow head job process, if you want to add them to the process task prefix the name with 'compute:' or 'both:' if you want to make it available to both locations.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Map", + "param_label": "", + "negatable": false + }, + { + "names": ["--max-queue-size"], + "description": "This option limits the number of jobs Nextflow can submit to the Slurm queue at the same time [default: 100].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--head-job-options"], + "description": "Slurm submit options for the Nextflow head job. These options are added to the 'sbatch' command run by Tower to launch the pipeline execution.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Work directory.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-u", "--user-name"], + "description": "The username on the cluster used to launch the pipeline execution.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-H", "--host-name"], + "description": "The pipeline execution is launched by connecting via SSH to the hostname specified. This usually is the cluster login node. Local IP addresses e.g. 127.*, 172.*, 192.*, etc. are not allowed, use a fully qualified hostname instead.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--port"], + "description": "Port number for the login connection.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["-q", "--head-queue"], + "description": "The name of the queue on the cluster used to launch the execution of the Nextflow pipeline.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--compute-queue"], + "description": "The name of queue on the cluster to which pipeline jobs are submitted. This queue can be overridden by the pipeline configuration.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--launch-dir"], + "description": "The directory where Nextflow runs. It must be an absolute directory and the user should have read-write access permissions to it [default: pipeline work directory].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw compute-envs add gke": { + "name": "gke", + "full_command": "tw compute-envs add gke", + "parent": "add", + "description": "Add new Google GKE compute environment.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.add.AddGkeCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Compute environment name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--credentials"], + "description": "Credentials identifier [default: workspace credentials].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--wait"], + "description": "Wait until given status or fail. Valid options: CREATING, AVAILABLE, DELETING, ERRORED, INVALID, DISABLED.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "ComputeEnvStatus", + "param_label": "", + "negatable": false + }, + { + "names": ["--labels"], + "description": "Comma-separated list of labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--pre-run"], + "description": "Pre-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--post-run"], + "description": "Post-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--nextflow-config"], + "description": "Nextflow config", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["-e", "--env"], + "description": "Add environment variables. By default are only added to the Nextflow head job process, if you want to add them to the process task prefix the name with 'compute:' or 'both:' if you want to make it available to both locations.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Map", + "param_label": "", + "negatable": false + }, + { + "names": ["--storage-mount"], + "description": "Storage mount path.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--compute-account"], + "description": "Compute service account.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--pod-cleanup"], + "description": "Pod cleanup policy (ON_SUCCESS, ALWAYS, NEVER).", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "PodCleanupPolicy", + "param_label": "", + "negatable": false + }, + { + "names": ["--head-pod-spec"], + "description": "Custom head pod specs file.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--service-pod-spec"], + "description": "Custom service pod specs file.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Work directory.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-r", "--region"], + "description": "AWS region.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--cluster-name"], + "description": "The AWS EKS cluster name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--namespace"], + "description": "Namespace.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--head-account"], + "description": "Head service account.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--storage-claim"], + "description": "Storage claim name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw compute-envs add google-batch": { + "name": "google-batch", + "full_command": "tw compute-envs add google-batch", + "parent": "add", + "description": "Add new Google Batch compute environment.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.add.AddGoogleBatchCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Compute environment name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--credentials"], + "description": "Credentials identifier [default: workspace credentials].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--wait"], + "description": "Wait until given status or fail. Valid options: CREATING, AVAILABLE, DELETING, ERRORED, INVALID, DISABLED.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "ComputeEnvStatus", + "param_label": "", + "negatable": false + }, + { + "names": ["--labels"], + "description": "Comma-separated list of labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--pre-run"], + "description": "Pre-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--post-run"], + "description": "Post-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--nextflow-config"], + "description": "Nextflow config", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["-e", "--env"], + "description": "Add environment variables. By default are only added to the Nextflow head job process, if you want to add them to the process task prefix the name with 'compute:' or 'both:' if you want to make it available to both locations.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Map", + "param_label": "", + "negatable": false + }, + { + "names": ["--use-private-address"], + "description": "Do not attach a public IP address to the VM. When enabled only Google internal services are accessible.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--boot-disk-size"], + "description": "Enter the boot disk size as GB.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--head-job-cpus"], + "description": "The number of CPUs to be allocated for the Nextflow runner job.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--head-job-memory"], + "description": "The number of MiB of memory reserved for the Nextflow runner job (value should be a multiple of 256MiB and from 0.5 GB to 8 GB per CPU).", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--service-account-email"], + "description": "The service account email address used when deploying pipeline executions with this compute environment.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--head-job-template"], + "description": "The name or fully qualified reference of the instance template to use for the head job.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--compute-job-template"], + "description": "The name or fully qualified reference of the instance template to use for the compute jobs.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Work directory.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-l", "--location"], + "description": "The location where the job executions are deployed to Google Batch API.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--spot"], + "description": "Use Spot virtual machines.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--fusion-v2"], + "description": "With Fusion v2 enabled, S3 buckets specified in the Pipeline work directory and Allowed S3 Buckets fields will be accessible in the compute nodes storage (requires Wave containers service).", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--wave"], + "description": "Allow access to private container repositories and the provisioning of containers in your Nextflow pipelines via the Wave containers service.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw compute-envs add google-cloud": { + "name": "google-cloud", + "full_command": "tw compute-envs add google-cloud", + "parent": "add", + "description": "Add new Google Cloud compute environment.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.add.AddGoogleCloudCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Compute environment name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--credentials"], + "description": "Credentials identifier [default: workspace credentials].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--wait"], + "description": "Wait until given status or fail. Valid options: CREATING, AVAILABLE, DELETING, ERRORED, INVALID, DISABLED.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "ComputeEnvStatus", + "param_label": "", + "negatable": false + }, + { + "names": ["--labels"], + "description": "Comma-separated list of labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--pre-run"], + "description": "Pre-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--post-run"], + "description": "Post-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--nextflow-config"], + "description": "Nextflow config", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["-e", "--env"], + "description": "Add environment variables. By default are only added to the Nextflow head job process, if you want to add them to the process task prefix the name with 'compute:' or 'both:' if you want to make it available to both locations.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Map", + "param_label": "", + "negatable": false + }, + { + "names": ["--arm64"], + "description": "Use ARM64 (Axion) based instances.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--boot-disk-size"], + "description": "Boot disk size in GB.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--gpu"], + "description": "Enable GPU-enabled instances.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--image-id"], + "description": "Image ID for the Compute Engine instance.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--instance-type"], + "description": "Compute Engine machine type.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Work directory.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-r", "--region"], + "description": "Google Cloud region.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-z", "--zone"], + "description": "Google Cloud zone within the region.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw compute-envs add azure-batch": { + "name": "azure-batch", + "full_command": "tw compute-envs add azure-batch", + "parent": "add", + "description": "Add new Azure Batch compute environments.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.add.AddAzureCmd", + "options": [], + "parameters": [], + "subcommands": ["forge", "manual"] + }, + "tw compute-envs add azure-batch forge": { + "name": "forge", + "full_command": "tw compute-envs add azure-batch forge", + "parent": "azure-batch", + "description": "Add new Azure Batch compute environment with automatic provisioning of compute resources.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.add.azure.AddAzureForgeCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Compute environment name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--credentials"], + "description": "Credentials identifier [default: workspace credentials].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--wait"], + "description": "Wait until given status or fail. Valid options: CREATING, AVAILABLE, DELETING, ERRORED, INVALID, DISABLED.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "ComputeEnvStatus", + "param_label": "", + "negatable": false + }, + { + "names": ["--labels"], + "description": "Comma-separated list of labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--pre-run"], + "description": "Pre-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--post-run"], + "description": "Post-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--nextflow-config"], + "description": "Nextflow config", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["-e", "--env"], + "description": "Add environment variables. By default are only added to the Nextflow head job process, if you want to add them to the process task prefix the name with 'compute:' or 'both:' if you want to make it available to both locations.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Map", + "param_label": "", + "negatable": false + }, + { + "names": ["--jobs-cleanup"], + "description": "Enable the automatic deletion of Batch jobs created by the pipeline execution (ON_SUCCESS, ALWAYS, NEVER).", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "JobCleanupPolicy", + "param_label": "", + "negatable": false + }, + { + "names": ["--token-duration"], + "description": "The duration of the shared access signature token created by Nextflow when the 'sasToken' option is not specified [default: 12h].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Work directory.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-l", "--location"], + "description": "The Azure location where the workload will be deployed.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--vm-type"], + "description": "Specify the virtual machine type used by this pool. It must be a valid Azure Batch VM type [default: Standard_D4_v3].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--vm-count"], + "description": "The number of virtual machines in this pool. When autoscaling feature is enabled, this option represents the maximum number of virtual machines to which the pool can grow and automatically scales to zero when unused.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--no-auto-scale"], + "description": "Disable pool autoscaling which automatically adjust the pool size depending the number submitted jobs and scale to zero when the pool is unused.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--preserve-resources"], + "description": "Enable this if you want to preserve the Batch compute pool created by Tower independently from the lifecycle of this compute environment.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--registry-credentials"], + "description": "Comma-separated list of container registry credentials name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--fusion-v2"], + "description": "With Fusion v2 enabled, Azure blob containers specified in the pipeline work directory and blob containers within the Azure storage account will be accessible in the compute nodes storage (requires Wave containers service).", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--wave"], + "description": "Allow access to private container repositories and the provisioning of containers in your Nextflow pipelines via the Wave containers service.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw compute-envs add azure-batch manual": { + "name": "manual", + "full_command": "tw compute-envs add azure-batch manual", + "parent": "azure-batch", + "description": "Add new Azure Batch compute environment using an existing environment.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.add.azure.AddAzureManualCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Compute environment name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--credentials"], + "description": "Credentials identifier [default: workspace credentials].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--wait"], + "description": "Wait until given status or fail. Valid options: CREATING, AVAILABLE, DELETING, ERRORED, INVALID, DISABLED.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "ComputeEnvStatus", + "param_label": "", + "negatable": false + }, + { + "names": ["--labels"], + "description": "Comma-separated list of labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--pre-run"], + "description": "Pre-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--post-run"], + "description": "Post-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--nextflow-config"], + "description": "Nextflow config", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["-e", "--env"], + "description": "Add environment variables. By default are only added to the Nextflow head job process, if you want to add them to the process task prefix the name with 'compute:' or 'both:' if you want to make it available to both locations.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Map", + "param_label": "", + "negatable": false + }, + { + "names": ["--jobs-cleanup"], + "description": "Enable the automatic deletion of Batch jobs created by the pipeline execution (ON_SUCCESS, ALWAYS, NEVER).", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "JobCleanupPolicy", + "param_label": "", + "negatable": false + }, + { + "names": ["--token-duration"], + "description": "The duration of the shared access signature token created by Nextflow when the 'sasToken' option is not specified [default: 12h].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Work directory.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-l", "--location"], + "description": "The Azure location where the workload will be deployed.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--compute-pool-name"], + "description": "The Azure Batch compute pool to be used to run the Nextflow jobs. This needs to be a pre-configured Batch compute pool which includes the azcopy command line (see the Tower documentation for details).", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--fusion-v2"], + "description": "With Fusion v2 enabled, Azure blob containers specified in the pipeline work directory and blob containers within the Azure storage account will be accessible in the compute nodes storage (requires Wave containers service).", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--wave"], + "description": "Allow access to private container repositories and the provisioning of containers in your Nextflow pipelines via the Wave containers service.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw compute-envs add azure-cloud": { + "name": "azure-cloud", + "full_command": "tw compute-envs add azure-cloud", + "parent": "add", + "description": "Add new Azure Cloud compute environment.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.add.AddAzureCloudCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Compute environment name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--credentials"], + "description": "Credentials identifier [default: workspace credentials].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--wait"], + "description": "Wait until given status or fail. Valid options: CREATING, AVAILABLE, DELETING, ERRORED, INVALID, DISABLED.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "ComputeEnvStatus", + "param_label": "", + "negatable": false + }, + { + "names": ["--labels"], + "description": "Comma-separated list of labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--pre-run"], + "description": "Pre-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--post-run"], + "description": "Post-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--nextflow-config"], + "description": "Nextflow config", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["-e", "--env"], + "description": "Add environment variables. By default are only added to the Nextflow head job process, if you want to add them to the process task prefix the name with 'compute:' or 'both:' if you want to make it available to both locations.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Map", + "param_label": "", + "negatable": false + }, + { + "names": ["--data-collection-endpoint"], + "description": "Data collection endpoint URL.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--data-collection-rule-id"], + "description": "Data collection rule ID.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--instance-type"], + "description": "Azure virtual machine type.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--log-table-name"], + "description": "Log Analytics table name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--log-workspace-id"], + "description": "Log Analytics workspace ID.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--managed-identity-client-id"], + "description": "Managed identity client ID.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--managed-identity-id"], + "description": "Managed identity resource ID.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--network-id"], + "description": "Azure virtual network ID.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--subscription-id"], + "description": "Azure subscription ID.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Work directory.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-r", "--region"], + "description": "Azure region.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--resource-group"], + "description": "Azure resource group name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw compute-envs add seqera-compute": { + "name": "seqera-compute", + "full_command": "tw compute-envs add seqera-compute", + "parent": "add", + "description": "Add new Seqera Compute environment.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.add.AddSeqeraComputeCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Compute environment name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--credentials"], + "description": "Credentials identifier [default: workspace credentials].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--wait"], + "description": "Wait until given status or fail. Valid options: CREATING, AVAILABLE, DELETING, ERRORED, INVALID, DISABLED.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "ComputeEnvStatus", + "param_label": "", + "negatable": false + }, + { + "names": ["--labels"], + "description": "Comma-separated list of labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--pre-run"], + "description": "Pre-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--post-run"], + "description": "Post-run script.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--nextflow-config"], + "description": "Nextflow config", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["-e", "--env"], + "description": "Add environment variables. By default are only added to the Nextflow head job process, if you want to add them to the process task prefix the name with 'compute:' or 'both:' if you want to make it available to both locations.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Map", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Work directory suffix relative to the S3 bucket that will be created by Seqera Compute.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-r", "--region"], + "description": "AWS region.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--instance-type-size"], + "description": "Size of Data Studios instance (SMALL, MEDIUM, LARGE). Free-tier organizations are limited to SMALL.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "SeqeraComputeCloudInstanceTypeSize", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw compute-envs update": { + "name": "update", + "full_command": "tw compute-envs update", + "parent": "compute-envs", + "description": "Update compute environments.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.UpdateCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Compute environment unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Compute environment name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--new-name"], + "description": "Compute environment new name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw compute-envs delete": { + "name": "delete", + "full_command": "tw compute-envs delete", + "parent": "compute-envs", + "description": "Delete compute environment.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.DeleteCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Compute environment unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Compute environment name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw compute-envs view": { + "name": "view", + "full_command": "tw compute-envs view", + "parent": "compute-envs", + "description": "View compute environment.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.ViewCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Compute environment unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Compute environment name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw compute-envs list": { + "name": "list", + "full_command": "tw compute-envs list", + "parent": "compute-envs", + "description": "List all workspace compute environments.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.ListCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw compute-envs export": { + "name": "export", + "full_command": "tw compute-envs export", + "parent": "compute-envs", + "description": "Export compute environment for further creation.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.ExportCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Compute environment unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Compute environment name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [ + { + "index": "0", + "param_label": "FILENAME", + "description": "File name to export.", + "arity": "0..1", + "required": false, + "type": "String", + "hidden": false + } + ], + "subcommands": [] + }, + "tw compute-envs import": { + "name": "import", + "full_command": "tw compute-envs import", + "parent": "compute-envs", + "description": "Add a compute environment from file content.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.ImportCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Compute environment name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--credentials"], + "description": "Credentials identifier [default: workspace credentials].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--wait"], + "description": "Wait until given status or fail. Valid options: CREATING, AVAILABLE, DELETING, ERRORED, INVALID, DISABLED.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "ComputeEnvStatus", + "param_label": "", + "negatable": false + }, + { + "names": ["--labels"], + "description": "Comma-separated list of labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--overwrite"], + "description": "Overwrite the compute env if it already exists.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + } + ], + "parameters": [ + { + "index": "0", + "param_label": "FILENAME", + "description": "File name to import.", + "arity": "1", + "required": true, + "type": "Path", + "hidden": false + } + ], + "subcommands": [] + }, + "tw compute-envs primary": { + "name": "primary", + "full_command": "tw compute-envs primary", + "parent": "compute-envs", + "description": "Sets or gets a primary compute environment within current workspace.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.PrimaryCmd", + "options": [], + "parameters": [], + "subcommands": ["get", "set"] + }, + "tw compute-envs primary get": { + "name": "get", + "full_command": "tw compute-envs primary get", + "parent": "primary", + "description": "Gets a workspace primary compute environment.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.primary.GetCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw compute-envs primary set": { + "name": "set", + "full_command": "tw compute-envs primary set", + "parent": "primary", + "description": "Sets a workspace compute environment as primary.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.computeenvs.primary.SetCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-i", "--id"], + "description": "Compute environment unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Compute environment name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw credentials": { + "name": "credentials", + "full_command": "tw credentials", + "parent": "tw", + "description": "Manage workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.CredentialsCmd", + "options": [], + "parameters": [], + "subcommands": ["add", "update", "delete", "list"] + }, + "tw credentials add": { + "name": "add", + "full_command": "tw credentials add", + "parent": "credentials", + "description": "Add new workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.AddCmd", + "options": [], + "parameters": [], + "subcommands": ["aws", "codecommit", "google", "github", "gitlab", "gitea", "bitbucket", "ssh", "k8s", "azure", "agent", "container-reg"] + }, + "tw credentials add aws": { + "name": "aws", + "full_command": "tw credentials add aws", + "parent": "add", + "description": "Add new AWS workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.add.AddAwsCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Credentials name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--overwrite"], + "description": "Overwrite the credentials if it already exists.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["-a", "--access-key"], + "description": "The AWS access key required to access the desired service.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-s", "--secret-key"], + "description": "The AWS secret key required to access the desired service.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-r", "--assume-role-arn"], + "description": "The IAM role to access the AWS resources. It should be a fully qualified AWS role ARN.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw credentials add codecommit": { + "name": "codecommit", + "full_command": "tw credentials add codecommit", + "parent": "add", + "description": "Add new CodeCommit workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.add.AddCodeCommitCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Credentials name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--overwrite"], + "description": "Overwrite the credentials if it already exists.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--base-url"], + "description": "Repository base URL.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--access-key"], + "description": "CodeCommit AWS access key.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--secret-key"], + "description": "CodeCommit AWS secret key.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw credentials add google": { + "name": "google", + "full_command": "tw credentials add google", + "parent": "add", + "description": "Add new Google workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.add.AddGoogleCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Credentials name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--overwrite"], + "description": "Overwrite the credentials if it already exists.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["-k", "--key"], + "description": "JSON file with the service account key.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw credentials add github": { + "name": "github", + "full_command": "tw credentials add github", + "parent": "add", + "description": "Add new Github workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.add.AddGithubCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Credentials name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--overwrite"], + "description": "Overwrite the credentials if it already exists.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--base-url"], + "description": "Repository base URL.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-u", "--username"], + "description": "Github username.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--password"], + "description": "Github account password or access token (recommended).", + "required": true, + "default_value": null, + "arity": "0..1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw credentials add gitlab": { + "name": "gitlab", + "full_command": "tw credentials add gitlab", + "parent": "add", + "description": "Add new Gitlab workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.add.AddGitlabCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Credentials name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--overwrite"], + "description": "Overwrite the credentials if it already exists.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--base-url"], + "description": "Repository base URL.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-u", "--username"], + "description": "Gitlab username.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--password"], + "description": "Gitlab account password or access token (recommended).", + "required": true, + "default_value": null, + "arity": "0..1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-t", "--token"], + "description": "Gitlab account access token.", + "required": true, + "default_value": null, + "arity": "0..1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw credentials add gitea": { + "name": "gitea", + "full_command": "tw credentials add gitea", + "parent": "add", + "description": "Add new Gitea workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.add.AddGiteaCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Credentials name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--overwrite"], + "description": "Overwrite the credentials if it already exists.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--base-url"], + "description": "Repository base URL.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-u", "--username"], + "description": "Gitea username.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--password"], + "description": "Gitea account password.", + "required": true, + "default_value": null, + "arity": "0..1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw credentials add bitbucket": { + "name": "bitbucket", + "full_command": "tw credentials add bitbucket", + "parent": "add", + "description": "Add new Bitbucket workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.add.AddBitbucketCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Credentials name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--overwrite"], + "description": "Overwrite the credentials if it already exists.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--base-url"], + "description": "Repository base URL.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-u", "--username"], + "description": "Bitbucket username.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--password"], + "description": "Bitbucket App password.", + "required": true, + "default_value": null, + "arity": "0..1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw credentials add ssh": { + "name": "ssh", + "full_command": "tw credentials add ssh", + "parent": "add", + "description": "Add new SSH workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.add.AddSshCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Credentials name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--overwrite"], + "description": "Overwrite the credentials if it already exists.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["-k", "--key"], + "description": "SSH private key file.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--passphrase"], + "description": "Passphrase associated with the private key.", + "required": false, + "default_value": null, + "arity": "0..1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw credentials add k8s": { + "name": "k8s", + "full_command": "tw credentials add k8s", + "parent": "add", + "description": "Add new Kubernetes workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.add.AddK8sCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Credentials name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--overwrite"], + "description": "Overwrite the credentials if it already exists.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["-t", "--token"], + "description": "Service account token.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--certificate"], + "description": "Client certificate file.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["-k", "--private-key"], + "description": "Client key file.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw credentials add azure": { + "name": "azure", + "full_command": "tw credentials add azure", + "parent": "add", + "description": "Add new Azure workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.add.AddAzureCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Credentials name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--overwrite"], + "description": "Overwrite the credentials if it already exists.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--batch-key"], + "description": "Azure batch account key.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--batch-name"], + "description": "Azure batch account name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--storage-key"], + "description": "Azure blob storage account key.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--storage-name"], + "description": "Azure blob storage account name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw credentials add agent": { + "name": "agent", + "full_command": "tw credentials add agent", + "parent": "add", + "description": "Add new Tower Agent workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.add.AddAgentCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Credentials name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--overwrite"], + "description": "Overwrite the credentials if it already exists.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--connection-id"], + "description": "Connection identifier.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Default work directory", + "required": false, + "default_value": "$TW_AGENT_WORK", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw credentials add container-reg": { + "name": "container-reg", + "full_command": "tw credentials add container-reg", + "parent": "add", + "description": "Add new Container Registry workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.add.AddContainerRegistryCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Credentials name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--overwrite"], + "description": "Overwrite the credentials if it already exists.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["-u", "--username"], + "description": "The user name to grant you access to the container registry.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--password"], + "description": "The password to grant you access to the container registry.", + "required": true, + "default_value": null, + "arity": "0..1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-r", "--registry"], + "description": "The container registry server name [default: 'docker.io'].", + "required": false, + "default_value": "docker.io", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw credentials update": { + "name": "update", + "full_command": "tw credentials update", + "parent": "credentials", + "description": "Update workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.UpdateCmd", + "options": [], + "parameters": [], + "subcommands": ["aws", "codecommit", "google", "github", "gitlab", "bitbucket", "ssh", "k8s", "azure", "container-reg", "agent"] + }, + "tw credentials update aws": { + "name": "aws", + "full_command": "tw credentials update aws", + "parent": "update", + "description": "Update AWS workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.update.UpdateAwsCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Credentials unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Credentials name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-a", "--access-key"], + "description": "The AWS access key required to access the desired service.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-s", "--secret-key"], + "description": "The AWS secret key required to access the desired service.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-r", "--assume-role-arn"], + "description": "The IAM role to access the AWS resources. It should be a fully qualified AWS role ARN.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw credentials update codecommit": { + "name": "codecommit", + "full_command": "tw credentials update codecommit", + "parent": "update", + "description": "Update CodeCommit workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.update.UpdateCodeCommitCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Credentials unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Credentials name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--base-url"], + "description": "Repository base URL.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--access-key"], + "description": "CodeCommit AWS access key.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--secret-key"], + "description": "CodeCommit AWS secret key.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw credentials update google": { + "name": "google", + "full_command": "tw credentials update google", + "parent": "update", + "description": "Update Google workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.update.UpdateGoogleCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Credentials unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Credentials name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-k", "--key"], + "description": "JSON file with the service account key.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw credentials update github": { + "name": "github", + "full_command": "tw credentials update github", + "parent": "update", + "description": "Update Github workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.update.UpdateGithubCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Credentials unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Credentials name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--base-url"], + "description": "Repository base URL.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-u", "--username"], + "description": "Github username.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--password"], + "description": "Github account password or access token (recommended).", + "required": true, + "default_value": null, + "arity": "0..1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw credentials update gitlab": { + "name": "gitlab", + "full_command": "tw credentials update gitlab", + "parent": "update", + "description": "Update Gitlab workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.update.UpdateGitlabCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Credentials unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Credentials name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--base-url"], + "description": "Repository base URL.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-u", "--username"], + "description": "Gitlab username.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--password"], + "description": "Gitlab account password or access token (recommended).", + "required": true, + "default_value": null, + "arity": "0..1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-t", "--token"], + "description": "Gitlab account access token.", + "required": true, + "default_value": null, + "arity": "0..1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw credentials update bitbucket": { + "name": "bitbucket", + "full_command": "tw credentials update bitbucket", + "parent": "update", + "description": "Update Bitbucket workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.update.UpdateBitbucketCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Credentials unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Credentials name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--base-url"], + "description": "Repository base URL.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-u", "--username"], + "description": "Bitbucket username.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--password"], + "description": "Bitbucket App password.", + "required": true, + "default_value": null, + "arity": "0..1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw credentials update ssh": { + "name": "ssh", + "full_command": "tw credentials update ssh", + "parent": "update", + "description": "Update SSH workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.update.UpdateSshCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Credentials unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Credentials name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-k", "--key"], + "description": "SSH private key file.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--passphrase"], + "description": "Passphrase associated with the private key.", + "required": false, + "default_value": null, + "arity": "0..1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw credentials update k8s": { + "name": "k8s", + "full_command": "tw credentials update k8s", + "parent": "update", + "description": "Update Kubernetes workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.update.UpdateK8sCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Credentials unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Credentials name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-t", "--token"], + "description": "Service account token.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--certificate"], + "description": "Client certificate file.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["-k", "--private-key"], + "description": "Client key file.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw credentials update azure": { + "name": "azure", + "full_command": "tw credentials update azure", + "parent": "update", + "description": "Update Azure workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.update.UpdateAzureCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Credentials unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Credentials name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--batch-key"], + "description": "Azure batch account key.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--batch-name"], + "description": "Azure batch account name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--storage-key"], + "description": "Azure blob storage account key.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--storage-name"], + "description": "Azure blob storage account name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw credentials update container-reg": { + "name": "container-reg", + "full_command": "tw credentials update container-reg", + "parent": "update", + "description": "Update Container Registry workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.update.UpdateContainerRegistryCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Credentials unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Credentials name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-u", "--username"], + "description": "The user name to grant you access to the container registry.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--password"], + "description": "The password to grant you access to the container registry.", + "required": true, + "default_value": null, + "arity": "0..1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-r", "--registry"], + "description": "The container registry server name [default: 'docker.io'].", + "required": false, + "default_value": "docker.io", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw credentials update agent": { + "name": "agent", + "full_command": "tw credentials update agent", + "parent": "update", + "description": "Update new Tower Agent workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.update.UpdateAgentCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Credentials unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Credentials name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--connection-id"], + "description": "Connection identifier.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Default work directory", + "required": false, + "default_value": "$TW_AGENT_WORK", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw credentials delete": { + "name": "delete", + "full_command": "tw credentials delete", + "parent": "credentials", + "description": "Delete workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.DeleteCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Credentials unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Credentials name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw credentials list": { + "name": "list", + "full_command": "tw credentials list", + "parent": "credentials", + "description": "List all workspace credentials.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.credentials.ListCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw data-links": { + "name": "data-links", + "full_command": "tw data-links", + "parent": "tw", + "description": "Manage data-links.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.DataLinksCmd", + "options": [], + "parameters": [], + "subcommands": ["list", "add", "delete", "update", "browse", "download", "upload"] + }, + "tw data-links list": { + "name": "list", + "full_command": "tw data-links list", + "parent": "data-links", + "description": "List data-links.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.data.links.ListCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--page"], + "description": "Pages to display [default: 1].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--offset"], + "description": "Rows record offset [default: 0].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--max"], + "description": "Maximum number of records to display [default: 100].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--credentials"], + "description": "Credentials identifier.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--wait"], + "description": "When present program will wait till all data links are fetched to cache.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--visibility"], + "description": "Show only data links that are [hidden, visible, all]. When not present all will be shown.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Visibility", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Show only data links with names that start with the given word.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-r", "--region"], + "description": "Show only data links belonging to given region", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--providers"], + "description": "Show only data links belonging to given providers. [aws,azure,google]", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["-u", "--uri"], + "description": "Show only data links with URI (resource reference) that start with the given URI.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw data-links add": { + "name": "add", + "full_command": "tw data-links add", + "parent": "data-links", + "description": "Add custom data-link.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.data.links.AddCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Data link name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-d", "--description"], + "description": "Data link description.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-u", "--uri"], + "description": "Data link uri.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--provider"], + "description": "Data link provider. [aws, azure, google]", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "DataLinkProvider", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--credentials"], + "description": "Credentials identifier.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw data-links delete": { + "name": "delete", + "full_command": "tw data-links delete", + "parent": "data-links", + "description": "Delete custom data-link.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.data.links.DeleteCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-i", "--id"], + "description": "Data link id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Data link name (e.g. my-custom-data-link-name).", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--uri"], + "description": "Data link URI (e.g. s3://another-bucket).", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw data-links update": { + "name": "update", + "full_command": "tw data-links update", + "parent": "data-links", + "description": "Update custom data-link.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.data.links.UpdateCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-i", "--id"], + "description": "Data link id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Data link name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-d", "--description"], + "description": "Data link description.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--credentials"], + "description": "Credentials identifier.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw data-links browse": { + "name": "browse", + "full_command": "tw data-links browse", + "parent": "data-links", + "description": "Browse content of data-link.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.data.links.BrowseCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-i", "--id"], + "description": "Data link id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Data link name (e.g. my-custom-data-link-name).", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--uri"], + "description": "Data link URI (e.g. s3://another-bucket).", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--credentials"], + "description": "Credentials identifier.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--path"], + "description": "Path to the folder to browse.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-f", "--filter"], + "description": "Filter files with the given prefix.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-t", "--token"], + "description": "Next page token to fetch next page.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--page"], + "description": "Pages to display [default: null].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw data-links download": { + "name": "download", + "full_command": "tw data-links download", + "parent": "data-links", + "description": "Download content of data-link.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.data.links.DownloadCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-i", "--id"], + "description": "Data link id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Data link name (e.g. my-custom-data-link-name).", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--uri"], + "description": "Data link URI (e.g. s3://another-bucket).", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--credentials"], + "description": "Credentials identifier.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-o", "--output-dir"], + "description": "Output directory.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [ + { + "index": "0..*", + "param_label": "", + "description": "Paths to files or directories to download.", + "arity": "1..*", + "required": true, + "type": "List", + "hidden": false + } + ], + "subcommands": [] + }, + "tw data-links upload": { + "name": "upload", + "full_command": "tw data-links upload", + "parent": "data-links", + "description": "Upload content to data-link.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.data.links.UploadCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-i", "--id"], + "description": "Data link id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Data link name (e.g. my-custom-data-link-name).", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--uri"], + "description": "Data link URI (e.g. s3://another-bucket).", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--credentials"], + "description": "Credentials identifier.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-o", "--output-dir"], + "description": "Output directory.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [ + { + "index": "0..*", + "param_label": "", + "description": "Paths to files or directories to upload.", + "arity": "1..*", + "required": true, + "type": "List", + "hidden": false + } + ], + "subcommands": [] + }, + "tw studios": { + "name": "studios", + "full_command": "tw studios", + "parent": "tw", + "description": "Manage studios.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.StudiosCmd", + "options": [], + "parameters": [], + "subcommands": ["view", "list", "start", "add", "templates", "checkpoints", "add-as-new", "stop", "delete"] + }, + "tw studios view": { + "name": "view", + "full_command": "tw studios view", + "parent": "studios", + "description": "View studio.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.studios.ViewCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-i", "--id"], + "description": "Studio session ID.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Studio name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw studios list": { + "name": "list", + "full_command": "tw studios list", + "parent": "studios", + "description": "List workspace studios.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.studios.ListCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-f", "--filter"], + "description": "Optional filter criteria, allowing free text search on name and templateUrl and keywords: `userName`, `computeEnvName` and `status`. Example keyword usage: -f status:RUNNING.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-l", "--labels"], + "description": "Show labels.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--page"], + "description": "Pages to display [default: 1].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--offset"], + "description": "Rows record offset [default: 0].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--max"], + "description": "Maximum number of records to display [default: 100].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw studios start": { + "name": "start", + "full_command": "tw studios start", + "parent": "studios", + "description": "Start a studio.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.studios.StartCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-i", "--id"], + "description": "Studio session ID.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Studio name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--mount-data-uris"], + "description": "Comma separate list of data-link URIs: s3://nextflow-bucket,s3://another-bucket", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--mount-data"], + "description": "Comma separate list of data-link names: nextflow-bucket,my-custom-data-link-name", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--mount-data-ids"], + "description": "Comma separate list of data-link ids: v1-cloud-YjI3MjMwOTMyNjUwNzk5tbG9yZQ=,v1-user-d2c505e70901d2bf6516d", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--gpu"], + "description": "Optional configuration override for 'gpu' setting (integer representing number of cores).", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--cpu"], + "description": "Optional configuration override for 'cpu' setting (integer representing number of cores).", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--memory"], + "description": "Optional configuration override for 'memory' setting (integer representing memory in MBs).", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--lifespan"], + "description": "Optional configuration override for 'lifespan' setting (integer representing hours). Defaults to workspace lifespan setting.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--wait"], + "description": "Wait until given status or fail. Valid options: starting, running, stopping, stopped, errored, building, buildFailed.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "DataStudioStatus", + "param_label": "", + "negatable": false + }, + { + "names": ["--labels"], + "description": "Comma-separated list of labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--description"], + "description": "Optional configuration override for 'description'.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw studios add": { + "name": "add", + "full_command": "tw studios add", + "parent": "studios", + "description": "Add new studio.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.studios.AddCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Studio name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-d", "--description"], + "description": "Studio description.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-t", "--template"], + "description": "Container image template to be used for Studio. Available templates can be listed with 'studios templates' command.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-ct", "--custom-template"], + "description": "Custom container image template to be used for Studio.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--conda-env-yml", "--conda-env-yaml"], + "description": "Path to a YAML env file with Conda packages to be installed in the Studio environment.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--compute-env"], + "description": "Compute environment name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--mount-data-uris"], + "description": "Comma separate list of data-link URIs: s3://nextflow-bucket,s3://another-bucket", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--mount-data"], + "description": "Comma separate list of data-link names: nextflow-bucket,my-custom-data-link-name", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--mount-data-ids"], + "description": "Comma separate list of data-link ids: v1-cloud-YjI3MjMwOTMyNjUwNzk5tbG9yZQ=,v1-user-d2c505e70901d2bf6516d", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--gpu"], + "description": "Optional configuration override for 'gpu' setting (integer representing number of cores).", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--cpu"], + "description": "Optional configuration override for 'cpu' setting (integer representing number of cores).", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--memory"], + "description": "Optional configuration override for 'memory' setting (integer representing memory in MBs).", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--lifespan"], + "description": "Optional configuration override for 'lifespan' setting (integer representing hours). Defaults to workspace lifespan setting.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["-a", "--auto-start"], + "description": "Create Studio and start it immediately, defaults to false.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--private"], + "description": "Create a private studio that only you can access/manage.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--labels"], + "description": "Comma-separated list of labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--wait"], + "description": "Wait until Studio is in RUNNING status. Valid options: starting, running, stopping, stopped, errored, building, buildFailed.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "DataStudioStatus", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw studios templates": { + "name": "templates", + "full_command": "tw studios templates", + "parent": "studios", + "description": "List available Studio templates.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.studios.TemplatesCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--max"], + "description": "Maximum number of templates to return, defaults to 20.", + "required": false, + "default_value": "20", + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw studios checkpoints": { + "name": "checkpoints", + "full_command": "tw studios checkpoints", + "parent": "studios", + "description": "List checkpoints for a studio.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.studios.CheckpointsCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-i", "--id"], + "description": "Studio session ID.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Studio name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-f", "--filter"], + "description": "Optional filter criteria, allowing free text search on name and keywords: `after: YYYY-MM-DD`, `before: YYYY-MM-DD` and `author`. Example keyword usage: -f author:my-name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--page"], + "description": "Pages to display [default: 1].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--offset"], + "description": "Rows record offset [default: 0].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--max"], + "description": "Maximum number of records to display [default: 100].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw studios add-as-new": { + "name": "add-as-new", + "full_command": "tw studios add-as-new", + "parent": "studios", + "description": "Add a new studio from an existing one.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.studios.AddAsNewCmd", + "options": [ + { + "names": ["-pid", "--parent-id"], + "description": "Parent Studio session ID.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-pn", "--parent-name"], + "description": "Parent Studio name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--parent-checkpoint-id"], + "description": "Parent Studio checkpoint id, to be used as the starting point for the new Studio session. If not provided, it defaults to the most recent existing checkpoint of the parent Studio session.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Studio name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-d", "--description"], + "description": "Studio description.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--mount-data-uris"], + "description": "Comma separate list of data-link URIs: s3://nextflow-bucket,s3://another-bucket", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--mount-data"], + "description": "Comma separate list of data-link names: nextflow-bucket,my-custom-data-link-name", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--mount-data-ids"], + "description": "Comma separate list of data-link ids: v1-cloud-YjI3MjMwOTMyNjUwNzk5tbG9yZQ=,v1-user-d2c505e70901d2bf6516d", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--gpu"], + "description": "Optional configuration override for 'gpu' setting (integer representing number of cores).", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--cpu"], + "description": "Optional configuration override for 'cpu' setting (integer representing number of cores).", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--memory"], + "description": "Optional configuration override for 'memory' setting (integer representing memory in MBs).", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--lifespan"], + "description": "Optional configuration override for 'lifespan' setting (integer representing hours). Defaults to workspace lifespan setting.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["-a", "--auto-start"], + "description": "Create Studio and start it immediately, defaults to false.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--private"], + "description": "Create a private studio that only you can access/manage.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--labels"], + "description": "Comma-separated list of labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--wait"], + "description": "Wait until Studio is in RUNNING status. Valid options: starting, running, stopping, stopped, errored, building, buildFailed.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "DataStudioStatus", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw studios stop": { + "name": "stop", + "full_command": "tw studios stop", + "parent": "studios", + "description": "Stop a studio.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.studios.StopCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-i", "--id"], + "description": "Studio session ID.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Studio name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--wait"], + "description": "Wait until given status or fail. Valid options: starting, running, stopping, stopped, errored, building, buildFailed.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "DataStudioStatus", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw studios delete": { + "name": "delete", + "full_command": "tw studios delete", + "parent": "studios", + "description": "Delete a studio.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.studios.DeleteCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-i", "--id"], + "description": "Studio session ID.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Studio name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw datasets": { + "name": "datasets", + "full_command": "tw datasets", + "parent": "tw", + "description": "Manage datasets.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.DatasetsCmd", + "options": [], + "parameters": [], + "subcommands": ["add", "delete", "download", "list", "view", "update", "url"] + }, + "tw datasets add": { + "name": "add", + "full_command": "tw datasets add", + "parent": "datasets", + "description": "Create a workspace dataset.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.datasets.AddCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Dataset name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-d", "--description"], + "description": "Dataset description.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--header"], + "description": "Set first row as a header.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "
", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--overwrite"], + "description": "Overwrite the dataset if it already exists.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + } + ], + "parameters": [ + { + "index": "0", + "param_label": "FILENAME", + "description": "Data file to upload.", + "arity": "1", + "required": true, + "type": "Path", + "hidden": false + } + ], + "subcommands": [] + }, + "tw datasets delete": { + "name": "delete", + "full_command": "tw datasets delete", + "parent": "datasets", + "description": "Delete a workspace dataset.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.datasets.DeleteCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Dataset unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Dataset name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw datasets download": { + "name": "download", + "full_command": "tw datasets download", + "parent": "datasets", + "description": "Download dataset.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.datasets.DownloadCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Dataset unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Dataset name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--dataset-version"], + "description": "Dataset version to obtain file from.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Long", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw datasets list": { + "name": "list", + "full_command": "tw datasets list", + "parent": "datasets", + "description": "List all workspace datasets.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.datasets.ListCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-f", "--filter"], + "description": "Show only datasets which name contains the given word.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw datasets view": { + "name": "view", + "full_command": "tw datasets view", + "parent": "datasets", + "description": "View a workspace dataset.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.datasets.ViewCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Dataset unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Dataset name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": ["versions"] + }, + "tw datasets view versions": { + "name": "versions", + "full_command": "tw datasets view versions", + "parent": "view", + "description": "Display dataset versions.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.datasets.versions.VersionsCmd", + "options": [], + "parameters": [], + "subcommands": [] + }, + "tw datasets update": { + "name": "update", + "full_command": "tw datasets update", + "parent": "datasets", + "description": "Update a workspace dataset.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.datasets.UpdateCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Dataset unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Dataset name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--new-name"], + "description": "Dataset new name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-d", "--description"], + "description": "Dataset description.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--header"], + "description": "Set first row as a header.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "
", + "negatable": false + }, + { + "names": ["-f", "--file"], + "description": "Data file to upload.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw datasets url": { + "name": "url", + "full_command": "tw datasets url", + "parent": "datasets", + "description": "Obtain a dataset url.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.datasets.UrlCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Dataset unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Dataset name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--dataset-version"], + "description": "Dataset version to obtain URL from.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Long", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw generate-completion": { + "name": "generate-completion", + "full_command": "tw generate-completion", + "parent": "tw", + "description": "Generate bash/zsh completion script for tw. Run the following command to give `tw` TAB completion in the current shell: source <(tw generate-completion) ", + "hidden": false, + "source_class": "picocli.AutoComplete$GenerateCompletion", + "options": [], + "parameters": [], + "subcommands": [] + }, + "tw info": { + "name": "info", + "full_command": "tw info", + "parent": "tw", + "description": "System info and health status.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.InfoCmd", + "options": [], + "parameters": [], + "subcommands": [] + }, + "tw labels": { + "name": "labels", + "full_command": "tw labels", + "parent": "tw", + "description": "Manage labels.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.labels.LabelsCmd", + "options": [], + "parameters": [], + "subcommands": ["add", "list", "update", "delete"] + }, + "tw labels add": { + "name": "add", + "full_command": "tw labels add", + "parent": "labels", + "description": "Add new label", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.labels.AddLabelsCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Label name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-v", "--value"], + "description": "Label value", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw labels list": { + "name": "list", + "full_command": "tw labels list", + "parent": "labels", + "description": "List labels", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.labels.ListLabelsCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-t", "--type"], + "description": "Label type (normal|resource|all).", + "required": false, + "default_value": "all", + "arity": "1", + "hidden": false, + "type": "LabelType", + "param_label": "", + "negatable": false + }, + { + "names": ["-f", "--filter"], + "description": "Show only labels that contain the given word.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--page"], + "description": "Pages to display [default: 1].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--offset"], + "description": "Rows record offset [default: 0].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--max"], + "description": "Maximum number of records to display [default: 100].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw labels update": { + "name": "update", + "full_command": "tw labels update", + "parent": "labels", + "description": "Update labels.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.labels.UpdateLabelsCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Label ID", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Long", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Label name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-v", "--value"], + "description": "Label value.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw labels delete": { + "name": "delete", + "full_command": "tw labels delete", + "parent": "labels", + "description": "Delete label", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.labels.DeleteLabelsCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Label ID", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Long", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw launch": { + "name": "launch", + "full_command": "tw launch", + "parent": "tw", + "description": "Launch a Nextflow pipeline execution.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.LaunchCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--params-file"], + "description": "Pipeline parameters in either JSON or YML format.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--compute-env"], + "description": "Compute environment name [default: primary compute environment].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Custom workflow run name", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Path where the pipeline scratch data is stored.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--profile"], + "description": "Comma-separated list of one or more configuration profile names you want to use for this pipeline execution.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["-r", "--revision"], + "description": "A valid repository commit Id, tag or branch name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--wait"], + "description": "Wait until given status or fail. Valid options: SUBMITTED, RUNNING, SUCCEEDED, FAILED, CANCELLED, UNKNOWN.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "WorkflowStatus", + "param_label": "", + "negatable": false + }, + { + "names": ["-l", "--labels"], + "description": "Comma-separated list of labels for the pipeline. Use 'key=value' format for resource labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--launch-container"], + "description": "Container to be used to run the nextflow head job (BETA).", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--config"], + "description": "Additional Nextflow config file.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--pre-run"], + "description": "Bash script that is executed in the same environment where Nextflow runs just before the pipeline is launched.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--post-run"], + "description": "Bash script that is executed in the same environment where Nextflow runs immediately after the pipeline completion.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--pull-latest"], + "description": "Enable Nextflow to pull the latest repository version before running the pipeline.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--stub-run"], + "description": "Execute the workflow replacing process scripts with command stubs.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--main-script"], + "description": "Pipeline main script file if different from `main.nf`.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--entry-name"], + "description": "Main workflow name to be executed when using DLS2 syntax.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--schema-name"], + "description": "Schema name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--user-secrets"], + "description": "Pipeline Secrets required by the pipeline execution that belong to the launching user personal context. User's secrets will take precedence over workspace secrets with the same name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--workspace-secrets"], + "description": "Pipeline Secrets required by the pipeline execution. Those secrets must be defined in the launching workspace.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--disable-optimization"], + "description": "Turn off the optimization for the pipeline before launching.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--head-job-cpus"], + "description": "The number of CPUs to be allocated for the Nextflow runner job (overrides compute environment setting).", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--head-job-memory"], + "description": "The number of MiB of memory reserved for the Nextflow runner job (overrides compute environment setting).", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + } + ], + "parameters": [ + { + "index": "0", + "param_label": "PIPELINE_OR_URL", + "description": "Workspace pipeline name or full pipeline URL.", + "arity": "1", + "required": true, + "type": "String", + "hidden": false + } + ], + "subcommands": [] + }, + "tw members": { + "name": "members", + "full_command": "tw members", + "parent": "tw", + "description": "Manage organization members.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.MembersCmd", + "options": [], + "parameters": [], + "subcommands": ["list", "add", "delete", "update", "leave"] + }, + "tw members list": { + "name": "list", + "full_command": "tw members list", + "parent": "members", + "description": "List all the teams in a given organization.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.members.ListCmd", + "options": [ + { + "names": ["-o", "--organization"], + "description": "Organization name or identifier.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-f", "--filter"], + "description": "Only show members with usernames that start with the given word.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--page"], + "description": "Pages to display [default: 1].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--offset"], + "description": "Rows record offset [default: 0].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--max"], + "description": "Maximum number of records to display [default: 100].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw members add": { + "name": "add", + "full_command": "tw members add", + "parent": "members", + "description": "Add a new organization member.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.members.AddCmd", + "options": [ + { + "names": ["-u", "--user"], + "description": "User email to add as organization member.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-o", "--organization"], + "description": "Organization name or identifier.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw members delete": { + "name": "delete", + "full_command": "tw members delete", + "parent": "members", + "description": "Delete an organization member.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.members.DeleteCmd", + "options": [ + { + "names": ["-u", "--user"], + "description": "Username or email to delete from organization members.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-o", "--organization"], + "description": "Organization name or identifier.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw members update": { + "name": "update", + "full_command": "tw members update", + "parent": "members", + "description": "Update the role of an organization member.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.members.UpdateCmd", + "options": [ + { + "names": ["-u", "--user"], + "description": "Username or email to update from organization members.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-r", "--role"], + "description": "Member organization role (OWNER, MEMBER or COLLABORATOR).", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "OrgRole", + "param_label": "", + "negatable": false + }, + { + "names": ["-o", "--organization"], + "description": "Organization name or identifier.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw members leave": { + "name": "leave", + "full_command": "tw members leave", + "parent": "members", + "description": "Leave an organization.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.members.LeaveCmd", + "options": [ + { + "names": ["-o", "--organization"], + "description": "Organization name or identifier.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw organizations": { + "name": "organizations", + "full_command": "tw organizations", + "parent": "tw", + "description": "Manage organizations.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.OrganizationsCmd", + "options": [], + "parameters": [], + "subcommands": ["list", "delete", "add", "update", "view"] + }, + "tw organizations list": { + "name": "list", + "full_command": "tw organizations list", + "parent": "organizations", + "description": "List available organizations.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.organizations.ListCmd", + "options": [], + "parameters": [], + "subcommands": [] + }, + "tw organizations delete": { + "name": "delete", + "full_command": "tw organizations delete", + "parent": "organizations", + "description": "Delete an organization.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.organizations.DeleteCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Organization unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Long", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Organization name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw organizations add": { + "name": "add", + "full_command": "tw organizations add", + "parent": "organizations", + "description": "Add a new organization.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.organizations.AddCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Organization name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-f", "--full-name"], + "description": "Organization full name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-d", "--description"], + "description": "Organization description.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-l", "--location"], + "description": "Organization location.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--website"], + "description": "Organization website URL.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--overwrite"], + "description": "Overwrite the organization if it already exists.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw organizations update": { + "name": "update", + "full_command": "tw organizations update", + "parent": "organizations", + "description": "Update organization details.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.organizations.UpdateCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Organization unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Long", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Organization name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--new-name"], + "description": "Organization new name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-f", "--full-name"], + "description": "Organization full name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-d", "--description"], + "description": "Organization description.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-l", "--location"], + "description": "Organization location.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--website"], + "description": "Organization website URL.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw organizations view": { + "name": "view", + "full_command": "tw organizations view", + "parent": "organizations", + "description": "Describe organization details.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.organizations.ViewCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Organization unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Long", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Organization name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw participants": { + "name": "participants", + "full_command": "tw participants", + "parent": "tw", + "description": "Manage workspace participants.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.ParticipantsCmd", + "options": [], + "parameters": [], + "subcommands": ["list", "add", "update", "delete", "leave"] + }, + "tw participants list": { + "name": "list", + "full_command": "tw participants list", + "parent": "participants", + "description": "List workspace participants.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.participants.ListCmd", + "options": [ + { + "names": ["-t", "--type"], + "description": "Participant type to list (MEMBER, TEAM, COLLABORATOR).", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "ParticipantType", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-f", "--filter"], + "description": "Show only participants that it's name starts with the given word.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--page"], + "description": "Pages to display [default: 1].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--offset"], + "description": "Rows record offset [default: 0].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--max"], + "description": "Maximum number of records to display [default: 100].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw participants add": { + "name": "add", + "full_command": "tw participants add", + "parent": "participants", + "description": "Add a new workspace participant.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.participants.AddCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Team name, username or email for existing organization member.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-t", "--type"], + "description": "Type of participant (MEMBER, COLLABORATOR or TEAM).", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "ParticipantType", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--overwrite"], + "description": "Overwrite the participant if it already exists.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw participants update": { + "name": "update", + "full_command": "tw participants update", + "parent": "participants", + "description": "Update a participant role.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.participants.UpdateCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Team name, username or email for existing organization member.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-t", "--type"], + "description": "Type of participant (MEMBER, COLLABORATOR or TEAM).", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "ParticipantType", + "param_label": "", + "negatable": false + }, + { + "names": ["-r", "--role"], + "description": "Workspace participant role (OWNER, ADMIN, MAINTAIN, LAUNCH, CONNECT or VIEW).", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "WspRole", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw participants delete": { + "name": "delete", + "full_command": "tw participants delete", + "parent": "participants", + "description": "Delete a workspace participant.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.participants.DeleteCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Team name, username or email for existing organization member.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-t", "--type"], + "description": "Type of participant (MEMBER, COLLABORATOR or TEAM).", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "ParticipantType", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw participants leave": { + "name": "leave", + "full_command": "tw participants leave", + "parent": "participants", + "description": "Leave a workspace.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.participants.LeaveCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw pipelines": { + "name": "pipelines", + "full_command": "tw pipelines", + "parent": "tw", + "description": "Manage workspace pipeline launchpad.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.PipelinesCmd", + "options": [], + "parameters": [], + "subcommands": ["list", "add", "delete", "view", "update", "export", "import", "labels"] + }, + "tw pipelines list": { + "name": "list", + "full_command": "tw pipelines list", + "parent": "pipelines", + "description": "List workspace pipelines.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.pipelines.ListCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-l", "--labels"], + "description": "Show labels.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["-f", "--filter"], + "description": "Show only pipelines that contain the given word.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--visibility"], + "description": "Show pipelines: all, private, shared [default: private].", + "required": false, + "default_value": "private", + "arity": "1", + "hidden": false, + "type": "PipelineVisibility", + "param_label": "", + "negatable": false + }, + { + "names": ["--page"], + "description": "Pages to display [default: 1].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--offset"], + "description": "Rows record offset [default: 0].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--max"], + "description": "Maximum number of records to display [default: 100].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw pipelines add": { + "name": "add", + "full_command": "tw pipelines add", + "parent": "pipelines", + "description": "Add a workspace pipeline.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.pipelines.AddCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Pipeline name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-d", "--description"], + "description": "Pipeline description.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--labels"], + "description": "Comma-separated list of labels.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["-c", "--compute-env"], + "description": "Compute environment name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Path where the pipeline scratch data is stored.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--profile"], + "description": "Comma-separated list of one or more configuration profile names you want to use for this pipeline execution.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--params-file"], + "description": "Pipeline parameters in either JSON or YML format.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--revision"], + "description": "A valid repository commit Id, tag or branch name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--config"], + "description": "Path to a Nextflow config file. Values defined here override the same values in the pipeline repository config file, and all configuration values specified in Platform pipeline or compute environment Nextflow config fields are ignored.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--pre-run"], + "description": "Bash script that is executed in the same environment where Nextflow runs just before the pipeline is launched.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--post-run"], + "description": "Bash script that is executed in the same environment where Nextflow runs immediately after the pipeline completion.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--pull-latest"], + "description": "Enable Nextflow to pull the latest repository version before running the pipeline.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--stub-run"], + "description": "Execute the workflow replacing process scripts with command stubs.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--main-script"], + "description": "Pipeline main script file if different from `main.nf`.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--entry-name"], + "description": "Main workflow name to be executed when using DLS2 syntax.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--schema-name"], + "description": "Schema name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--user-secrets"], + "description": "Pipeline Secrets required by the pipeline execution that belong to the launching user personal context. User's secrets will take precedence over workspace secrets with the same name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--workspace-secrets"], + "description": "Pipeline Secrets required by the pipeline execution. Those secrets must be defined in the launching workspace.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + } + ], + "parameters": [ + { + "index": "0", + "param_label": "PIPELINE_URL", + "description": "Nextflow pipeline URL.", + "arity": "1", + "required": true, + "type": "String", + "hidden": false + } + ], + "subcommands": [] + }, + "tw pipelines delete": { + "name": "delete", + "full_command": "tw pipelines delete", + "parent": "pipelines", + "description": "Delete a workspace pipeline.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.pipelines.DeleteCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Pipeline unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Long", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Pipeline name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw pipelines view": { + "name": "view", + "full_command": "tw pipelines view", + "parent": "pipelines", + "description": "View pipeline details.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.pipelines.ViewCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Pipeline unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Long", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Pipeline name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw pipelines update": { + "name": "update", + "full_command": "tw pipelines update", + "parent": "pipelines", + "description": "Update a workspace pipeline.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.pipelines.UpdateCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Pipeline unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Long", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Pipeline name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-d", "--description"], + "description": "Pipeline description.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--new-name"], + "description": "Pipeline new name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--compute-env"], + "description": "Compute environment name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Path where the pipeline scratch data is stored.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--profile"], + "description": "Comma-separated list of one or more configuration profile names you want to use for this pipeline execution.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--params-file"], + "description": "Pipeline parameters in either JSON or YML format.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--revision"], + "description": "A valid repository commit Id, tag or branch name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--config"], + "description": "Path to a Nextflow config file. Values defined here override the same values in the pipeline repository config file, and all configuration values specified in Platform pipeline or compute environment Nextflow config fields are ignored.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--pre-run"], + "description": "Bash script that is executed in the same environment where Nextflow runs just before the pipeline is launched.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--post-run"], + "description": "Bash script that is executed in the same environment where Nextflow runs immediately after the pipeline completion.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--pull-latest"], + "description": "Enable Nextflow to pull the latest repository version before running the pipeline.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--stub-run"], + "description": "Execute the workflow replacing process scripts with command stubs.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--main-script"], + "description": "Pipeline main script file if different from `main.nf`.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--entry-name"], + "description": "Main workflow name to be executed when using DLS2 syntax.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--schema-name"], + "description": "Schema name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--user-secrets"], + "description": "Pipeline Secrets required by the pipeline execution that belong to the launching user personal context. User's secrets will take precedence over workspace secrets with the same name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--workspace-secrets"], + "description": "Pipeline Secrets required by the pipeline execution. Those secrets must be defined in the launching workspace.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--pipeline"], + "description": "Nextflow pipeline URL.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw pipelines export": { + "name": "export", + "full_command": "tw pipelines export", + "parent": "pipelines", + "description": "Export a workspace pipeline for further creation.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.pipelines.ExportCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Pipeline unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Long", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Pipeline name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [ + { + "index": "0", + "param_label": "FILENAME", + "description": "File name to export.", + "arity": "0..1", + "required": false, + "type": "String", + "hidden": false + } + ], + "subcommands": [] + }, + "tw pipelines import": { + "name": "import", + "full_command": "tw pipelines import", + "parent": "pipelines", + "description": "Add a workspace pipeline from file content.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.pipelines.ImportCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Pipeline name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--compute-env"], + "description": "Compute environment name [default: as defined in json environment file].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--overwrite"], + "description": "Overwrite the pipeline if it already exists.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + } + ], + "parameters": [ + { + "index": "0", + "param_label": "FILENAME", + "description": "File name to import.", + "arity": "1", + "required": true, + "type": "Path", + "hidden": false + } + ], + "subcommands": [] + }, + "tw pipelines labels": { + "name": "labels", + "full_command": "tw pipelines labels", + "parent": "pipelines", + "description": "Manages labels for pipelines.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.pipelines.LabelsCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Pipeline unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Long", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Pipeline name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--no-create"], + "description": "Assign labels without creating the ones which were not found.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--operations", "-o"], + "description": "Type of operation (set, append, delete) [default: set].", + "required": false, + "default_value": "set", + "arity": "1", + "hidden": false, + "type": "Operation", + "param_label": "", + "negatable": false + } + ], + "parameters": [ + { + "index": "0..*", + "param_label": "", + "description": "Comma-separated list of labels.", + "arity": "0..1", + "required": false, + "type": "List", + "hidden": false + } + ], + "subcommands": [] + }, + "tw runs": { + "name": "runs", + "full_command": "tw runs", + "parent": "tw", + "description": "Manage workspace pipeline runs.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.RunsCmd", + "options": [], + "parameters": [], + "subcommands": ["view", "list", "relaunch", "cancel", "labels", "delete", "dump"] + }, + "tw runs view": { + "name": "view", + "full_command": "tw runs view", + "parent": "runs", + "description": "View pipeline's runs.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.runs.ViewCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Pipeline run identifier.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--config"], + "description": "Display pipeline run configuration.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--params"], + "description": "Display pipeline run parameters.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--command"], + "description": "Display pipeline run command.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--status"], + "description": "Display pipeline run status.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--processes"], + "description": "Display pipeline run processes.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--stats"], + "description": "Display pipeline run stats.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--load"], + "description": "Display pipeline run load.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--utilization"], + "description": "Display pipeline run utilization.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--metrics-memory"], + "description": "Display pipeline run memory metrics.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--metrics-cpu"], + "description": "Display pipeline run CPU metrics.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--metrics-time"], + "description": "Display pipeline run job time metrics.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--metrics-io"], + "description": "Display pipeline run I/O metrics.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": ["download", "metrics", "tasks", "task"] + }, + "tw runs view download": { + "name": "download", + "full_command": "tw runs view download", + "parent": "view", + "description": "Download a pipeline's run related files.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.runs.download.DownloadCmd", + "options": [ + { + "names": ["--type"], + "description": "File type to download. Options are stdout, log, stderr (for tasks only) and timeline (workflow only) (default is stdout).", + "required": false, + "default_value": "stdout", + "arity": "1", + "hidden": false, + "type": "RunDownloadFileType", + "param_label": "", + "negatable": false + }, + { + "names": ["-t"], + "description": "Task identifier.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Long", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw runs view metrics": { + "name": "metrics", + "full_command": "tw runs view metrics", + "parent": "view", + "description": "Display pipeline's run metrics.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.runs.metrics.MetricsCmd", + "options": [ + { + "names": ["-f", "--filter"], + "description": "Filters by process name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-t", "--type"], + "description": "Process metric types separated by comma: cpu, mem, time, io [default: displays all].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["-c", "--columns"], + "description": "Process metric columns to display: mean, min, q1, q2, q3, max [default: displays all].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["-v", "--view"], + "description": "Metric table view mode: expanded, condensed [default: condensed].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "MetricPreviewFormat", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw runs view tasks": { + "name": "tasks", + "full_command": "tw runs view tasks", + "parent": "view", + "description": "Display pipeline's run tasks.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.runs.tasks.TasksCmd", + "options": [ + { + "names": ["-c", "--columns"], + "description": "Additional task columns to display: taskId, process, tag, status, hash, exit, container, nativeId, submit, duration, realtime, pcpu, pmem, peakRss, peakVmem, rchar, wchar, volCtxt, invCtxt", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["-f", "--filter"], + "description": "Only show task with parameters that start with the given word", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--page"], + "description": "Pages to display [default: 1].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--offset"], + "description": "Rows record offset [default: 0].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--max"], + "description": "Maximum number of records to display [default: 100].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw runs view task": { + "name": "task", + "full_command": "tw runs view task", + "parent": "view", + "description": "Display pipeline's run task details.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.runs.tasks.TaskCmd", + "options": [ + { + "names": ["-t"], + "description": "Pipeline's run task identifier.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Long", + "param_label": "", + "negatable": false + }, + { + "names": ["--execution-time"], + "description": "Task execution time data.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--resources-requested"], + "description": "Task requested resources data.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--resources-usage"], + "description": "Task resources usage data.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw runs list": { + "name": "list", + "full_command": "tw runs list", + "parent": "runs", + "description": "List all pipeline runs.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.runs.ListCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-f", "--filter"], + "description": "Show only pipeline runs that match the defined filter(s).", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-l", "--labels"], + "description": "Show labels.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--page"], + "description": "Pages to display [default: 1].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--offset"], + "description": "Rows record offset [default: 0].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--max"], + "description": "Maximum number of records to display [default: 100].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw runs relaunch": { + "name": "relaunch", + "full_command": "tw runs relaunch", + "parent": "runs", + "description": "Add a pipeline run.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.runs.RelaunchCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Pipeline run id to relaunch.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--pipeline"], + "description": "Pipeline to launch.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--no-resume"], + "description": "Do not resume the pipeline run.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Custom workflow run name", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--launch-container"], + "description": "Container to be used to run the nextflow head job (BETA).", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-c", "--compute-env"], + "description": "Compute environment name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--work-dir"], + "description": "Path where the pipeline scratch data is stored.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-p", "--profile"], + "description": "Comma-separated list of one or more configuration profile names you want to use for this pipeline execution.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--params-file"], + "description": "Pipeline parameters in either JSON or YML format.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--revision"], + "description": "A valid repository commit Id, tag or branch name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--config"], + "description": "Path to a Nextflow config file. Values defined here override the same values in the pipeline repository config file, and all configuration values specified in Platform pipeline or compute environment Nextflow config fields are ignored.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--pre-run"], + "description": "Bash script that is executed in the same environment where Nextflow runs just before the pipeline is launched.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--post-run"], + "description": "Bash script that is executed in the same environment where Nextflow runs immediately after the pipeline completion.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--pull-latest"], + "description": "Enable Nextflow to pull the latest repository version before running the pipeline.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--stub-run"], + "description": "Execute the workflow replacing process scripts with command stubs.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--main-script"], + "description": "Pipeline main script file if different from `main.nf`.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--entry-name"], + "description": "Main workflow name to be executed when using DLS2 syntax.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--schema-name"], + "description": "Schema name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--user-secrets"], + "description": "Pipeline Secrets required by the pipeline execution that belong to the launching user personal context. User's secrets will take precedence over workspace secrets with the same name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + }, + { + "names": ["--workspace-secrets"], + "description": "Pipeline Secrets required by the pipeline execution. Those secrets must be defined in the launching workspace.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "List", + "param_label": "", + "split": ",", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw runs cancel": { + "name": "cancel", + "full_command": "tw runs cancel", + "parent": "runs", + "description": "Cancel a pipeline execution.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.runs.CancelCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Pipeline run identifier.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw runs labels": { + "name": "labels", + "full_command": "tw runs labels", + "parent": "runs", + "description": "Manages labels for runs.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.runs.LabelsCmd", + "options": [ + { + "names": ["-i", "-id"], + "description": "Pipeline run identifier.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--no-create"], + "description": "Assign labels without creating the ones which were not found.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--operations", "-o"], + "description": "Type of operation (set, append, delete) [default: set].", + "required": false, + "default_value": "set", + "arity": "1", + "hidden": false, + "type": "Operation", + "param_label": "", + "negatable": false + } + ], + "parameters": [ + { + "index": "0..*", + "param_label": "", + "description": "Comma-separated list of labels.", + "arity": "0..1", + "required": false, + "type": "List", + "hidden": false + } + ], + "subcommands": [] + }, + "tw runs delete": { + "name": "delete", + "full_command": "tw runs delete", + "parent": "runs", + "description": "Delete a pipeline execution.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.runs.DeleteCmd", + "options": [ + { + "names": ["-i", "-id"], + "description": "Pipeline run identifier.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--force"], + "description": "Force the deletion even if any workflows are active", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw runs dump": { + "name": "dump", + "full_command": "tw runs dump", + "parent": "runs", + "description": "Dump all logs and details of a run into a compressed tarball file for troubleshooting.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.runs.DumpCmd", + "options": [ + { + "names": ["-i", "-id"], + "description": "Pipeline run identifier.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-o", "--output"], + "description": "Output file to store the dump. (supported formats: .tar.xz and .tar.gz)", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Path", + "param_label": "", + "negatable": false + }, + { + "names": ["--add-task-logs"], + "description": "Add all task stdout, stderr and log files.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--add-fusion-logs"], + "description": "Add all Fusion task logs.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--only-failed"], + "description": "Dump only failed tasks.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["--silent"], + "description": "Do not show download progress.", + "required": false, + "default_value": null, + "arity": "0", + "hidden": false, + "type": "boolean", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw teams": { + "name": "teams", + "full_command": "tw teams", + "parent": "tw", + "description": "Manage organization teams.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.TeamsCmd", + "options": [], + "parameters": [], + "subcommands": ["list", "add", "delete", "members"] + }, + "tw teams list": { + "name": "list", + "full_command": "tw teams list", + "parent": "teams", + "description": "List all the teams in a given organization.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.teams.ListCmd", + "options": [ + { + "names": ["-o", "--organization"], + "description": "Organization name or identifier.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--page"], + "description": "Pages to display [default: 1].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--offset"], + "description": "Rows record offset [default: 0].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + }, + { + "names": ["--max"], + "description": "Maximum number of records to display [default: 100].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Integer", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw teams add": { + "name": "add", + "full_command": "tw teams add", + "parent": "teams", + "description": "Add a new organization team.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.teams.AddCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Team name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-o", "--organization"], + "description": "Organization name or identifier.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-d", "--description"], + "description": "Team description.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--overwrite"], + "description": "Overwrite the team if it already exists.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw teams delete": { + "name": "delete", + "full_command": "tw teams delete", + "parent": "teams", + "description": "Delete an organization team.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.teams.DeleteCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Team identifier.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Long", + "param_label": "", + "negatable": false + }, + { + "names": ["-o", "--organization"], + "description": "Organization name or identifier.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw teams members": { + "name": "members", + "full_command": "tw teams members", + "parent": "teams", + "description": "List all team members.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.teams.MembersCmd", + "options": [ + { + "names": ["-t", "--team"], + "description": "Team name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-o", "--organization"], + "description": "Organization name or identifier.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": ["add", "delete"] + }, + "tw teams members add": { + "name": "add", + "full_command": "tw teams members add", + "parent": "members", + "description": "Add a team member.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.teams.members.AddCmd", + "options": [ + { + "names": ["-m", "--member"], + "description": "New member username or email.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw teams members delete": { + "name": "delete", + "full_command": "tw teams members delete", + "parent": "members", + "description": "Delete a team member.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.teams.members.DeleteCmd", + "options": [ + { + "names": ["-m", "--member"], + "description": "Member username to remove from team.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw workspaces": { + "name": "workspaces", + "full_command": "tw workspaces", + "parent": "tw", + "description": "Manage workspaces.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.WorkspacesCmd", + "options": [], + "parameters": [], + "subcommands": ["list", "delete", "add", "update", "view", "leave"] + }, + "tw workspaces list": { + "name": "list", + "full_command": "tw workspaces list", + "parent": "workspaces", + "description": "List user workspaces.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.workspaces.ListCmd", + "options": [ + { + "names": ["-o", "--org", "--organization"], + "description": "The workspace organization name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw workspaces delete": { + "name": "delete", + "full_command": "tw workspaces delete", + "parent": "workspaces", + "description": "Delete an organization workspace.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.workspaces.DeleteCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Workspace unique ID.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Long", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Workspace namespace in the form of organizationName/workspaceName.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw workspaces add": { + "name": "add", + "full_command": "tw workspaces add", + "parent": "workspaces", + "description": "Add a new organization workspace.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.workspaces.AddCmd", + "options": [ + { + "names": ["-o", "--org", "--organization"], + "description": "The workspace organization name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "The workspace short name. Only alphanumeric, dash and underscore characters are allowed.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-f", "--full-name"], + "description": "The workspace full name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-d", "--description"], + "description": "The workspace description.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-v", "--visibility"], + "description": "The workspace visibility. Valid options PRIVATE, SHARED [default: PRIVATE].", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--overwrite"], + "description": "Overwrite the workspace if it already exists.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw workspaces update": { + "name": "update", + "full_command": "tw workspaces update", + "parent": "workspaces", + "description": "Update an existing organization workspace.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.workspaces.UpdateCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Workspace ID to delete.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Long", + "param_label": "", + "negatable": false + }, + { + "names": ["--new-name"], + "description": "The workspace new name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-f", "--fullName"], + "description": "The workspace full name.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-d", "--description"], + "description": "The workspace description.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw workspaces view": { + "name": "view", + "full_command": "tw workspaces view", + "parent": "workspaces", + "description": "Describe an existing organization workspace.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.workspaces.ViewCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Workspace unique ID.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Long", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Workspace namespace in the form of organizationName/workspaceName.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw workspaces leave": { + "name": "leave", + "full_command": "tw workspaces leave", + "parent": "workspaces", + "description": "Leave workspace.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.workspaces.LeaveCmd", + "options": [ + { + "names": ["-i", "--id"], + "description": "Workspace unique ID.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Long", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Workspace namespace in the form of organizationName/workspaceName.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw secrets": { + "name": "secrets", + "full_command": "tw secrets", + "parent": "tw", + "description": "Manage workspace secrets.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.SecretsCmd", + "options": [], + "parameters": [], + "subcommands": ["list", "add", "delete", "view", "update"] + }, + "tw secrets list": { + "name": "list", + "full_command": "tw secrets list", + "parent": "secrets", + "description": "List workspace secrets.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.secrets.ListCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw secrets add": { + "name": "add", + "full_command": "tw secrets add", + "parent": "secrets", + "description": "Add a workspace secret.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.secrets.AddCmd", + "options": [ + { + "names": ["-n", "--name"], + "description": "Secret name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-v", "--value"], + "description": "Secret value.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["--overwrite"], + "description": "Overwrite the secret if it already exists.", + "required": false, + "default_value": "false", + "arity": "0", + "hidden": false, + "type": "Boolean", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw secrets delete": { + "name": "delete", + "full_command": "tw secrets delete", + "parent": "secrets", + "description": "Delete a workspace secret.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.secrets.DeleteCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-i", "--id"], + "description": "Secret unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Long", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Secret name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw secrets view": { + "name": "view", + "full_command": "tw secrets view", + "parent": "secrets", + "description": "View secret details.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.secrets.ViewCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-i", "--id"], + "description": "Secret unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Long", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Secret name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + }, + "tw secrets update": { + "name": "update", + "full_command": "tw secrets update", + "parent": "secrets", + "description": "Update a workspace secret.", + "hidden": false, + "source_class": "io.seqera.tower.cli.commands.secrets.UpdateCmd", + "options": [ + { + "names": ["-w", "--workspace"], + "description": "Workspace numeric identifier (TOWER_WORKSPACE_ID as default) or workspace reference as OrganizationName/WorkspaceName.", + "required": false, + "default_value": "235786397748080", + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-v", "--value"], + "description": "Secret value.", + "required": false, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + }, + { + "names": ["-i", "--id"], + "description": "Secret unique id.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "Long", + "param_label": "", + "negatable": false + }, + { + "names": ["-n", "--name"], + "description": "Secret name.", + "required": true, + "default_value": null, + "arity": "1", + "hidden": false, + "type": "String", + "param_label": "", + "negatable": false + } + ], + "parameters": [], + "subcommands": [] + } + } +} \ No newline at end of file diff --git a/docs/seqera-api-latest-decorated.yaml b/docs/seqera-api-latest-decorated.yaml new file mode 100644 index 00000000..48b5e1d3 --- /dev/null +++ b/docs/seqera-api-latest-decorated.yaml @@ -0,0 +1,15004 @@ +openapi: 3.0.1 +info: + title: Seqera API + description: Seqera Platform services API + contact: + url: https://seqera.io + email: info@seqera.io + version: 1.97.0 +servers: + - url: https://api.cloud.seqera.io + description: Seqera Platform Cloud API +tags: + - name: actions + description: Pipeline actions + - name: avatars + description: Avatars + - name: compute-envs + description: Compute environments + - name: credentials + description: Credentials + - name: data-links + description: Cloud storage directory paths in Data Explorer + - name: datasets + description: Pipeline input datasets (samplesheets) in CSV or TSV format + - name: ga4gh + description: GA4GH workflow execution service runs + - name: labels + description: Labels and resource labels + - name: launch + description: Workflow launch events + - name: orgs + description: Organizations + - name: pipelines + description: Pipelines + - name: pipeline-secrets + description: Pipeline secrets in a user or workspace context + - name: platforms + description: Computing platforms + - name: service-info + description: Seqera Platform API service information + - name: studios + description: Studios and Studio sessions + - name: teams + description: Teams in an organization context + - name: tokens + description: API access tokens + - name: trace + description: Workflow execution traces + - name: users + description: Users + - name: workflows + description: Workflow executions + - name: workspaces + description: Workspaces in an organization context +paths: + /actions: + get: + tags: + - actions + summary: List actions + description: "Lists all available actions in a user context, enriched by `attributes`. Append `?workspaceId` to list actions in a workspace context." + operationId: ListActions + parameters: + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + - name: attributes + in: query + description: "Additional attribute values to include in the response (`labels`). Returns an empty value (`labels: null`) if omitted." + schema: + type: array + items: + $ref: "#/components/schemas/ActionQueryAttribute" + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/ListActionsResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + post: + tags: + - actions + summary: Create action + description: Creates a new pipeline action. Append `?workspaceId` to associate the action with the given workspace. + operationId: CreateAction + parameters: + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + requestBody: + description: Action create request + content: + application/json: + schema: + $ref: "#/components/schemas/CreateActionRequest" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/CreateActionResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /actions/labels/add: + post: + tags: + - labels + summary: Add labels to actions + description: Adds the given list of labels to the given pipeline actions. Existing labels are preserved. + operationId: AddLabelsToActions + parameters: + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + requestBody: + description: Labels add request + content: + application/json: + schema: + $ref: "#/components/schemas/AssociateActionLabelsRequest" + required: true + responses: + "204": + description: OK - No content + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /actions/labels/apply: + post: + tags: + - labels + summary: Replace action labels + description: Applies the given list of labels to the given pipeline actions. Existing labels are replaced — include labels to be preserved in `labelIds`. + operationId: ApplyLabelsToActions + parameters: + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + requestBody: + description: Labels apply request + content: + application/json: + schema: + $ref: "#/components/schemas/AssociateActionLabelsRequest" + required: true + responses: + "204": + description: OK - No content + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /actions/labels/remove: + post: + tags: + - labels + summary: Remove labels from actions + description: Removes the given list of labels from the given pipeline actions. + operationId: RemoveLabelsFromActions + parameters: + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + requestBody: + description: Labels remove request + content: + application/json: + schema: + $ref: "#/components/schemas/AssociateActionLabelsRequest" + required: true + responses: + "204": + description: OK - No content + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /actions/types: + get: + tags: + - actions + summary: List action event types + description: Lists the supported event types that trigger a pipeline action. Append `?workspaceId` to list event types in a workspace context. + operationId: ListActionTypes + parameters: + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/ListEventTypesResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /actions/validate: + get: + tags: + - actions + summary: Validate action name + description: Confirms the validity of the given action name. Append `?name=`. + operationId: ValidateActionName + parameters: + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + - name: name + in: query + description: Action name to validate + schema: + type: string + responses: + "204": + description: OK - No content + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + "409": + description: Duplicate element + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + security: + - BearerAuth: [] + /actions/{actionId}: + get: + tags: + - actions + summary: Describe action + description: Retrieves the details of the action identified by the given `actionId`. + operationId: DescribeAction + parameters: + - name: actionId + in: path + description: Action string identifier + required: true + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + - name: attributes + in: query + description: "Additional attribute values to include in the response (`labels`). Returns an empty value (`labels: null`) if omitted." + schema: + type: array + items: + $ref: "#/components/schemas/ActionQueryAttribute" + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DescribeActionResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + put: + tags: + - actions + summary: Update action + description: Updates the details of the action identified by the given `actionId`. The `source` of an existing action cannot be changed. + operationId: UpdateAction + parameters: + - name: actionId + in: path + description: Action string identifier + required: true + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + requestBody: + description: Action update request + content: + application/json: + schema: + $ref: "#/components/schemas/UpdateActionRequest" + required: true + responses: + "204": + description: OK - No content + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + delete: + tags: + - actions + summary: Delete action + description: Deletes the pipeline action identified by the given `actionId`. + operationId: DeleteAction + parameters: + - name: actionId + in: path + description: Action string identifier + required: true + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + responses: + "204": + description: OK - No content + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /actions/{actionId}/launch: + post: + tags: + - actions + summary: Trigger Tower Launch action + description: Triggers the execution of the Tower Launch action identified by the given `actionId`. + operationId: LaunchAction + parameters: + - name: actionId + in: path + description: Action string identifier + required: true + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + requestBody: + description: Action launch request + content: + application/json: + schema: + $ref: "#/components/schemas/LaunchActionRequest" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/LaunchActionResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /actions/{actionId}/pause: + post: + tags: + - actions + summary: Pause or resume action + description: Pauses or resumes the pipeline action identified by the given `actionId`. + operationId: PauseAction + parameters: + - name: actionId + in: path + description: Action string identifier + required: true + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/EmptyBodyRequest" + responses: + "204": + description: OK - No content + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /avatars: + post: + tags: + - avatars + summary: Create the avatar image + operationId: CreateAvatar + requestBody: + description: Image file request + content: + multipart/form-data: + schema: + type: object + properties: + image: + type: string + format: binary + encoding: + image: + contentType: application/octet-stream + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/CreateAvatarResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /avatars/{avatarId}: + get: + tags: + - avatars + summary: Download the avatar image + operationId: DownloadAvatar + parameters: + - name: avatarId + in: path + description: Avatar string identifier + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: string + format: binary + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + "404": + description: Not found element + security: + - BearerAuth: [] + /compute-envs: + get: + tags: + - compute-envs + summary: List compute environments + description: "Lists all available compute environments in a user context. Append `?workspaceId` to list compute environments in a workspace context, and `?status` to filter by compute environment status." + operationId: ListComputeEnvs + parameters: + - name: status + in: query + description: Filter by compute environment status. + schema: + type: string + enum: ["CREATING", "AVAILABLE", "ERRORED", "INVALID", "CREATING", "AVAILABLE", "ERRORED", "INVALID"] + - name: workspaceId + in: query + description: Workspace numeric identifier. If omitted, lists compute environments in a user context. + schema: + type: integer + format: int64 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/ListComputeEnvsResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + post: + tags: + - compute-envs + summary: Create compute environment + description: Creates a new compute environment. Append `?workspaceId` to create the environment in a workspace context. + operationId: CreateComputeEnv + parameters: + - name: workspaceId + in: query + description: Workspace numeric identifier. If omitted, creates compute environment in a user context. + schema: + type: integer + format: int64 + requestBody: + description: Compute environment create request + content: + application/json: + schema: + $ref: "#/components/schemas/CreateComputeEnvRequest" + examples: + AwsBatchForge: + description: "A minimal AWS Batch Forge compute environment with Wave and Fusion enabled." + value: + computeEnv: + name: "aws-batch-ce" + platform: "aws-batch" + credentialsId: "your-aws-credentials-id" + description: "Minimal AWS Batch Forge compute environment with Wave, Fusion, and fast instance storage enabled" + config: + region: "eu-west-2" + forge: + type: "SPOT" + minCpus: "0" + maxCpus: "100" + workDir: "s3://your-bucket/work" + waveEnabled: "true" + fusion2Enabled: "true" + nvnmeStorageEnabled: "true" + AwsCloud: + description: "Minimal AWS Cloud compute environment with default instance type and AMI" + value: + computeEnv: + name: "aws-cloud-ce" + description: "Minimal AWS Cloud compute environment with default instance type and AMI" + platform: "aws-cloud" + credentialsId: "your-aws-credentials-id" + config: + region: "eu-west-2" + workDir: "s3://your-bucket/work" + GoogleBatch: + description: "Minimal Google Cloud Batch compute environment with Wave and Fusion enabled" + value: + computeEnv: + name: "google-batch-ce" + description: "Minimal Google Cloud Batch compute environment with Wave and Fusion enabled" + platform: "google-batch" + credentialsId: "your-google-credentials-id" + config: + location: "europe-west2" + workDir: "gs://your-bucket/work" + spot: true + waveEnabled: true + fusion2Enabled: true + GoogleCloud: + description: "Minimal Google Cloud compute environment with default instance type and image ID" + value: + computeEnv: + name: "google-cloud-ce" + description: "Minimal Google Cloud compute environment with default instance type and image ID" + platform: "google-cloud" + credentialsId: "your-google-credentials-id" + config: + region: "europe-west2" + workDir: "gs://your-bucket/work" + AzureBatchForge: + description: "Minimal Azure Batch Forge compute environment with Wave and Fusion enabled" + value: + computeEnv: + name: "azure-batch-ce" + description: "Minimal Azure Batch Forge compute environment with Wave and Fusion enabled" + platform: "azure-batch" + credentialsId: "your-azure-credentials-id" + config: + region: "eastus" + workDir: "az://your-storage-account/work" + forge: + vmCount: 50 + autoScale: true + waveEnabled: true + fusion2Enabled: true + AwsEks: + description: "Minimal AWS EKS compute environment with Fusion storage" + value: + computeEnv: + name: "aws-eks-ce" + description: "Minimal AWS EKS compute environment with Fusion storage" + platform: "eks-platform" + credentialsId: "your-aws-credentials-id" + config: + region: "eu-west-2" + workDir: "s3://your-bucket/work" + clusterName: "your-cluster-name" + namespace: "your-namespace" + headServiceAccount: "your-service-account" + waveEnabled: "true" + fusion2Enabled: "true" + GoogleGke: + description: "Minimal Google Kubernetes Engine compute environment with Fusion storage" + value: + computeEnv: + name: "gke-ce" + description: "Minimal Google Kubernetes Engine compute environment with Fusion storage" + platform: "gke-platform" + credentialsId: "your-google-credentials-id" + config: + region: "europe-west2" + workDir: "gs://your-bucket/work" + clusterName: "your-cluster-name" + namespace: "your-namespace" + headServiceAccount: "your-service-account" + waveEnabled: "true" + fusion2Enabled: "true" + Kubernetes: + description: "Minimal Kubernetes compute environment with persistent volume storage" + value: + computeEnv: + name: "k8s-ce" + description: "Minimal Kubernetes compute environment with persistent volume storage" + platform: "k8s-platform" + credentialsId: "your-k8s-credentials-id" + config: + workDir: "/workspace" + server: "https://your-k8s-api-server:6443" + sslCert: "-----BEGIN CERTIFICATE-----\nYOUR_CERTIFICATE\n-----END CERTIFICATE-----" + namespace: "your-namespace" + headServiceAccount: "your-service-account" + storageClaimName: "your-storage-claim" + storageMountPath: "/workspace" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/CreateComputeEnvResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /compute-envs/validate: + get: + tags: + - compute-envs + summary: Validate compute environment name + description: Confirms the validity of the given compute environment name in a user context. Append `?name=`. + operationId: ValidateComputeEnvName + parameters: + - name: workspaceId + in: query + description: Workspace numeric identifier. If omitted, validates compute environment name in a user context. + schema: + type: integer + format: int64 + - name: name + in: query + description: Compute environment name to validate for uniqueness and format. + schema: + type: string + responses: + "204": + description: OK - No content + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + "409": + description: Duplicate element + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + security: + - BearerAuth: [] + /compute-envs/{computeEnvId}: + get: + tags: + - compute-envs + summary: Describe compute environment + description: Retrieves the details of the compute environment identified by the given `computeEnvId`. + operationId: DescribeComputeEnv + parameters: + - name: computeEnvId + in: path + description: Compute environment alphanumeric identifier. + required: true + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier. + schema: + type: integer + format: int64 + - name: attributes + in: query + description: "Additional attribute values to include in the response. Returns `labels: null` if omitted." + schema: + type: array + items: + $ref: "#/components/schemas/ComputeEnvQueryAttribute" + type: string + enum: ["labels", "labels"] + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DescribeComputeEnvResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + put: + tags: + - compute-envs + summary: Update compute environment + description: Updates the details of the compute environment identified by the given `computeEnvId`. + operationId: UpdateComputeEnv + parameters: + - name: computeEnvId + in: path + description: Compute environment alphanumeric identifier. + required: true + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier. + schema: + type: integer + format: int64 + requestBody: + description: Compute environment update request + content: + application/json: + schema: + $ref: "#/components/schemas/UpdateComputeEnvRequest" + required: true + responses: + "204": + description: OK - No content + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + "409": + description: Duplicate element + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + security: + - BearerAuth: [] + delete: + tags: + - compute-envs + summary: Delete compute environment + description: Deletes the compute environment identified by the given `computeEnvId`. + operationId: DeleteComputeEnv + parameters: + - name: computeEnvId + in: path + description: Compute environment alphanumeric identifier. + required: true + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier. + schema: + type: integer + format: int64 + responses: + "204": + description: OK - No content + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + "409": + description: Conflicting deletion + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + security: + - BearerAuth: [] + /compute-envs/{computeEnvId}/primary: + post: + tags: + - compute-envs + summary: Define primary compute environment + description: Selects the compute environment identified by the given `computeEnvId` as the primary compute environment in the given workspace context. + operationId: UpdateComputeEnvPrimary + parameters: + - name: computeEnvId + in: path + description: Compute environment alphanumeric identifier. + required: true + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier. + schema: + type: integer + format: int64 + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/EmptyBodyRequest" + responses: + "204": + description: OK - No content + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /credentials: + get: + tags: + - credentials + summary: List credentials + description: "Lists all available credentials in a user context. Append `?workspaceId` to list credentials in a workspace context, and `?platformId` to filter credentials by computing platform." + operationId: ListCredentials + parameters: + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + - name: platformId + in: query + description: Platform string identifier + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/ListCredentialsResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + post: + tags: + - credentials + summary: Create credentials + description: Creates new credentials in a user context. Append `?workspaceId` to create the credentials in a workspace context. + operationId: CreateCredentials + parameters: + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + requestBody: + description: Credentials create request + content: + application/json: + schema: + $ref: "#/components/schemas/CreateCredentialsRequest" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/CreateCredentialsResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /credentials/validate: + get: + tags: + - credentials + summary: Validate credential name + description: Validates the given credentials name. Append `?name=`. + operationId: ValidateCredentialsName + parameters: + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + - name: name + in: query + description: Credentials name to validate + schema: + type: string + responses: + "204": + description: OK - No content + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + "409": + description: Duplicate element + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + security: + - BearerAuth: [] + /credentials/{credentialsId}: + get: + tags: + - credentials + summary: Describe credentials + description: Retrieves the details of the credentials identified by the given `credentialsId`. + operationId: DescribeCredentials + parameters: + - name: credentialsId + in: path + description: Credentials string identifier + required: true + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DescribeCredentialsResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + put: + tags: + - credentials + summary: Update credentials + description: Updates the details of the credentials identified by the given `credentialsId`. + operationId: UpdateCredentials + parameters: + - name: credentialsId + in: path + description: Credentials string identifier + required: true + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + requestBody: + description: Credentials update request + content: + application/json: + schema: + $ref: "#/components/schemas/UpdateCredentialsRequest" + required: true + responses: + "204": + description: OK - No content + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + delete: + tags: + - credentials + summary: Delete credentials + description: Deletes the credentials identified by the given `credentialsId`. + operationId: DeleteCredentials + parameters: + - name: credentialsId + in: path + description: Credentials string identifier + required: true + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + - name: checked + in: query + description: If set credentials deletion will be blocked by running jobs that depend on them + schema: + type: boolean + responses: + "204": + description: OK - No content + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + "409": + description: Running jobs block the deletion of this credentials + content: + application/json: + schema: + $ref: "#/components/schemas/DeleteCredentialsConflictResponse" + security: + - BearerAuth: [] + /data-links: + get: + tags: + - data-links + summary: List data-links + description: | + Retrieves all available data-links in a user context. Append `?workspaceId={your-workspace-id}` to retrieve data-links in a workspace context. + operationId: ListDataLinks + parameters: + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + - name: credentialsId + in: query + description: Credentials identifier + schema: + type: string + - name: search + in: query + description: "Free text search criteria — data-link name and keywords: `region`, `provider`." + schema: + type: string + - name: max + in: query + description: Pagination max results + schema: + type: integer + format: int32 + - name: offset + in: query + description: Pagination offset + schema: + type: integer + format: int32 + - name: visibility + in: query + description: Filter results by visibility + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DataLinksListResponse" + "202": + description: Accepted + content: + application/json: + schema: + $ref: "#/components/schemas/DataLinksListResponse" + "400": + description: BadRequest + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: "NotFound — workspace or credentials not found, or the API is disabled in the workspace." + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + post: + tags: + - data-links + summary: Create data-link + description: Creates a new data-link in a user context. Append `?workspaceId=` to create the data-link in a workspace context. + operationId: CreateCustomDataLink + parameters: + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + requestBody: + description: Data-link creation request + content: + application/json: + schema: + $ref: "#/components/schemas/DataLinkCreateRequest" + required: true + responses: + "200": + description: Success + content: + application/json: + schema: + $ref: "#/components/schemas/DataLinkDto" + "400": + description: BadRequest + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: "NotFound — workspace or credentials not found, API disabled in the workspace, or data-link or path not found" + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /data-links/cache/refresh: + get: + tags: + - data-links + summary: Refresh data-link cache + description: Refreshes the data-link cache for the given `workspaceId` or `credentialsId`. Forces immediate re-discovery of available cloud storage resources. + operationId: RefreshDataLinkCache + parameters: + - name: workspaceId + in: query + description: Workspace numeric identifier. If omitted, refreshes cache in a user context. + schema: + type: integer + format: int64 + - name: credentialsId + in: query + description: Credentials string identifier. Filters cache refresh to data-links accessible with the specified credentials. + schema: + type: string + responses: + "200": + description: OK + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /data-links/{dataLinkId}: + get: + tags: + - data-links + summary: Describe data-link + description: Retrieves the details of the data-link associated with the given `dataLinkId`, including provider information, credentials, and access status. + operationId: DescribeDataLink + parameters: + - name: dataLinkId + in: path + description: Data-link string identifier. + required: true + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier. Optional. + schema: + type: integer + format: int64 + - name: credentialsId + in: query + description: Credentials string identifier. Required for accessing private data-links. + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DataLinkResponse" + "400": + description: BadRequest + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: "NotFound — workspace or credentials not found, API disabled for the workspace, or data-link not found" + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + put: + tags: + - data-links + summary: Update data-link + description: Updates the data-link associated with the given `dataLinkId`. Allows modification of name, description, and associated credentials. + operationId: UpdateCustomDataLink + parameters: + - name: dataLinkId + in: path + description: Data-link string identifier. + required: true + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier. Optional. + schema: + type: integer + format: int64 + requestBody: + description: Data-link update request. + content: + application/json: + schema: + $ref: "#/components/schemas/DataLinkUpdateRequest" + required: true + responses: + "200": + description: Success — Data-link updated + content: + application/json: + schema: + $ref: "#/components/schemas/DataLinkDto" + "400": + description: BadRequest + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: "NotFound — workspace or credentials not found, API disabled for the workspace, or data-link not found" + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + delete: + tags: + - data-links + summary: Delete data-link + description: Deletes the data-link associated with the given `dataLinkId`. The underlying cloud storage resource is not affected. + operationId: DeleteCustomDataLink + parameters: + - name: dataLinkId + in: path + description: Data-link string identifier. + required: true + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier. Optional. + schema: + type: integer + format: int64 + responses: + "200": + description: Success — Data-link deleted + "400": + description: BadRequest + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: "NotFound — workspace or credentials not found, API disabled for the workspace, or data-link not found" + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + "204": + description: DeleteCustomDataLink 204 response + security: + - BearerAuth: [] + /data-links/{dataLinkId}/browse: + get: + tags: + - data-links + summary: Explore data-link + description: "Retrieves the content of the data-link associated with the given `dataLinkId`." + operationId: ExploreDataLink + parameters: + - name: dataLinkId + in: path + description: Data-link string identifier. + required: true + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier. + schema: + type: integer + format: int64 + - name: credentialsId + in: query + description: Credentials string identifier. + schema: + type: string + - name: search + in: query + description: Prefix search of data-link content. + schema: + type: string + - name: nextPageToken + in: query + description: Token used to fetch the next page of items. + schema: + type: string + - name: pageSize + in: query + description: "Number of items to return per page. If omitted, a default maximum value is returned." + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DataLinkContentResponse" + "400": + description: BadRequest + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: "NotFound — workspace or credentials not found, API disabled for the workspace, or data-link not found" + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /data-links/{dataLinkId}/browse-tree: + get: + tags: + - data-links + summary: Explore data-link tree + description: Retrieves a list of all files in the data-link associated with the given `dataLinkId`, including files in sub-paths. Useful for retrieving complete directory structures. + operationId: ExploreDataLinkTree + parameters: + - name: dataLinkId + in: path + description: Data-link string identifier. + required: true + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier. Optional. + schema: + type: integer + format: int64 + - name: credentialsId + in: query + description: Credentials string identifier. Required for accessing private data-links. + schema: + type: string + - name: paths + in: query + description: List of paths to explore. Returns all files within the specified paths, including sub-paths. + schema: + type: array + items: + type: object + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DataLinkContentTreeListResponse" + "400": + description: BadRequest + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: "NotFound — workspace or credentials not found, API disabled for the workspace, or data-link or path not found" + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /data-links/{dataLinkId}/browse/{path}: + get: + tags: + - data-links + summary: Explore data-link path + description: "Retrieves the content of the data-link associated with the given `dataLinkId`, at the given `path`." + operationId: ExploreDataLinkWithPath + parameters: + - name: dataLinkId + in: path + description: Data-link string identifier + required: true + schema: + type: string + - name: path + in: path + description: Content path + required: true + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + - name: credentialsId + in: query + description: Credentials string identifier + schema: + type: string + - name: search + in: query + description: Prefix search of data-link content + schema: + type: string + - name: nextPageToken + in: query + description: Token used to fetch the next page of items + schema: + type: string + - name: pageSize + in: query + description: "Number of items to return per page. If ommitted, a default maximum value is returned." + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DataLinkContentResponse" + "400": + description: BadRequest + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: "NotFound — workspace or credentials not found, API disabled for the workspace, or data-link not found" + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /data-links/{dataLinkId}/content: + delete: + tags: + - data-links + summary: Delete data-link content + description: Deletes the content of the data-link associated with the given `dataLinkId`. The data-link itself is preserved, but files and directories within it are removed. + operationId: DeleteDataLinkItem + parameters: + - name: dataLinkId + in: path + description: Data-link string identifier. + required: true + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier. Optional. + schema: + type: integer + format: int64 + - name: credentialsId + in: query + description: Credentials string identifier. Required for deleting content from private data-links. + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/DataLinkDeleteItemRequest" + required: true + description: "Data-link content deletion request specifying files and directories to delete." + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DataLinkDeleteItemResponse" + "400": + description: BadRequest + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: "NotFound — workspace or credentials not found, API disabled for the workspace, or data-link or path not found" + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /data-links/{dataLinkId}/generate-download-url: + get: + tags: + - data-links + summary: Generate download URL + description: Returns a pre-signed URL to download files from the data-link associated with the given `dataLinkId`. The URL can be used for direct downloads or preview purposes. + operationId: GenerateDownloadUrlDataLink + parameters: + - name: dataLinkId + in: path + description: Data-link string identifier. + required: true + schema: + type: string + - name: filePath + in: query + description: File path to download within the data-link (e.g., `folder/subfolder/object`). + schema: + type: string + - name: credentialsId + in: query + description: Credentials string identifier. Required for generating download URLs for private data-links. + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier. Optional. + schema: + type: integer + format: int64 + - name: preview + in: query + description: "If `true`, generates a URL for preview purposes. If `false`, generates a URL for direct download. Default: `false`." + schema: + type: boolean + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DataLinkDownloadUrlResponse" + "400": + description: BadRequest + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: "NotFound — workspace or credentials not found, API disabled for the workspace, or data-link or path not found" + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /data-links/{dataLinkId}/script/download: + get: + tags: + - data-links + summary: Generate download script + description: Creates a script to download files from the data-link associated with the given `dataLinkId`. Append `?dirs` or `?files` to specify a list of files or paths to download within the data-link. + operationId: GenerateDownloadScript + parameters: + - name: dataLinkId + in: path + description: Data-link string identifier. + required: true + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier. Optional. + schema: + type: integer + format: int64 + - name: credentialsId + in: query + description: Credentials string identifier. Required for generating download scripts for private data-links. + schema: + type: string + - name: dirs + in: query + description: List of directory paths to include in the download script. + schema: + type: array + items: + type: object + - name: files + in: query + description: List of file paths to include in the download script. + schema: + type: array + items: + type: object + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DataLinkDownloadScriptResponse" + "400": + description: BadRequest + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: "NotFound — workspace or credentials not found, API disabled for the workspace, or data-link or path not found" + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /data-links/{dataLinkId}/upload: + post: + tags: + - data-links + summary: Generate data-link file upload URL + description: |- + Creates a URL to upload files to the data-link associated with the given `dataLinkId`. For AWS S3 data-links, an additional follow-up request must be sent after your file upload has completed (or encountered an error) to finalize the upload - see the `/upload/finish` endpoint. + operationId: GenerateDataLinkUploadUrl + parameters: + - name: dataLinkId + in: path + description: Data-link string identifier. + required: true + schema: + type: string + - name: credentialsId + in: query + description: Credentials string identifier. + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier. + schema: + type: integer + format: int64 + - name: Origin + in: header + description: Origin header for CORS preflight requests. + schema: + type: string + nullable: true + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/DataLinkMultiPartUploadRequest" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DataLinkMultiPartUploadResponse" + "400": + description: BadRequest + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: "NotFound — workspace or credentials not found, API disabled for the workspace, or data-link or path not found" + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /data-links/{dataLinkId}/upload/finish: + post: + tags: + - data-links + summary: Finish data-link file upload + description: "Finish upload of a data-link file. This is necessary for AWS S3 data-links (`DataLinkProvider=aws`) to finalize a successful file upload, or abort an upload if an error was encountered while uploading a file using an upload URL from the `/upload` endpoint." + operationId: FinishDataLinkUpload + parameters: + - name: dataLinkId + in: path + description: Data-link string identifier. + required: true + schema: + type: string + - name: credentialsId + in: query + description: Credentials string identifier. + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier. + schema: + type: integer + format: int64 + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/DataLinkFinishMultiPartUploadRequest" + required: true + responses: + "202": + description: No content + "400": + description: BadRequest + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: "NotFound — workspace or credentials not found, API disabled for the workspace, or data-link not found." + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + "200": + description: FinishDataLinkUpload 200 response + content: + application/json: + schema: + type: object + security: + - BearerAuth: [] + /data-links/{dataLinkId}/upload/finish/{dirPath}: + post: + tags: + - data-links + summary: Finish data-link file upload to given path + description: "Finish upload of a data-link file, specifying a file path (`dirPath`). This is necessary for AWS S3 data-links (`DataLinkProvider=aws`) to finalize a successful file upload, or abort an upload if an error was encountered while uploading a file using an upload URL from the `/upload` endpoint." + operationId: FinishDataLinkUploadWithPath + parameters: + - name: dataLinkId + in: path + description: Data-link string identifier + required: true + schema: + type: string + - name: dirPath + in: path + description: Path to the destination directory + required: true + schema: + type: string + - name: credentialsId + in: query + description: Credentials string identifier + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/DataLinkFinishMultiPartUploadRequest" + required: true + responses: + "202": + description: No content + "400": + description: BadRequest + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: "NotFound — workspace or credentials not found, API disabled for the workspace, or data-link or path not found" + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + "200": + description: FinishDataLinkUploadWithPath 200 response + content: + application/json: + schema: + type: object + security: + - BearerAuth: [] + /data-links/{dataLinkId}/upload/{dirPath}: + post: + tags: + - data-links + summary: Generate data-link file upload URL (to given path) + description: |- + Creates a URL to upload files to the data-link associated with the given `dataLinkId`, specifying a file path (`dirPath`). + For AWS S3 data-links, an additional follow-up request must be sent after your file upload has completed (or encountered an error) to finalize the upload - see the `/upload/finish` endpoint. + operationId: GenerateDataLinkUploadUrlWithPath + parameters: + - name: dataLinkId + in: path + description: Data-link string identifier + required: true + schema: + type: string + - name: dirPath + in: path + description: Path to the destination directory + required: true + schema: + type: string + - name: credentialsId + in: query + description: Credentials string identifier + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + - name: Origin + in: header + schema: + type: string + nullable: true + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/DataLinkMultiPartUploadRequest" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DataLinkMultiPartUploadResponse" + "400": + description: BadRequest + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: "NotFound — workspace or credentials not found, API disabled for the workspace, or data-link or path not found" + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /datasets: + get: + tags: + - datasets + summary: List datasets + description: Lists all available datasets in a user context. Append `?workspaceId` to list datasets in a workspace context. Results can be filtered by search query, sorted, and paginated. + operationId: ListDatasetsV2 + parameters: + - name: workspaceId + in: query + description: Workspace numeric identifier. If omitted, lists datasets in a user context. + schema: + type: integer + format: int64 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/ListDatasetsResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + post: + tags: + - datasets + summary: Create dataset + description: Creates a new dataset in the user context. Include the dataset name and description in your request body. Append `?workspaceId` to create the dataset in a workspace context. + operationId: CreateDatasetV2 + parameters: + - name: workspaceId + in: query + description: Workspace numeric identifier. If omitted, creates dataset in a user context. + schema: + type: integer + format: int64 + requestBody: + description: Dataset create request. + content: + application/json: + schema: + $ref: "#/components/schemas/CreateDatasetRequest" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/CreateDatasetResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + "409": + description: Duplicate element + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + security: + - BearerAuth: [] + /datasets/versions: + get: + tags: + - datasets + summary: List latest dataset versions + description: Lists the latest version of each dataset in the user context. Append `?workspaceId` to list latest versions in a workspace context. Filter by MIME type and search query. + operationId: ListLatestDatasetVersionsV2 + parameters: + - name: workspaceId + in: query + description: Workspace numeric identifier. If omitted, lists dataset versions in a user context. + schema: + type: integer + format: int64 + - name: mimeType + in: query + description: Dataset MIME type filter (e.g., `text/csv`, `text/tab-separated-values`). + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/ListDatasetVersionsResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /datasets/{datasetId}: + put: + tags: + - datasets + summary: Update dataset + description: Updates the name and description of the dataset identified by the given `datasetId`. + operationId: UpdateDatasetV2 + parameters: + - name: workspaceId + in: query + description: Workspace numeric identifier. + schema: + type: integer + format: int64 + - name: datasetId + in: path + description: Dataset string identifier. + required: true + schema: + type: string + requestBody: + description: Dataset update request. + content: + application/json: + schema: + $ref: "#/components/schemas/UpdateDatasetRequest" + required: true + responses: + "204": + description: OK - No content + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + "409": + description: Duplicate element + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + security: + - BearerAuth: [] + delete: + tags: + - datasets + summary: Delete dataset + description: Deletes the dataset identified by the given `datasetId`, including all associated versions. + operationId: DeleteDatasetV2 + parameters: + - name: workspaceId + in: query + description: Workspace numeric identifier. + schema: + type: integer + format: int64 + - name: datasetId + in: path + description: Dataset string identifier. + required: true + schema: + type: string + responses: + "204": + description: OK - No content + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /datasets/{datasetId}/metadata: + get: + tags: + - datasets + summary: Describe dataset + description: Retrieves the metadata of the dataset identified by the given `datasetId`. Append `?attributes=labels` to include label information in response. + operationId: DescribeDatasetV2 + parameters: + - name: workspaceId + in: query + description: Workspace numeric identifier. + schema: + type: integer + format: int64 + - name: datasetId + in: path + description: Dataset string identifier. + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DescribeDatasetResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /datasets/{datasetId}/upload: + post: + tags: + - datasets + summary: Upload new dataset version + description: Uploads CSV or TSV content to create a new version of the dataset identified by the given `datasetId`. Each upload increments the version number. + operationId: UploadDatasetV2 + parameters: + - name: workspaceId + in: query + description: Workspace numeric identifier. + schema: + type: integer + format: int64 + - name: datasetId + in: path + description: Dataset string identifier. + required: true + schema: + type: string + - name: header + in: query + description: 'Indicates whether the uploaded file contains a header row. Default: `true`.' + schema: + type: boolean + requestBody: + description: Dataset file request + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/MultiRequestFileSchema" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/UploadDatasetVersionResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /datasets/{datasetId}/v/{version}/n/{fileName}: + get: + tags: + - datasets + summary: Download dataset content + description: Downloads the content of the dataset version identified by the given `datasetId` and `version`. The `fileName` must match the original uploaded filename. + operationId: DownloadDatasetV2 + parameters: + - name: workspaceId + in: query + description: Workspace numeric identifier. + schema: + type: integer + format: int64 + - name: datasetId + in: path + description: Dataset string identifier. + required: true + schema: + type: string + - name: version + in: path + description: Dataset version number. + required: true + schema: + type: string + - name: fileName + in: path + description: File name for the downloaded dataset content. Must match the original uploaded filename. + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: string + format: binary + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + "404": + description: Not found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + security: + - BearerAuth: [] + /datasets/{datasetId}/versions: + get: + tags: + - datasets + summary: List all dataset versions + description: Lists all versions of the dataset identified by the given `datasetId`. Filter by MIME type to retrieve specific file format versions. + operationId: ListDatasetVersionsV2 + parameters: + - name: workspaceId + in: query + description: Workspace numeric identifier. + schema: + type: integer + format: int64 + - name: datasetId + in: path + description: Dataset string identifier. + required: true + schema: + type: string + - name: mimeType + in: query + description: Optional MIME type filter (e.g., `text/csv`, `text/tab-separated-values`). + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/ListDatasetVersionsResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /ga4gh/wes/v1/runs: + get: + tags: + - ga4gh + summary: "GA4GH: List runs" + description: Uses the GA4GH workflow execution service API to list all run records. + operationId: Ga4ghRunList + parameters: + - name: page_size + in: query + description: Page size + schema: + type: integer + format: int32 + - name: page_token + in: query + description: Page token + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/RunListResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/WesErrorResponse" + "403": + description: Operation not allowed + post: + tags: + - ga4gh + summary: "GA4GH: Launch run" + description: "Uses the GA4GH workflow execution service API to launch a new run. Runs are launched in the user workspace context by default. To launch in an organization workspace context, include the `workspaceId` in `workflow_engine_parameters`. Runs are launched with the workspace primary compute environment by default. To launch with a different compute environment, include the `computeEnvId` in `workflow_engine_parameters`." + operationId: Ga4ghRunCreate + requestBody: + description: Run request + content: + application/json: + schema: + $ref: "#/components/schemas/RunRequest" + multipart/form-data: + schema: + $ref: "#/components/schemas/RunRequest" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/RunId" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/WesErrorResponse" + "403": + description: Operation not allowed + /ga4gh/wes/v1/runs/{run_id}: + get: + tags: + - ga4gh + summary: "GA4GH: Describe run" + description: Uses the GA4GH workflow execution service API to retrieve the details of the run assoiated with the given `run_id`. + operationId: Ga4ghRunDescribe + parameters: + - name: run_id + in: path + description: Run string identifier + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/RunLog" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/WesErrorResponse" + "403": + description: Operation not allowed + /ga4gh/wes/v1/runs/{run_id}/cancel: + post: + tags: + - ga4gh + summary: "GA4GH: Cancel run" + description: Uses the GA4GH workflow execution service API to cancel the run associated with the given `run_id`. + operationId: Ga4ghRunCancel + parameters: + - name: run_id + in: path + description: Run string identifier + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/EmptyBodyRequest" + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/RunId" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/WesErrorResponse" + "403": + description: Operation not allowed + /ga4gh/wes/v1/runs/{run_id}/status: + get: + tags: + - ga4gh + summary: "GA4GH: Retrieve run status" + description: Uses the GA4GH workflow execution service API to retrieve the status of the run associated with the given `run_id`. + operationId: Ga4ghRunStatus + parameters: + - name: run_id + in: path + description: Run string identifier + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/RunStatus" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/WesErrorResponse" + "403": + description: Operation not allowed + /ga4gh/wes/v1/service-info: + get: + tags: + - ga4gh + summary: GA4GH workflow execution service API info + operationId: Ga4ghServiceInfo + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/ServiceInfo" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/WesErrorResponse" + "403": + description: Operation not allowed + /identities: + get: + tags: + - identities + summary: List managed identities + description: Lists all available managed identities in an organization context. To list the managed identities for an organization other than the requester's default, append an `?orgId`. Only organizations accessible to the requester's access token can be queried. + operationId: ListManagedIdentities + parameters: + - name: orgId + in: query + description: Organization numeric identifier. Append to list managed identities within an organization other than the requester's default. + schema: + type: integer + format: int64 + - name: search + in: query + description: "Filter search parameter. Supports free text search on name and keywords: `platform:`." + schema: + type: string + nullable: true + - name: max + in: query + description: 'Maximum number of results to return. Default: `20`.' + schema: + type: integer + format: int32 + nullable: true + - name: offset + in: query + description: 'Number of results to skip for pagination. Default: `0`.' + schema: + type: integer + format: int32 + nullable: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/ListManagedIdentitiesResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + post: + tags: + - identities + summary: Create managed identity + description: Creates a new managed identity in an organization context. Managed identities enable centralized credential management for HPC environments. + operationId: CreateManagedIdentity + parameters: + - name: orgId + in: query + description: Organization numeric identifier. Append to create managed identity within an organization other than the requester's default. + schema: + type: integer + format: int64 + requestBody: + description: Managed identity create request. + content: + application/json: + schema: + $ref: "#/components/schemas/CreateManagedIdentityRequest" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/CreateManagedIdentityResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /identities/{managedIdentityId}: + get: + tags: + - identities + summary: Describe managed identity + description: Retrieves the details of the managed identity associated with the given `managedIdentityId`. + operationId: DescribeManagedIdentity + parameters: + - name: managedIdentityId + in: path + description: Managed identity numeric identifier. + required: true + schema: + type: integer + format: int64 + - name: orgId + in: query + description: Organization numeric identifier. + schema: + type: integer + format: int64 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/CreateManagedIdentityResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + put: + tags: + - identities + summary: Update managed identity + description: Updates the details of the managed identity associated with the given `managedIdentityId`. + operationId: UpdateManagedIdentity + parameters: + - name: orgId + in: query + description: Organization numeric identifier. + schema: + type: integer + format: int64 + - name: managedIdentityId + in: path + description: Managed identity numeric identifier. + required: true + schema: + type: integer + format: int64 + requestBody: + description: Managed identity update request. + content: + application/json: + schema: + $ref: "#/components/schemas/UpdateManagedIdentityRequest" + required: true + responses: + "204": + description: OK - No content + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + delete: + tags: + - identities + summary: Delete managed identity + description: Deletes the managed identity associated with the given `managedIdentityId`. To optionally check whether the deletion will be blocked by running jobs that depend on associated managed credentials, append `?checked=true`. + operationId: DeleteManagedIdentity + parameters: + - name: managedIdentityId + in: path + description: Managed identity numeric identifier. + required: true + schema: + type: integer + format: int64 + - name: orgId + in: query + description: Organization numeric identifier. + schema: + type: integer + format: int64 + - name: checked + in: query + description: 'If `true`, deletion is blocked if running jobs depend on associated managed credentials. Default: `false`.' + schema: + type: boolean + nullable: true + responses: + "204": + description: OK - No content + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + "409": + description: Running jobs block the deletion of this Managed Identity + content: + application/json: + schema: + $ref: "#/components/schemas/DeleteManagedCredentialsConflictResponse" + security: + - BearerAuth: [] + /identities/{managedIdentityId}/credentials: + get: + tags: + - identities + summary: List managed credentials + description: Lists all managed credentials associated with the given `managedIdentityId`. Filter by user with `?userId`. + operationId: ListManagedCredentials + parameters: + - name: managedIdentityId + in: path + description: Managed identity numeric identifier. + required: true + schema: + type: integer + format: int64 + - name: orgId + in: query + description: Organization numeric identifier. + schema: + type: integer + format: int64 + - name: userId + in: query + description: User numeric identifier. Filter managed credentials by specific user. + schema: + type: integer + format: int64 + nullable: true + - name: search + in: query + description: "Filter search parameter. Supports free text search on `userName`, `firstName + lastName`, and keywords: `is:missing`, `is:added`." + schema: + type: string + - name: max + in: query + description: 'Maximum number of results to return. Default: `20`.' + schema: + type: integer + format: int32 + - name: offset + in: query + description: 'Number of results to skip for pagination. Default: `0`.' + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/ListManagedCredentialsResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + post: + tags: + - identities + summary: Create managed credentials + description: Creates new managed credentials for the given `managedIdentityId`. To associate the credentials with a user other than the requester, append the `?userId`. + operationId: CreateManagedCredentials + parameters: + - name: managedIdentityId + in: path + description: Managed identity numeric identifier. + required: true + schema: + type: integer + format: int64 + - name: orgId + in: query + description: Organization numeric identifier. + schema: + type: integer + format: int64 + - name: userId + in: query + description: User numeric identifier. Append to associate managed credentials with a user other than the requester. + schema: + type: integer + format: int64 + nullable: true + requestBody: + description: Managed credentials create request, including provider type and authentication details. + content: + application/json: + schema: + $ref: "#/components/schemas/CreateManagedCredentialsRequest" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/CreateManagedCredentialsResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /identities/{managedIdentityId}/credentials/{managedCredentialsId}: + put: + tags: + - identities + summary: Update managed credentials + description: Updates the managed credentials identified by the given `managedCredentialsId` within the given `managedIdentityId`. + operationId: UpdateManagedCredentials + parameters: + - name: managedIdentityId + in: path + description: Managed identity numeric identifier. + required: true + schema: + type: integer + format: int64 + - name: managedCredentialsId + in: path + description: Managed credentials numeric identifier. + required: true + schema: + type: integer + format: int64 + - name: orgId + in: query + description: Organization numeric identifier. + schema: + type: integer + format: int64 + requestBody: + description: Managed credentials update request. + content: + application/json: + schema: + $ref: "#/components/schemas/UpdateManagedCredentialsRequest" + required: true + responses: + "204": + description: OK - No content + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + delete: + tags: + - identities + summary: Delete managed credentials + description: Deletes the managed credentials identified by the given `managedCredentialsId` from the associated `managedIdentityId`. To optionally check whether the deletion will be blocked by running jobs that depend on the managed credentials, append `?checked=true`. + operationId: DeleteManagedCredentials + parameters: + - name: managedIdentityId + in: path + description: Managed identity numeric identifier. + required: true + schema: + type: integer + format: int64 + - name: managedCredentialsId + in: path + description: Managed credentials numeric identifier. + required: true + schema: + type: integer + format: int64 + nullable: true + - name: orgId + in: query + description: Organization numeric identifier. + schema: + type: integer + format: int64 + - name: checked + in: query + description: 'If `true`, deletion is blocked if running jobs depend on the given managed credentials. Default: `false`.' + schema: + type: boolean + nullable: true + responses: + "204": + description: OK - No content + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + "409": + description: Running jobs block the deletion of this Managed Credentials + content: + application/json: + schema: + $ref: "#/components/schemas/DeleteManagedCredentialsConflictResponse" + security: + - BearerAuth: [] + /labels: + get: + tags: + - labels + summary: List labels + description: Lists all available labels in a user context. Append `?workspaceId` to list labels in a workspace context. + operationId: ListLabels + parameters: + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + - name: max + in: query + description: Pagination max results + schema: + type: integer + format: int32 + - name: offset + in: query + description: Pagination offset + schema: + type: integer + format: int32 + - name: search + in: query + description: Filter search parameter + schema: + type: string + - name: type + in: query + description: Label type + schema: + $ref: "#/components/schemas/LabelType" + - name: isDefault + in: query + description: Label default flag + schema: + type: boolean + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/ListLabelsResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + post: + tags: + - labels + summary: Create label + description: "Creates a new label or returns an existing label based on name/value. By default the operation works in a user context, append `?workspaceId` to create/retrieve a label in a workspace context. Resource labels include `resource: true` and a `value`." + operationId: CreateLabel + parameters: + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + requestBody: + description: "Provide a label `name`. Set `resource: true` for resource labels. Only resource labels have a `value` — if `resource: true`, include a `value`. Else, omit `value` from your request body." + content: + application/json: + schema: + $ref: "#/components/schemas/CreateLabelRequest" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/CreateLabelResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /labels/dynamic/allowed: + get: + tags: + - labels + operationId: GetAllowedDynamicLabels + responses: + "200": + description: Ok + content: + application/json: + schema: + $ref: "#/components/schemas/AllowedDynamicLabelsResponse" + "400": + description: Bad Request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + security: + - BearerAuth: [] + /labels/{labelId}: + put: + tags: + - labels + summary: Update label + description: Updates the label identified by the given `labelId`. + operationId: UpdateLabel + parameters: + - name: labelId + in: path + description: Label numeric identifier + required: true + schema: + type: integer + format: int64 + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + requestBody: + description: Label update request + content: + application/json: + schema: + $ref: "#/components/schemas/UpdateLabelRequest" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/UpdateLabelResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + delete: + tags: + - labels + summary: Delete label + description: Deletes the label identified by the given `labelId`. + operationId: DeleteLabel + parameters: + - name: labelId + in: path + description: Label numeric identifier + required: true + schema: + type: integer + format: int64 + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + responses: + "204": + description: OK - No content + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /launch/{launchId}: + get: + tags: + - launch + summary: Describe Launch record + description: Retrieves the details of the launch identified by the given `launchId`. + operationId: DescribeLaunch + parameters: + - name: launchId + in: path + description: Launch string identifier + required: true + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DescribeLaunchResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /launch/{launchId}/datasets: + get: + tags: + - datasets + summary: Describe launch datasets + description: Retrieves the details of the datasets used in the launch identified by the given `launchId`. + operationId: ListLaunchDatasetVersions + parameters: + - name: launchId + in: path + description: Launch string identifier. + required: true + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier. + schema: + type: integer + format: int64 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DescribeLaunchResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /orgs: + get: + tags: + - orgs + summary: List organizations + description: Lists all organizations to which the requesting user belongs. + operationId: ListOrganizations + parameters: + - name: role + in: query + description: 'Filter results by organization role. Accepts: `owner`, `member`.' + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/ListOrganizationsResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + post: + tags: + - orgs + summary: Create organization + description: Creates a new organization with the requesting user as an owner. + operationId: CreateOrganization + requestBody: + description: Organization details to create. + content: + application/json: + schema: + $ref: "#/components/schemas/CreateOrganizationRequest" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/CreateOrganizationResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + "409": + description: Duplicate element + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + security: + - BearerAuth: [] + /orgs/validate: + get: + tags: + - orgs + summary: Validate organization name + description: Confirms that the given organization name is valid and available for use. Append `?name=` to specify the name to validate. + operationId: ValidateOrganizationName + parameters: + - name: name + in: query + description: The organization name to validate for availability and format compliance. + schema: + type: string + responses: + "204": + description: OK - No content + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + "409": + description: Duplicated element + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + security: + - BearerAuth: [] + /orgs/{orgId}: + get: + tags: + - orgs + summary: Describe organization + description: Retrieves the details of the organization identified by the given `orgId`. + operationId: DescribeOrganization + parameters: + - name: orgId + in: path + description: Organization numeric identifier. + required: true + schema: + type: integer + format: int64 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DescribeOrganizationResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + put: + tags: + - orgs + summary: Update organization + description: Updates the details of the organization identified by the given `orgId`. + operationId: UpdateOrganization + parameters: + - name: orgId + in: path + description: Organization numeric identifier. + required: true + schema: + type: integer + format: int64 + requestBody: + description: Updated organization details. + content: + application/json: + schema: + $ref: "#/components/schemas/UpdateOrganizationRequest" + required: true + responses: + "204": + description: OK - No content + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "409": + description: Duplicate element + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + security: + - BearerAuth: [] + delete: + tags: + - orgs + summary: Delete organization + description: Deletes the organization identified by the given `orgId`. This operation permanently removes the organization and associated memberships. + operationId: DeleteOrganization + parameters: + - name: orgId + in: path + description: Organization numeric identifier. + required: true + schema: + type: integer + format: int64 + responses: + "204": + description: OK - No content + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /orgs/{orgId}/collaborators: + get: + tags: + - orgs + summary: List organization collaborators + description: Lists all collaborators (members and participants) associated with the organization identified by the given `orgId`. + operationId: ListOrganizationCollaborators + parameters: + - name: orgId + in: path + description: Organization numeric identifier. + required: true + schema: + type: integer + format: int64 + - name: max + in: query + description: 'Maximum number of results to return. Default: `50`.' + schema: + type: integer + format: int32 + - name: offset + in: query + description: 'Number of results to skip for pagination. Default: `0`.' + schema: + type: integer + format: int32 + - name: search + in: query + description: Free-text search filter to match against user names and email addresses. + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/ListMembersResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /orgs/{orgId}/members: + get: + tags: + - orgs + summary: List organization members + description: Lists all members of the organization identified by the given `orgId`. + operationId: ListOrganizationMembers + parameters: + - name: orgId + in: path + description: Organization numeric identifier. + required: true + schema: + type: integer + format: int64 + - name: max + in: query + description: 'Maximum number of results to return. Default: `50`.' + schema: + type: integer + format: int32 + - name: offset + in: query + description: 'Number of results to skip for pagination. Default: `0`.' + schema: + type: integer + format: int32 + - name: search + in: query + description: Free-text search filter to match against member names and email addresses. + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/ListMembersResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /orgs/{orgId}/members/add: + put: + tags: + - orgs + summary: Create organization member + description: Adds a new member to the organization identified by the given `orgId`. + operationId: CreateOrganizationMember + parameters: + - name: orgId + in: path + description: Organization numeric identifier. + required: true + schema: + type: integer + format: int64 + requestBody: + description: Member details, including user identifier and organization role. + content: + application/json: + schema: + $ref: "#/components/schemas/AddMemberRequest" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/AddMemberResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + "409": + description: Duplicate element + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + security: + - BearerAuth: [] + /orgs/{orgId}/members/leave: + delete: + tags: + - orgs + summary: Leave organization + description: Removes the requesting user from the organization identified by the given `orgId`. The requesting user must not be the only owner of the organization. + operationId: LeaveOrganization + parameters: + - name: orgId + in: path + description: Organization numeric identifier. + required: true + schema: + type: integer + format: int64 + responses: + "204": + description: OK - No content + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /orgs/{orgId}/members/{memberId}: + delete: + tags: + - orgs + summary: Delete organization member + description: Removes the member identified by the given `memberId` from the organization identified by the given `orgId`. This operation also removes the member from all workspaces within the organization. + operationId: DeleteOrganizationMember + parameters: + - name: orgId + in: path + description: Organization numeric identifier. + required: true + schema: + type: integer + format: int64 + - name: memberId + in: path + description: Member numeric identifier. + required: true + schema: + type: integer + format: int64 + responses: + "204": + description: OK - No content + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /orgs/{orgId}/members/{memberId}/role: + put: + tags: + - orgs + summary: Update organization member role + description: 'Updates the role of the member identified by the given `memberId` in the organization identified by the given `orgId`. Accepted values: `owner`, `member`.' + operationId: UpdateOrganizationMemberRole + parameters: + - name: orgId + in: path + description: Organization numeric identifier. + required: true + schema: + type: integer + format: int64 + - name: memberId + in: path + description: Member numeric identifier. + required: true + schema: + type: integer + format: int64 + requestBody: + description: 'Updated role for the organization member. Accepts: `owner`, `member`.' + content: + application/json: + schema: + $ref: "#/components/schemas/UpdateMemberRoleRequest" + required: true + responses: + "204": + description: OK - No content + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /orgs/{orgId}/quotas: + get: + tags: + - orgs + summary: Describe organization quotas + description: Retrieves the resource quotas and usage limits for the organization identified by the given `orgId`. Quotas define resource limits for pipelines, compute environments, and other platform features. + operationId: DescribeOrganizationQuotas + parameters: + - name: orgId + in: path + description: Organization numeric identifier. + required: true + schema: + type: integer + format: int64 + - name: include + in: query + description: Optional array of specific quota names to include in the response. Omit to retrieve all quotas. + schema: + type: array + items: + type: object + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DescribeOrganizationQuotasResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /orgs/{orgId}/teams: + get: + tags: + - teams + summary: List organization teams + description: Lists all teams in the organization identified by the given `orgId`. Teams are groups of organization members that can be added as participants to workspaces. + operationId: ListOrganizationTeams + parameters: + - name: orgId + in: path + description: Organization numeric identifier. + required: true + schema: + type: integer + format: int64 + - name: max + in: query + description: 'Maximum number of results to return. Default: `50`.' + schema: + type: integer + format: int32 + - name: offset + in: query + description: 'Number of results to skip for pagination. Default: `0`.' + schema: + type: integer + format: int32 + - name: search + in: query + description: Free-text search filter to match against team names. + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/ListTeamResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + post: + tags: + - teams + summary: Create organization team + description: Creates a new team in the organization identified by the given `orgId`. Teams allow you to manage workspace access for groups of members. + operationId: CreateOrganizationTeam + parameters: + - name: orgId + in: path + description: Organization numeric identifier. + required: true + schema: + type: integer + format: int64 + requestBody: + description: Team details to create. + content: + application/json: + schema: + $ref: "#/components/schemas/CreateTeamRequest" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/CreateTeamResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + "409": + description: Duplicated element + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + security: + - BearerAuth: [] + /orgs/{orgId}/teams/validate: + get: + tags: + - teams + summary: Validate organization team name + description: Confirms that the given team name is valid and available for use within the organization. Append `?name=` to specify the name to validate. + operationId: ValidateTeamName + parameters: + - name: orgId + in: path + description: Organization numeric identifier. + required: true + schema: + type: integer + format: int64 + - name: name + in: query + description: The team name to validate for availability and format compliance within the organization. + schema: + type: string + responses: + "204": + description: OK - No content + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /orgs/{orgId}/teams/{teamId}: + get: + tags: + - teams + summary: Describe organization team + description: Retrieves the details of the team identified by the given `teamId`. + operationId: DescribeOrganizationTeam + parameters: + - name: orgId + in: path + description: Organization numeric identifier. + required: true + schema: + type: integer + format: int64 + - name: teamId + in: path + description: Team numeric identifier. + required: true + schema: + type: integer + format: int64 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DescribeTeamResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + put: + tags: + - teams + summary: Update organization team + description: Updates the details of the team identified by the given `teamId`. + operationId: UpdateOrganizationTeam + parameters: + - name: orgId + in: path + description: Organization numeric identifier. + required: true + schema: + type: integer + format: int64 + - name: teamId + in: path + description: Team numeric identifier. + required: true + schema: + type: integer + format: int64 + requestBody: + description: Updated team details. + content: + application/json: + schema: + $ref: "#/components/schemas/UpdateTeamRequest" + required: true + responses: + "200": + description: OK + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + "409": + description: Duplicated element + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "204": + description: UpdateOrganizationTeam 204 response + security: + - BearerAuth: [] + delete: + tags: + - teams + summary: Delete organization team + description: Deletes the team identified by the given `teamId`. This operation removes the team from all workspaces where it is a participant. + operationId: DeleteOrganizationTeam + parameters: + - name: orgId + in: path + description: Organization numeric identifier. + required: true + schema: + type: integer + format: int64 + - name: teamId + in: path + description: Team numeric identifier. + required: true + schema: + type: integer + format: int64 + responses: + "204": + description: OK - No content + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /orgs/{orgId}/teams/{teamId}/members: + get: + tags: + - teams + summary: List organization team members + description: Lists all members of the team identified by the given `teamId`. + operationId: ListOrganizationTeamMembers + parameters: + - name: orgId + in: path + description: Organization numeric identifier. + required: true + schema: + type: integer + format: int64 + - name: teamId + in: path + description: Team numeric identifier. + required: true + schema: + type: integer + format: int64 + - name: max + in: query + description: 'Maximum number of results to return. Default: `50`.' + schema: + type: integer + format: int32 + - name: offset + in: query + description: 'Number of results to skip for pagination. Default: `0`.' + schema: + type: integer + format: int32 + - name: search + in: query + schema: + type: string + nullable: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/ListMembersResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + post: + tags: + - teams + summary: Create team member + description: Adds a new member to the team identified by the given `teamId`. + operationId: CreateOrganizationTeamMember + parameters: + - name: orgId + in: path + description: Organization numeric identifier + required: true + schema: + type: integer + format: int64 + - name: teamId + in: path + description: Team numeric identifier + required: true + schema: + type: integer + format: int64 + requestBody: + description: Team create request + content: + application/json: + schema: + $ref: "#/components/schemas/CreateTeamMemberRequest" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/AddTeamMemberResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /orgs/{orgId}/teams/{teamId}/members/{memberId}/delete: + delete: + tags: + - teams + summary: Delete organization team member + description: Removes the member identified by the given `memberId` from the team identified by the given `teamId`. + operationId: DeleteOrganizationTeamMember + parameters: + - name: orgId + in: path + description: Organization numeric identifier. + required: true + schema: + type: integer + format: int64 + - name: teamId + in: path + description: Team numeric identifier. + required: true + schema: + type: integer + format: int64 + - name: memberId + in: path + description: Member numeric identifier. + required: true + schema: + type: integer + format: int64 + responses: + "204": + description: OK - No content + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /orgs/{orgId}/teams/{teamId}/workspaces: + get: + tags: + - teams + summary: List workspaces by team + description: Lists all workspaces where the team identified by the given `teamId` is a participant. + operationId: ListWorkspacesByTeam + parameters: + - name: orgId + in: path + description: Organization numeric identifier. + required: true + schema: + type: integer + format: int64 + - name: teamId + in: path + description: Team numeric identifier. + required: true + schema: + type: integer + format: int64 + - name: max + in: query + description: 'Maximum number of results to return. Default: `50`.' + schema: + type: integer + format: int32 + - name: offset + in: query + description: 'Number of results to skip for pagination. Default: `0`.' + schema: + type: integer + format: int32 + - name: search + in: query + description: Search criteria + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/ListWorkspacesByTeamResponse" + "404": + description: Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "400": + description: Bad Request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /orgs/{orgId}/workspaces: + get: + tags: + - workspaces + summary: List workspaces + description: Lists all workspaces in the organization identified by the given `orgId` to which the requesting user belongs. Workspaces are isolated environments within an organization where users can run pipelines and manage resources. + operationId: ListWorkspaces + parameters: + - name: orgId + in: path + description: Organization numeric identifier. + required: true + schema: + type: integer + format: int64 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/ListWorkspacesResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + post: + tags: + - workspaces + summary: Create workspace + description: Creates a new workspace in the organization identified by the given `orgId`. The requesting user is automatically added as an owner of the workspace. + operationId: CreateWorkspace + parameters: + - name: orgId + in: path + description: Organization numeric identifier. + required: true + schema: + type: integer + format: int64 + requestBody: + description: Workspace details to create. + content: + application/json: + schema: + $ref: "#/components/schemas/CreateWorkspaceRequest" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/CreateWorkspaceResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + "409": + description: Duplicate element + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + security: + - BearerAuth: [] + /orgs/{orgId}/workspaces/validate: + get: + tags: + - workspaces + summary: Validate workspace name + description: Confirms that the given workspace name is valid and available for use within the organization. Append `?name=` to specify the name to validate. + operationId: ValidateWorkspaceName + parameters: + - name: orgId + in: path + description: Organization numeric identifier. + required: true + schema: + type: integer + format: int64 + - name: name + in: query + description: The workspace name to validate for availability and format compliance within the organization. + schema: + type: string + responses: + "204": + description: OK - No content + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + "409": + description: Duplicate element + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + security: + - BearerAuth: [] + /orgs/{orgId}/workspaces/{workspaceId}: + get: + tags: + - workspaces + summary: Describe workspace + description: Retrieves the details of the workspace identified by the given `workspaceId`. + operationId: DescribeWorkspace + parameters: + - name: orgId + in: path + description: Organization numeric identifier. + required: true + schema: + type: integer + format: int64 + - name: workspaceId + in: path + description: Workspace numeric identifier. + required: true + schema: + type: integer + format: int64 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DescribeWorkspaceResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + put: + tags: + - workspaces + summary: Update workspace + description: Updates the details of the workspace identified by the given `workspaceId`. + operationId: UpdateWorkspace + parameters: + - name: orgId + in: path + description: Organization numeric identifier. + required: true + schema: + type: integer + format: int64 + - name: workspaceId + in: path + description: Workspace numeric identifier. + required: true + schema: + type: integer + format: int64 + requestBody: + description: Updated workspace details. + content: + application/json: + schema: + $ref: "#/components/schemas/UpdateWorkspaceRequest" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DescribeWorkspaceResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "409": + description: Duplicate name + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + delete: + tags: + - workspaces + summary: Delete workspace + description: Deletes the workspace identified by the given `workspaceId`. This operation permanently removes the workspace and associated participations. + operationId: DeleteWorkspace + parameters: + - name: orgId + in: path + description: Organization numeric identifier. + required: true + schema: + type: integer + format: int64 + - name: workspaceId + in: path + description: Workspace numeric identifier. + required: true + schema: + type: integer + format: int64 + responses: + "204": + description: OK - No content + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /orgs/{orgId}/workspaces/{workspaceId}/participants: + get: + tags: + - workspaces + summary: List workspace participants + description: Lists all participants of the workspace identified by the given `workspaceId`. Participants are users or teams who have been granted access to a workspace. + operationId: ListWorkspaceParticipants + parameters: + - name: orgId + in: path + description: Organization numeric identifier. + required: true + schema: + type: integer + format: int64 + - name: workspaceId + in: path + description: Workspace numeric identifier. + required: true + schema: + type: integer + format: int64 + - name: max + in: query + description: 'Maximum number of results to return. Default: `50`.' + schema: + type: integer + format: int32 + - name: offset + in: query + description: 'Number of results to skip for pagination. Default: `0`.' + schema: + type: integer + format: int32 + - name: search + in: query + description: Free-text search filter to match against participant names and email addresses. + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/ListParticipantsResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + delete: + tags: + - workspaces + summary: Leave workspace + description: Removes the requesting user from the given workspace. + operationId: LeaveWorkspaceParticipant + parameters: + - name: orgId + in: path + description: Organization numeric identifier + required: true + schema: + type: integer + format: int64 + - name: workspaceId + in: path + description: Workspace numeric identifier + required: true + schema: + type: integer + format: int64 + responses: + "204": + description: OK - No content + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /orgs/{orgId}/workspaces/{workspaceId}/participants/add: + put: + tags: + - workspaces + summary: Create workspace participant + description: Adds a new participant to the workspace identified by the given `workspaceId`. The participant can be either an individual user or a team. + operationId: CreateWorkspaceParticipant + parameters: + - name: orgId + in: path + description: Organization numeric identifier. + required: true + schema: + type: integer + format: int64 + - name: workspaceId + in: path + description: Workspace numeric identifier. + required: true + schema: + type: integer + format: int64 + requestBody: + description: Participant details, including member or team identifier and workspace role. + content: + application/json: + schema: + $ref: "#/components/schemas/AddParticipantRequest" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/AddParticipantResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + "409": + description: Duplicate element + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + security: + - BearerAuth: [] + /orgs/{orgId}/workspaces/{workspaceId}/participants/{participantId}: + delete: + tags: + - workspaces + summary: Delete workspace participant + description: Removes the participant identified by the given `participantId` from the given workspace. + operationId: DeleteWorkspaceParticipant + parameters: + - name: orgId + in: path + description: Organization numeric identifier. + required: true + schema: + type: integer + format: int64 + - name: workspaceId + in: path + description: Workspace numeric identifier. + required: true + schema: + type: integer + format: int64 + - name: participantId + in: path + description: Participant numeric identifier. + required: true + schema: + type: integer + format: int64 + responses: + "204": + description: OK - No content + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /orgs/{orgId}/workspaces/{workspaceId}/participants/{participantId}/role: + put: + tags: + - workspaces + summary: Update workspace participant role + description: Updates the role of the participant identified by the given `participantId` in the given workspace. Accepts `owner`, `admin`, `maintain`, `launch`, `connect`, `view`. + operationId: UpdateWorkspaceParticipantRole + parameters: + - name: orgId + in: path + description: Organization numeric identifier. + required: true + schema: + type: integer + format: int64 + - name: workspaceId + in: path + description: Workspace numeric identifier. + required: true + schema: + type: integer + format: int64 + - name: participantId + in: path + description: Participant numeric identifier. + required: true + schema: + type: integer + format: int64 + requestBody: + description: Updated role for the workspace participant. Accepts `owner`, `admin`, `maintain`, `launch`, `connect`, `view`. + content: + application/json: + schema: + $ref: "#/components/schemas/UpdateParticipantRoleRequest" + required: true + responses: + "204": + description: OK - No content + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /orgs/{orgId}/workspaces/{workspaceId}/settings/studios: + get: + tags: + - workspaces + summary: Describe workspace Studios settings + description: Retrieves the Studios configuration settings for the workspace identified by the given `workspaceId`. Studios settings control default values for Studios instances created in this workspace. + operationId: FindDataStudiosWorkspaceSettings + parameters: + - name: orgId + in: path + description: Organization numeric identifier. + required: true + schema: + type: integer + format: int64 + - name: workspaceId + in: path + description: Workspace numeric identifier. + required: true + schema: + type: integer + format: int64 + requestBody: + description: Workspace update request + content: + application/json: + schema: + $ref: "#/components/schemas/UpdateWorkspaceRequest" + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DataStudioWorkspaceSettingsResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + "409": + description: Duplicate element + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + security: + - BearerAuth: [] + put: + tags: + - workspaces + summary: Update workspace Studios settings + description: Updates the Studios settings of the workspace identified by the given `workspaceId`. + operationId: UpdateDataStudiosWorkspaceSettings + parameters: + - name: orgId + in: path + description: Organization numeric identifier + required: true + schema: + type: integer + format: int64 + - name: workspaceId + in: path + description: Workspace numeric identifier + required: true + schema: + type: integer + format: int64 + requestBody: + description: Workspace update request + content: + application/json: + schema: + $ref: "#/components/schemas/UpdateWorkspaceRequest" + required: true + responses: + "204": + description: OK - No content + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + "409": + description: Duplicate element + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "200": + description: UpdateDataStudiosWorkspaceSettings 200 response + content: + application/json: + schema: + type: object + security: + - BearerAuth: [] + /pipeline-secrets: + get: + tags: + - pipeline-secrets + summary: List pipeline secrets + description: Lists all available pipeline secrets in a user context. Append `?workspaceId` to list secrets in a workspace context. + operationId: ListPipelineSecrets + parameters: + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/ListPipelineSecretsResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + post: + tags: + - pipeline-secrets + summary: Create pipeline secret + description: Creates a new pipeline secret in the user context. Append `?workspaceId` to create the secret in a workspace context. + operationId: CreatePipelineSecret + parameters: + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + requestBody: + description: Pipeline secret create request + content: + application/json: + schema: + $ref: "#/components/schemas/CreatePipelineSecretRequest" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/CreatePipelineSecretResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /pipeline-secrets/validate: + get: + tags: + - pipeline-secrets + summary: Validate secret name + description: Confirms the validity of the given pipeline secret name in a user context. Append `?name=`. Append `?workspaceId` to validate the name in a workspace context. + operationId: ValidatePipelineSecretName + parameters: + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + - name: name + in: query + description: Secret name to validate + schema: + type: string + responses: + "204": + description: OK - No content + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + "409": + description: Duplicate element + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + security: + - BearerAuth: [] + /pipeline-secrets/{secretId}: + get: + tags: + - pipeline-secrets + summary: Describe pipeline secret + description: Retrieves the details of the pipeline secret identified by the given `secretId`. + operationId: DescribePipelineSecret + parameters: + - name: secretId + in: path + description: Secret numeric identifier + required: true + schema: + type: integer + format: int64 + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DescribePipelineSecretResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + put: + tags: + - pipeline-secrets + summary: Update secret + description: Updates the pipeline secret identified by the given `secretId`. + operationId: UpdatePipelineSecret + parameters: + - name: secretId + in: path + description: Secret numeric identifier + required: true + schema: + type: integer + format: int64 + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + requestBody: + description: Secret update request + content: + application/json: + schema: + $ref: "#/components/schemas/UpdatePipelineSecretRequest" + required: true + responses: + "204": + description: OK - No content + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + delete: + tags: + - pipeline-secrets + summary: Delete secret + description: Deletes the pipeline secret identified by the given `secretId`. + operationId: DeletePipelineSecret + parameters: + - name: secretId + in: path + description: Secret numeric identifier + required: true + schema: + type: integer + format: int64 + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + responses: + "204": + description: OK - No content + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /pipelines: + get: + tags: + - pipelines + summary: List pipelines + description: "Lists all available pipelines in a user context, enriched by `attributes`. Append `workspaceId` to list pipelines in a workspace context." + operationId: ListPipelines + parameters: + - name: attributes + in: query + description: "Additional attribute values to include in the response (`labels`, `optimized` status, `computeEnv`). Returns an empty value (`labels: null`, etc.) if omitted." + explode: false + schema: + type: array + items: + $ref: "#/components/schemas/PipelineQueryAttribute" + - name: workspaceId + in: query + description: Workspace numeric identifier. + schema: + type: integer + format: int64 + - name: max + in: query + description: 'Maximum number of pipelines to return per request.' + schema: + type: integer + format: int32 + - name: offset + in: query + description: 'Number of results to skip for pagination. Default: `0`.' + schema: + type: integer + format: int32 + - name: search + in: query + description: Free-text search filter to match against pipeline names and descriptions. + schema: + type: string + - name: visibility + in: query + description: 'Filter pipelines by visibility. Accepts `private`, `shared`, or `all`.' + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/ListPipelinesResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + post: + tags: + - pipelines + summary: Create pipeline + description: Creates a new pipeline in a user context. Append `?workspaceId` to create the pipeline in a workspace context. + operationId: CreatePipeline + parameters: + - name: workspaceId + in: query + description: Workspace numeric identifier. If omitted, creates pipeline in a user context. + schema: + type: integer + format: int64 + requestBody: + description: Pipeline creation request + content: + application/json: + schema: + $ref: "#/components/schemas/CreatePipelineRequest" + examples: + BasicPipelineCreation: + summary: "Create a pipeline with nf-core/rnaseq" + description: "Minimal pipeline creation request using nf-core/rnaseq with the `test_full` configuration profile." + value: + name: "rnaseq-pipeline" + description: "Minimal nf-core/rnaseq pipeline configuration with the `test_full` profile." + launch: + pipeline: "https://github.com/nf-core/rnaseq" + computeEnvId: "your-compute-env-id" + revision: "master" + configProfiles: + - "test_full" + labelIds: + - "label_id_1" + - "label_id_2" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/CreatePipelineResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + "409": + description: Duplicate element + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + security: + - BearerAuth: [] + /pipelines/info: + get: + tags: + - pipelines + summary: Describe remote pipeline repository + description: Retrieves the details of a remote Nextflow pipeline Git repository. Append the repository name or full URL with `?name`. + operationId: DescribePipelineRepository + parameters: + - name: name + in: query + description: Pipeline repository name (e.g., `nextflow-io/hello`) or full URL. + schema: + type: string + - name: revision + in: query + description: 'Git revision, branch, or tag to describe. Default: repository default branch.' + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier. If omitted, describes pipeline in a user context. + schema: + type: integer + format: int64 + - name: mainScript + in: query + description: 'Alternative main script filename. Default: `main.nf`.' + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DescribePipelineInfoResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /pipelines/labels/add: + post: + tags: + - labels + summary: Add labels to pipelines + description: Adds the given list of labels to the given pipelines. Existing labels are preserved. + operationId: AddLabelsToPipelines + parameters: + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + requestBody: + description: Labels add request + content: + application/json: + schema: + $ref: "#/components/schemas/AssociatePipelineLabelsRequest" + required: true + responses: + "204": + description: OK - No content + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /pipelines/labels/apply: + post: + tags: + - labels + summary: Replace pipeline labels + description: Applies the given list of labels to the given pipelines. Existing labels are replaced — include labels to be preserved in `labelIds`. + operationId: ApplyLabelsToPipelines + parameters: + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + requestBody: + description: Labels apply request + content: + application/json: + schema: + $ref: "#/components/schemas/AssociatePipelineLabelsRequest" + required: true + responses: + "204": + description: OK - No content + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /pipelines/labels/remove: + post: + tags: + - labels + summary: Remove labels from pipelines + description: Removes the given list of labels from the given pipelines. + operationId: RemoveLabelsFromPipelines + parameters: + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + requestBody: + description: Labels remove request + content: + application/json: + schema: + $ref: "#/components/schemas/AssociatePipelineLabelsRequest" + required: true + responses: + "204": + description: OK - No content + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /pipelines/repositories: + get: + tags: + - pipelines + summary: List user pipeline repositories + description: "Lists known Nextflow pipeline Git repositories, extracted from existing runs. Append `?workspaceId` to list repositories in a workspace context." + operationId: ListPipelineRepositories + parameters: + - name: workspaceId + in: query + description: Workspace numeric identifier. If omitted, lists repositories in a user context. + schema: + type: integer + format: int64 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/ListPipelineInfoResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /pipelines/validate: + get: + tags: + - pipelines + summary: Validate pipeline name + description: Confirms the validity of the given pipeline `name` in a user context. Append `?name=`. Append `?workspaceId` to validate the name in a workspace context. + operationId: ValidatePipelineName + parameters: + - name: workspaceId + in: query + description: Workspace numeric identifier. If omitted, validates pipeline name in a user context. + schema: + type: integer + format: int64 + - name: orgId + in: query + description: Organization numeric identifier. Used for organization-level validation. + schema: + type: integer + format: int64 + - name: name + in: query + description: Pipeline name to validate for uniqueness and format. + schema: + type: string + responses: + "204": + description: OK - No content + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + "409": + description: Duplicate element + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + security: + - BearerAuth: [] + /pipelines/{pipelineId}: + get: + tags: + - pipelines + summary: Describe pipeline + description: "Retrieves the details of the pipeline identified by the given `pipelineId`, enriched by `attributes`." + operationId: DescribePipeline + parameters: + - name: pipelineId + in: path + description: Pipeline numeric identifier. + required: true + schema: + type: integer + format: int64 + - name: attributes + in: query + description: "Additional attribute values to include in the response (`labels`, `optimized` status, `computeEnv`). Returns empty values if omitted." + explode: false + schema: + type: array + items: + $ref: "#/components/schemas/PipelineQueryAttribute" + - name: workspaceId + in: query + description: Workspace numeric identifier. + schema: + type: integer + format: int64 + - name: sourceWorkspaceId + in: query + description: Source workspace numeric identifier. Used when accessing a shared pipeline from another workspace. + required: false + schema: + type: integer + format: int64 + nullable: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DescribePipelineResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + put: + tags: + - pipelines + summary: Update pipeline + description: "Updates the details of the pipeline identified by the given `pipelineId`.\n\n**Note**: If `labelIds` is `null`, empty, or omitted, existing pipeline labels are removed. Include `labelIds: [,]` to override existing labels. Labels to be preserved must be included. To append a list of labels to multiple pipelines, use `/pipelines/labels/add`." + operationId: UpdatePipeline + parameters: + - name: pipelineId + in: path + description: Pipeline numeric identifier. + required: true + schema: + type: integer + format: int64 + - name: workspaceId + in: query + description: Workspace numeric identifier. + schema: + type: integer + format: int64 + requestBody: + description: Pipeline update request + content: + application/json: + schema: + $ref: "#/components/schemas/UpdatePipelineRequest" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/UpdatePipelineResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + "409": + description: Duplicate element + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + security: + - BearerAuth: [] + delete: + tags: + - pipelines + summary: Delete pipeline + description: Deletes the pipeline identified by the given `pipelineId`. + operationId: DeletePipeline + parameters: + - name: pipelineId + in: path + description: Pipeline numeric identifier. + required: true + schema: + type: integer + format: int64 + - name: workspaceId + in: query + description: Workspace numeric identifier. + schema: + type: integer + format: int64 + responses: + "204": + description: OK - No content + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /pipelines/{pipelineId}/launch: + get: + tags: + - pipelines + summary: Describe pipeline launch + description: Retrieves the launch details of the pipeline identified by the given `pipelineId`. + operationId: DescribePipelineLaunch + parameters: + - name: pipelineId + in: path + description: Pipeline numeric identifier. + required: true + schema: + type: integer + format: int64 + - name: workspaceId + in: query + description: Workspace numeric identifier. + schema: + type: integer + format: int64 + - name: sourceWorkspaceId + in: query + description: Source workspace numeric identifier. Used when accessing a shared pipeline from another workspace. + required: false + schema: + type: integer + format: int64 + nullable: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DescribeLaunchResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /pipelines/{pipelineId}/schema: + get: + tags: + - pipelines + summary: Describe pipeline schema + description: "Retrieves the pipeline schema of the pipeline identified by the given `pipelineId`, enriched by `attributes`.\n `200 - OK` responses include the pipeline schema.\n `204 - OK` responses indicate a successful request, with no saved schema found for the given pipeline ID.\n " + operationId: DescribePipelineSchema + parameters: + - name: pipelineId + in: path + description: Pipeline numeric identifier. + required: true + schema: + type: integer + format: int64 + - name: workspaceId + in: query + description: Workspace numeric identifier. + schema: + type: integer + format: int64 + - name: sourceWorkspaceId + in: query + description: Source workspace numeric identifier. Used when accessing a shared pipeline from another workspace. + required: false + schema: + type: integer + format: int64 + nullable: true + - name: attributes + in: query + description: "Attribute values to include in the response. `schema` returns the pipeline schema, `params` returns the pipeline config. Returns all if omitted." + explode: false + schema: + type: array + items: + $ref: "#/components/schemas/PipelineSchemaAttributes" + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/PipelineSchemaResponse" + "204": + description: Request OK - No schema found for given pipeline ID + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /platforms: + get: + tags: + - platforms + summary: List platforms + description: Lists all available computing platforms in a user context. Append `?workspaceId` to list platforms in a workspace context. + operationId: ListPlatforms + parameters: + - name: orgId + in: query + description: Organization numeric identifier + required: false + schema: + type: integer + format: int64 + - name: workspaceId + in: query + description: Workspace numeric identifier + required: false + schema: + type: integer + format: int64 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/ListPlatformsResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /platforms/{platformId}: + get: + tags: + - platforms + summary: Describe platform + description: Retrieves the details of the computing platform identified by the given `platformId`. + operationId: DescribePlatform + parameters: + - name: platformId + in: path + description: Platform string identifier + required: true + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + - name: regionId + in: query + required: true + schema: + type: string + - name: credentialsId + in: query + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DescribePlatformResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /platforms/{platformId}/regions: + get: + tags: + - platforms + summary: List platform regions + description: Lists the available regions for the computing platform identified by the given `platformId`. + operationId: ListPlatformRegions + parameters: + - name: platformId + in: path + description: Platform string identifier + required: true + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/ListRegionsResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /service-info: + get: + tags: + - service-info + summary: Get API version and features + description: General Seqera service features and version. + operationId: Info + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/ServiceInfoResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /studios: + get: + tags: + - studios + summary: List Studios + description: Retrieves a list of Studios in the user context. Append `?workspaceId=` to list Studios in a workspace context. Supports pagination and filtering using the `search` parameter. The search parameter accepts free-text queries matched against Studio name and template URL, as well as keyword filters for `userId` (Studio creator) and `status` (current Studio status). + operationId: ListDataStudios + parameters: + - name: workspaceId + in: query + description: Workspace numeric identifier. When omitted, Studios are listed in the user context. + schema: + type: integer + format: int64 + - name: search + in: query + description: "Free-text search filter to match against Studio `name` and `templateUrl`. Supports keyword filters for `userId` (Studio creator) and `status` (current Studio status)." + schema: + type: string + - name: max + in: query + description: 'Maximum number of results to return. Default: `100`.' + schema: + type: integer + format: int32 + - name: offset + in: query + description: 'Number of results to skip for pagination. Default: `0`.' + schema: + type: integer + format: int32 + - name: attributes + in: query + description: "Optional attribute values to be included in the response. Supports `labels`. Returns an empty value (`labels: null`) if omitted." + schema: + type: array + items: + $ref: "#/components/schemas/DataStudioQueryAttribute" + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DataStudioListResponse" + "400": + description: BadRequest + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: "NotFound, when the workspace is not found or when the API is disabled for the workspace." + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed. + security: + - BearerAuth: [] + post: + tags: + - studios + summary: Create Studio + description: "Creates a new Studio, starting it by default. Default behavior can be changed using the query parameter `autoStart=false`. Append `?workspaceId=` to create the Studio in a workspace context." + operationId: CreateDataStudio + parameters: + - name: workspaceId + in: query + description: Workspace numeric identifier. When omitted, the Studio is created in the user context. + schema: + type: integer + format: int64 + - name: autoStart + in: query + description: 'If true, automatically starts the Studio after creation. Default: `true`.' + schema: + type: boolean + requestBody: + description: Studio creation request specifying compute environment, container template, data-links to mount, resource allocations, and configuration options. + content: + application/json: + schema: + $ref: "#/components/schemas/DataStudioCreateRequest" + required: true + responses: + "201": + description: Created + content: + application/json: + schema: + $ref: "#/components/schemas/DataStudioCreateResponse" + "404": + description: "NotFound, when the workspace or compute environment is not found or when the API is disabled." + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "400": + description: BadRequest + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "409": + description: Conflict - duplicated name + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed. + "200": + description: CreateDataStudio 200 response + content: + application/json: + schema: + $ref: "#/components/schemas/DataStudioCreateResponse" + security: + - BearerAuth: [] + /studios/data-links: + get: + tags: + - studios + summary: List mounted data-links + description: "Lists the IDs of all available data-links mounted in existing Studios. Append `?orgId=` or `?workspaceId=` to list mounted data-links in an organization or workspace context, respectively." + operationId: ListMountedDataLinkIds + parameters: + - name: orgId + in: query + description: Organization numeric identifier. When specified, lists mounted data-links in the organization context. + schema: + type: integer + format: int64 + - name: workspaceId + in: query + description: Workspace numeric identifier. When omitted, mounted data-links are listed in the user context. + schema: + type: integer + format: int64 + - name: status + in: query + description: Studio status filter. Filters mounted data-links by the status of the Studios they are mounted in. + schema: + type: string + - name: exclude + in: query + description: Studio session ID to exclude from the mounted data-links list. + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DataStudioMountedLinksResponse" + "403": + description: Operation not allowed. + security: + - BearerAuth: [] + /studios/templates: + get: + tags: + - studios + summary: List Studio container templates + description: "Retrieves a list of available Studio container image templates. Append `?workspaceId=` to list templates in a workspace context." + operationId: ListDataStudioTemplates + parameters: + - name: workspaceId + in: query + description: Workspace numeric identifier. When omitted, templates are listed in the user context. + schema: + type: integer + format: int64 + - name: max + in: query + description: 'Maximum number of results to return. Default: `100`.' + schema: + type: integer + format: int32 + - name: offset + in: query + description: 'Number of results to skip for pagination. Default: `0`.' + schema: + type: integer + format: int32 + responses: + "200": + description: Ok - paginated list of available Studio templates. + content: + application/json: + schema: + $ref: "#/components/schemas/DataStudioTemplatesListResponse" + "400": + description: BadRequest + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: "NotFound, when the API is disabled for the workspace." + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed. + security: + - BearerAuth: [] + /studios/validate: + get: + tags: + - studios + summary: Validate Studio name + description: Confirms the availability of the given name for a Studio in the user context. Append `?workspaceId=` to validate the name in a workspace context. + operationId: ValidateDataStudioName + parameters: + - name: workspaceId + in: query + description: Workspace numeric identifier. When omitted, the name is validated in the user context. + schema: + type: integer + format: int64 + - name: name + in: query + description: Studio name to validate for availability. + schema: + type: string + responses: + "204": + description: "Ok - No content, if the name is valid and available." + "400": + description: "Bad request, if the name is not valid." + "409": + description: "Conflict, name duplicated in the given context." + "403": + description: Operation not allowed. + security: + - BearerAuth: [] + /studios/{sessionId}: + get: + tags: + - studios + summary: Describe Studio + description: Retrieves the details of the Studio associated with the given Studio session ID. Append `?workspaceId=` to describe a Studio in a workspace context. + operationId: DescribeDataStudio + parameters: + - name: sessionId + in: path + description: Studio session string identifier. + required: true + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier. When omitted, the Studio is described in the user context. + schema: + type: integer + format: int64 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DataStudioDto" + "202": + description: "Accepted, when the Studio is fetching mounted data links in the background." + content: + application/json: + schema: + $ref: "#/components/schemas/DataStudioDto" + "404": + description: "NotFound, when the Studio is not found or when the API is disabled for the workspace." + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed. + security: + - BearerAuth: [] + delete: + tags: + - studios + summary: Delete Studio + description: Deletes the Studio associated with the given Studio session ID. Append `?workspaceId=` to delete a Studio in a workspace context. + operationId: DeleteDataStudio + parameters: + - name: sessionId + in: path + description: Studio session string identifier. + required: true + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier. When omitted, the Studio is deleted in the user context. + schema: + type: integer + format: int64 + responses: + "204": + description: OK - No content + "404": + description: "NotFound, when the Studio is not found or when the API is disabled for the workspace." + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed. + security: + - BearerAuth: [] + /studios/{sessionId}/checkpoints: + get: + tags: + - studios + summary: List Studio checkpoints + description: "Retrieves the list of checkpoints for the given Studio session ID, sorted by creation date in descending order. Append `?workspaceId=` to list checkpoints in a workspace context. Supports pagination and filtering using the `search` parameter." + operationId: ListDataStudioCheckpoints + parameters: + - name: sessionId + in: path + description: Studio session string identifier. + required: true + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier. When omitted, checkpoints are listed in the user context. + schema: + type: integer + format: int64 + - name: search + in: query + description: "Free-text search filter to match against checkpoint `name`. Supports keyword filters for `status`, `before`, and `after` (checkpoint saved date)." + schema: + type: string + - name: max + in: query + description: 'Maximum number of results to return. Default: `50`.' + schema: + type: integer + format: int32 + - name: offset + in: query + description: 'Number of results to skip for pagination. Default: `0`.' + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DataStudioListCheckpointsResponse" + "400": + description: BadRequest + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: "NotFound, when the Studio is not found or when the API is disabled for the workspace." + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed. + security: + - BearerAuth: [] + /studios/{sessionId}/checkpoints/{checkpointId}: + get: + tags: + - studios + summary: Get Studio checkpoint + description: Retrieves the details of the given Studio checkpoint ID. Append `?workspaceId=` to get a checkpoint in a workspace context. + operationId: GetDataStudioCheckpoint + parameters: + - name: sessionId + in: path + description: Studio session string identifier. + required: true + schema: + type: string + - name: checkpointId + in: path + description: Checkpoint numeric identifier. + required: true + schema: + type: integer + format: int64 + - name: workspaceId + in: query + description: Workspace numeric identifier. When omitted, the checkpoint is retrieved in the user context. + schema: + type: integer + format: int64 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DataStudioCheckpointDto" + "400": + description: BadRequest + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: "NotFound, when the studio or the checkpoint is not found or when the API is disabled for the workspace" + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed. + security: + - BearerAuth: [] + put: + tags: + - studios + summary: Update Studio checkpoint name + description: Updates the name of the given Studio checkpoint ID. Append `?workspaceId=` to update a checkpoint in a workspace context. + operationId: UpdateDataStudioCheckpoint + parameters: + - name: sessionId + in: path + description: Studio session string identifier. + required: true + schema: + type: string + - name: checkpointId + in: path + description: Checkpoint numeric identifier. + required: true + schema: + type: integer + format: int64 + - name: workspaceId + in: query + description: Workspace numeric identifier. When omitted, the checkpoint is updated in the user context. + schema: + type: integer + format: int64 + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/DataStudioCheckpointUpdateRequest" + required: true + description: "Checkpoint update request for modifying the checkpoint name." + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DataStudioCheckpointDto" + "400": + description: BadRequest + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: "NotFound, when the studio or the checkpoint is not found or when the API is disabled for the workspace" + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "409": + description: "Conflict, when the checkpoint name conflicts with an existing checkpoint for the same Studio." + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed. + security: + - BearerAuth: [] + /studios/{sessionId}/lifespan: + post: + tags: + - studios + description: Extends the lifespan of the given Studio session ID. Append `?workspaceId=` to extend the lifespan of a Studio in a workspace context. + operationId: ExtendDataStudioLifespan + parameters: + - name: sessionId + in: path + description: Studio session string identifier. + required: true + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier. When omitted, the lifespan is extended in the user context. + schema: + type: integer + format: int64 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DataStudioDto" + "400": + description: BadRequest + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: "NotFound, when the Studio is not found or when the API is disabled for the workspace." + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed. + security: + - BearerAuth: [] + /studios/{sessionId}/start: + put: + tags: + - studios + summary: Start Studio + description: Starts the given Studio session ID. Append `?workspaceId=` to start a Studio in a workspace context. + operationId: StartDataStudio + parameters: + - name: sessionId + in: path + description: Studio session string identifier. + required: true + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier. When omitted, the Studio is started in the user context. + schema: + type: integer + format: int64 + requestBody: + description: Studio start request containing optional configuration overrides for resource allocations and labels when starting the session. + content: + application/json: + schema: + $ref: "#/components/schemas/DataStudioStartRequest" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DataStudioStartResponse" + "404": + description: "NotFound, when the Studio is not found or when the API is disabled for the workspace." + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed. + security: + - BearerAuth: [] + /studios/{sessionId}/stop: + put: + tags: + - studios + summary: Stop Studio + description: Stops the given Studio session ID. Append `?workspaceId=` to stop a Studio in a workspace context. + operationId: StopDataStudio + parameters: + - name: sessionId + in: path + description: Studio session string identifier. + required: true + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier. When omitted, the Studio is stopped in the user context. + schema: + type: integer + format: int64 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DataStudioStopResponse" + "404": + description: "NotFound, when the Studio is not found or when the API is disabled for the workspace." + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed. + security: + - BearerAuth: [] + /tokens: + get: + tags: + - tokens + summary: List tokens + description: Retrieves the list of all available API access tokens. + operationId: TokenList + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/ListAccessTokensResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + post: + tags: + - tokens + summary: Create token + description: Creates an API access token with the details in the given request body. + operationId: CreateToken + requestBody: + description: Access token create request + content: + application/json: + schema: + $ref: "#/components/schemas/CreateAccessTokenRequest" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/CreateAccessTokenResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + "409": + description: Duplicated element + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + security: + - BearerAuth: [] + /tokens/delete-all: + delete: + tags: + - tokens + summary: Delete all user tokens + description: Deletes all API access tokens in the user context. + operationId: DeleteAllTokens + responses: + "204": + description: OK - No content + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /tokens/{tokenId}: + delete: + tags: + - tokens + summary: Delete token + description: Deletes the given API access token ID. + operationId: DeleteToken + parameters: + - name: tokenId + in: path + description: Token numeric identifier + required: true + schema: + type: integer + format: int64 + responses: + "204": + description: OK - No content + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /trace/create: + post: + tags: + - trace + summary: Create workflow execution trace + description: Creates a new workflow execution trace. + operationId: CreateTrace + parameters: + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + requestBody: + description: Trace create request + content: + application/json: + schema: + $ref: "#/components/schemas/TraceCreateRequest" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/TraceCreateResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /trace/{workflowId}/begin: + put: + tags: + - trace + summary: Signal workflow execution start + description: Updates the workflow execution trace for the given `workflowId`. + operationId: UpdateTraceBegin + parameters: + - name: workflowId + in: path + description: Workflow string identifier + required: true + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + requestBody: + description: Trace begin request + content: + application/json: + schema: + $ref: "#/components/schemas/TraceBeginRequest" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/TraceBeginResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /trace/{workflowId}/complete: + put: + tags: + - trace + summary: Signal workflow execution completion + description: Updates the workflow execution trace for the given `workflowId`. + operationId: UpdateTraceComplete + parameters: + - name: workflowId + in: path + description: Workflow string identifier + required: true + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + requestBody: + description: Trace complete request + content: + application/json: + schema: + $ref: "#/components/schemas/TraceCompleteRequest" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/TraceCompleteResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /trace/{workflowId}/heartbeat: + put: + tags: + - trace + summary: Signal workflow execution heartbeat + description: Update the workflow execution trace heartbeat for the given `workflowId` to signal that execution is ongoing. + operationId: UpdateTraceHeartbeat + parameters: + - name: workflowId + in: path + description: Workflow string identifier + required: true + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + requestBody: + description: Trace heartbeat request + content: + application/json: + schema: + $ref: "#/components/schemas/TraceHeartbeatRequest" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/TraceHeartbeatResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /trace/{workflowId}/progress: + put: + tags: + - trace + summary: Store workflow task execution metadata + description: Store the execution metadata for one or more tasks in the given `workflowId`. + operationId: UpdateTraceProgress + parameters: + - name: workflowId + in: path + description: Workflow string identifier + required: true + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + requestBody: + description: Trace progress request + content: + application/json: + schema: + $ref: "#/components/schemas/TraceProgressRequest" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/TraceProgressResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /user-info: + get: + tags: + - users + summary: Describe current user + operationId: UserInfo + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DescribeUserResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /user/{userId}/workspaces: + get: + tags: + - workspaces + summary: List user workspaces + description: Lists all workspaces and organizations to which the user identified by the given `userId` belongs. This includes both workspaces where the user is a participant and organizations where the user is a member. + operationId: ListWorkspacesUser + parameters: + - name: userId + in: path + description: User numeric identifier. + required: true + schema: + type: integer + format: int64 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/ListWorkspacesAndOrgResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /users/validate: + get: + tags: + - users + summary: Check that the user name is valid + operationId: ValidateUserName + parameters: + - name: name + in: query + description: User name to validate + schema: + type: string + responses: + "204": + description: OK - No content + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + "409": + description: Duplicated element + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + security: + - BearerAuth: [] + /users/{userId}: + get: + tags: + - users + summary: Describe a user entity + operationId: DescribeUser + parameters: + - name: userId + in: path + description: User numeric identifier + required: true + schema: + type: integer + format: int64 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DescribeUserResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + deprecated: true + security: + - BearerAuth: [] + post: + tags: + - users + summary: Update an user entity + operationId: UpdateUser + parameters: + - name: userId + in: path + description: User numeric identifier + required: true + schema: + type: integer + format: int64 + requestBody: + description: User update request + content: + application/json: + schema: + $ref: "#/components/schemas/UpsertUserRequest" + required: true + responses: + "204": + description: OK - No content + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + delete: + tags: + - users + summary: Delete a user entity + operationId: DeleteUser + parameters: + - name: userId + in: path + description: User numeric identifier + required: true + schema: + type: integer + format: int64 + responses: + "204": + description: OK - No content + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /workflow: + get: + tags: + - workflows + summary: List workflows + description: "Lists all workflow records, enriched with `attributes`. Append `?workspaceId` to list workflow records in a workspace context." + operationId: ListWorkflows + parameters: + - name: attributes + in: query + description: "Additional attribute values to include in the response (`labels`, `optimized` status). Returns an empty value (`labels: null`) if omitted." + explode: false + schema: + type: array + items: + $ref: "#/components/schemas/WorkflowQueryAttribute" + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + - name: max + in: query + description: Pagination max results + schema: + type: integer + format: int32 + - name: offset + in: query + description: Pagination offset + schema: + type: integer + format: int32 + - name: search + in: query + description: Filter search parameter + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/ListWorkflowsResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /workflow/delete: + post: + tags: + - workflows + summary: Delete workflows + description: Deletes the workflow records identified by the given list of `workflowIds`. + operationId: DeleteWorkflowMany + parameters: + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + - name: force + in: query + description: Force the deletion even if any workflows are active + schema: + type: boolean + requestBody: + description: Delete workflows request + content: + application/json: + schema: + $ref: "#/components/schemas/DeleteWorkflowsRequest" + required: true + responses: + "200": + description: "OK - Return the IDs of workflows that could not be deleted, if any" + content: + application/json: + schema: + $ref: "#/components/schemas/DeleteWorkflowsResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /workflow/labels/add: + post: + tags: + - labels + summary: Add labels to workflows + description: Adds the given list of labels to the given workflows. Existing labels are preserved. + operationId: AddLabelsToWorkflows + parameters: + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + requestBody: + description: Labels add request + content: + application/json: + schema: + $ref: "#/components/schemas/AssociateWorkflowLabelsRequest" + required: true + responses: + "204": + description: OK - No content + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /workflow/labels/apply: + post: + tags: + - labels + summary: Replace workflow labels + description: Applies the given list of labels to the given workflows. Existing labels are replaced — include labels to be preserved in `labelIds`. + operationId: ApplyLabelsToWorkflows + parameters: + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + requestBody: + description: Labels apply request + content: + application/json: + schema: + $ref: "#/components/schemas/AssociateWorkflowLabelsRequest" + required: true + responses: + "204": + description: OK - No content + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /workflow/labels/remove: + post: + tags: + - labels + summary: Remove labels from workflows + description: Removes the given list of labels from the given workflows. + operationId: RemoveLabelsFromWorkflows + parameters: + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + requestBody: + description: Labels remove request + content: + application/json: + schema: + $ref: "#/components/schemas/AssociateWorkflowLabelsRequest" + required: true + responses: + "204": + description: OK - No content + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /workflow/launch: + post: + tags: + - workflows + summary: Launch workflow + description: Submits a workflow execution. + operationId: CreateWorkflowLaunch + parameters: + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + - name: sourceWorkspaceId + in: query + description: Source workspace numeric identifier + required: false + schema: + type: integer + format: int64 + nullable: true + requestBody: + description: Workflow launch request + content: + application/json: + schema: + $ref: "#/components/schemas/SubmitWorkflowLaunchRequest" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/SubmitWorkflowLaunchResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /workflow/random-name: + get: + tags: + - workflows + summary: Generates a random name + operationId: GenerateRandomWorkflowName + responses: + "200": + description: Generated name + content: + application/json: + schema: + $ref: "#/components/schemas/RandomWorkflowNameResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /workflow/validate: + get: + tags: + - workflows + summary: Validate run name + description: "Check that the given run name of a workflow has a valid format. When the session ID is given: check that no other workflow in the system exists with the combination of both elements." + operationId: ValidateWorkflowConstraints + parameters: + - name: runName + in: query + description: Workflow run name to validate + schema: + type: string + - name: sessionId + in: query + description: Workflow session ID to validate + schema: + type: string + responses: + "204": + description: OK - No content + "400": + description: Bad request. Invalid run name format + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "409": + description: Duplicated element. Existing run name and session ID combination + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /workflow/{workflowId}: + get: + tags: + - workflows + summary: Describe workflow + description: Retrieves the details of the workflow record associated with the given `workflowId`. + operationId: DescribeWorkflow + parameters: + - name: workflowId + in: path + description: Workflow string identifier + required: true + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + - name: attributes + in: query + description: Comma-separated list of attributes to retrieve. Returns an empty value for each attribute not specified. + explode: false + schema: + type: array + items: + $ref: "#/components/schemas/WorkflowQueryAttribute" + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DescribeWorkflowResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + delete: + tags: + - workflows + summary: Delete the Workflow entity with the given ID + operationId: DeleteWorkflow + parameters: + - name: workflowId + in: path + description: Workflow string identifier + required: true + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + - name: force + in: query + description: Force the deletion even if the workflow is active + schema: + type: boolean + responses: + "204": + description: OK - Not content + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /workflow/{workflowId}/cancel: + post: + tags: + - workflows + summary: Cancel workflow + description: Cancels the workflow execution identified by the given `workflowId`. + operationId: CancelWorkflow + parameters: + - name: workflowId + in: path + description: Workflow string identifier + required: true + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + - name: force + in: query + description: Cancel on the Platform side even if it cannot be cancelled on the CE provider side + schema: + type: boolean + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/EmptyBodyRequest" + responses: + "204": + description: OK - No content + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /workflow/{workflowId}/download: + get: + tags: + - workflows + summary: Download workflow files + description: Downloads the workflow files for the Nextflow main job associated with the given `workflowId`. + operationId: DownloadWorkflowLog + parameters: + - name: workflowId + in: path + description: Workflow string identifier + required: true + schema: + type: string + - name: fileName + in: query + description: Filename to download + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + responses: + "200": + description: OK + content: + application/json: + schema: + type: string + format: binary + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /workflow/{workflowId}/download/{taskId}: + get: + tags: + - workflows + summary: Download workflow task files + description: Downloads the workflow files of the task identified by the given `taskId`. + operationId: DownloadWorkflowTaskLog + parameters: + - name: workflowId + in: path + description: Workflow string identifier + required: true + schema: + type: string + - name: taskId + in: path + description: Task numeric identifier + required: true + schema: + type: integer + format: int64 + - name: fileName + in: query + description: Filename to download + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + responses: + "200": + description: OK + content: + application/json: + schema: + type: string + format: binary + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /workflow/{workflowId}/launch: + get: + tags: + - workflows + summary: Describe workflow launch + description: Retrieves the details of the workflow launch associated with the given `workflowId`. + operationId: DescribeWorkflowLaunch + parameters: + - name: workflowId + in: path + description: Workflow string identifier + required: true + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DescribeWorkflowLaunchResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + "409": + description: Duplicate element. Existing run name and session ID combination + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + security: + - BearerAuth: [] + /workflow/{workflowId}/log: + get: + tags: + - workflows + summary: Get workflow log + description: Retrieves the execution log output of the workflow identified by the given `workflowId`. + operationId: GetWorkflowLog + parameters: + - name: workflowId + in: path + description: Workflow string identifier + required: true + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + - name: next + in: query + description: Workflow log cursor + schema: + type: string + - name: maxLength + in: query + description: Maximum length in bytes of the log to retrieve + schema: + type: integer + format: int64 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/WorkflowLogResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /workflow/{workflowId}/log/{taskId}: + get: + tags: + - workflows + summary: Get workflow task logs + description: Retrieves the output logs for the workflow task identified by the given `taskId`. + operationId: GetWorkflowTaskLog + parameters: + - name: workflowId + in: path + description: Workflow string identifier + required: true + schema: + type: string + - name: taskId + in: path + description: Task numeric identifier + required: true + schema: + type: integer + format: int64 + - name: next + in: query + description: Workflow log cursor + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + - name: maxLength + in: query + description: Maximum length in bytes of the log to retrieve + schema: + type: integer + format: int64 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/WorkflowLogResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /workflow/{workflowId}/metrics: + get: + tags: + - workflows + summary: Get the execution metrics for the given Workflow ID + operationId: DescribeWorkflowMetrics + parameters: + - name: workflowId + in: path + description: Workflow string identifier + required: true + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/GetWorkflowMetricsResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /workflow/{workflowId}/progress: + get: + tags: + - workflows + summary: Retrieve the execution progress for the given Workflow ID + operationId: DescribeWorkflowProgress + parameters: + - name: workflowId + in: path + description: Workflow string identifier + required: true + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/GetProgressResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /workflow/{workflowId}/star: + get: + tags: + - workflows + summary: Check workflow star status + description: Confirms whether the given `workflowId` is starred. + operationId: DescribeWorkflowStar + parameters: + - name: workflowId + in: path + description: Workflow string identifier + required: true + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/CreateWorkflowStarResponse" + "403": + description: Operation not allowed + "404": + description: Not found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + post: + tags: + - workflows + summary: Star workflow + description: Adds the workflow identified by the given `workflowId` to your list of starred workflows. + operationId: CreateWorkflowStar + parameters: + - name: workflowId + in: path + description: Workflow string identifier + required: true + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/CreateWorkflowStarResponse" + "403": + description: Operation not allowed + "404": + description: Not found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "409": + description: Duplicated element + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + delete: + tags: + - workflows + summary: Unstar workflow + description: Removes the workflow identified by the given `workflowId` from your list of starred workflows. + operationId: DeleteWorkflowStar + parameters: + - name: workflowId + in: path + description: Workflow string identifier + required: true + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/CreateWorkflowStarResponse" + "403": + description: Operation not allowed + "404": + description: Not found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /workflow/{workflowId}/task/{taskId}: + get: + tags: + - workflows + summary: Describe a task entity with the given ID + operationId: DescribeWorkflowTask + parameters: + - name: workflowId + in: path + description: Workflow string identifier + required: true + schema: + type: string + - name: taskId + in: path + description: Task numeric identifier + required: true + schema: + type: integer + format: int64 + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DescribeTaskResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /workflow/{workflowId}/tasks: + get: + tags: + - workflows + summary: List the tasks for the given Workflow ID and filter parameters + operationId: ListWorkflowTasks + parameters: + - name: workflowId + in: path + description: Workflow string identifier + required: true + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier + schema: + type: integer + format: int64 + - name: max + in: query + description: Pagination max results + schema: + type: integer + format: int32 + - name: offset + in: query + description: Pagination offset + schema: + type: integer + format: int32 + - name: sortBy + in: query + description: Field to sort by + schema: + type: string + - name: sortDir + in: query + description: Sorting direction (asc|desc) + schema: + type: string + - name: search + in: query + description: Search tasks by name + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/ListTasksResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] + /workspaces/{workspaceId}/datasets: + get: + tags: + - datasets + summary: (Deprecated) List available datasets + description: |- + **This endpoint is deprecated. See [List datasets](https://docs.seqera.io/platform-api/list-datasets-v-2) for the current endpoint.** + + Lists all available datasets in the workspace context identified by the given `workspaceId`. + operationId: ListDatasets + parameters: + - name: workspaceId + in: path + description: Workspace numeric identifier + required: true + schema: + type: integer + format: int64 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/ListDatasetsResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + deprecated: true + security: + - BearerAuth: [] + post: + tags: + - datasets + summary: (Deprecated) Create dataset + description: |- + **This endpoint is deprecated. See [Create dataset](https://docs.seqera.io/platform-api/create-dataset-v-2) for the current endpoint.** + + Creates a new dataset in the given workspace context. Include the dataset file and details in your request body. + operationId: CreateDataset + parameters: + - name: workspaceId + in: path + description: Workspace numeric identifier + required: true + schema: + type: integer + format: int64 + requestBody: + description: Dataset create request + content: + application/json: + schema: + $ref: "#/components/schemas/CreateDatasetRequest" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/CreateDatasetResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + "409": + description: Duplicate element + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + deprecated: true + security: + - BearerAuth: [] + /workspaces/{workspaceId}/datasets/versions: + get: + tags: + - datasets + summary: (Deprecated) List latest dataset versions + description: |- + **This endpoint is deprecated. See [List latest dataset versions](https://docs.seqera.io/platform-api/list-latest-dataset-versions-v-2) for the current endpoint.** + + Lists the latest version of each dataset associated with the given `workspaceId`. + operationId: ListWorkspaceDatasetVersions + parameters: + - name: workspaceId + in: path + description: Workspace numeric identifier + required: true + schema: + type: integer + format: int64 + - name: mimeType + in: query + schema: + type: string + nullable: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/ListDatasetVersionsResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + deprecated: true + security: + - BearerAuth: [] + /workspaces/{workspaceId}/datasets/{datasetId}: + put: + tags: + - datasets + summary: (Deprecated) Update dataset + description: |- + **This endpoint is deprecated. See [Update dataset](https://docs.seqera.io/platform-api/update-dataset-v-2) for the current endpoint.** + + Updates the details of the dataset identified by the given `datasetId`. + operationId: UpdateDataset + parameters: + - name: workspaceId + in: path + description: Workspace numeric identifier + required: true + schema: + type: integer + format: int64 + - name: datasetId + in: path + description: Dataset string identifier + required: true + schema: + type: string + requestBody: + description: Dataset update request + content: + application/json: + schema: + $ref: "#/components/schemas/UpdateDatasetRequest" + required: true + responses: + "204": + description: OK - No content + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + "409": + description: Duplicate element + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + deprecated: true + security: + - BearerAuth: [] + delete: + tags: + - datasets + summary: (Deprecated) Delete dataset + description: |- + **This endpoint is deprecated. See [Delete dataset](https://docs.seqera.io/platform-api/delete-dataset-v-2) for the current endpoint.** + + Deletes the dataset identified by the given `datasetId`. + operationId: DeleteDataset + parameters: + - name: workspaceId + in: path + description: Workspace numeric identifier + required: true + schema: + type: integer + format: int64 + - name: datasetId + in: path + description: Dataset string identifier + required: true + schema: + type: string + responses: + "204": + description: OK - No content + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + deprecated: true + security: + - BearerAuth: [] + /workspaces/{workspaceId}/datasets/{datasetId}/metadata: + get: + tags: + - datasets + summary: (Deprecated) Describe dataset + description: |- + **This endpoint is deprecated. See [Describe dataset](https://docs.seqera.io/platform-api/describe-dataset-v-2) for the current endpoint.** + + Retrieves the metadata of the dataset identified by the given `datasetId`. + operationId: DescribeDataset + parameters: + - name: workspaceId + in: path + description: Workspace numeric identifier + required: true + schema: + type: integer + format: int64 + - name: datasetId + in: path + description: Dataset string identifier + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/DescribeDatasetResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + deprecated: true + security: + - BearerAuth: [] + /workspaces/{workspaceId}/datasets/{datasetId}/upload: + post: + tags: + - datasets + summary: (Deprecated) Upload new dataset version + description: |- + **This endpoint is deprecated. See [Upload new dataset version](https://docs.seqera.io/platform-api/upload-dataset-v-2) for the current endpoint.** + + Uploads the CSV or TSV content to create a new version of the dataset identified by the given `datasetId`. + operationId: UploadDataset + parameters: + - name: workspaceId + in: path + description: Workspace numeric identifier + required: true + schema: + type: integer + format: int64 + - name: datasetId + in: path + description: Dataset string identifier + required: true + schema: + type: string + - name: header + in: query + description: Uploaded file has header + schema: + type: boolean + requestBody: + description: Dataset file request + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/MultiRequestFileSchema" + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/UploadDatasetVersionResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + deprecated: true + security: + - BearerAuth: [] + /workspaces/{workspaceId}/datasets/{datasetId}/v/{version}/n/{fileName}: + get: + tags: + - datasets + summary: Download dataset content + description: Downloads the content of the dataset identified by the given `datasetId` and `version`. + operationId: DownloadDataset + parameters: + - name: workspaceId + in: path + description: Workspace numeric identifier + required: true + schema: + type: integer + format: int64 + - name: datasetId + in: path + description: Dataset string identifier + required: true + schema: + type: string + - name: version + in: path + description: Version number to download + required: true + schema: + type: string + - name: fileName + in: path + description: File name for the downloaded dataset content + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: string + format: binary + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + "404": + description: Not found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + security: + - BearerAuth: [] + /workspaces/{workspaceId}/datasets/{datasetId}/versions: + get: + tags: + - datasets + summary: (Deprecated) List all dataset versions + description: |- + **This endpoint is deprecated. See [List all dataset versions](https://docs.seqera.io/platform-api/list-dataset-versions-v-2) for the current endpoint.** + + Lists all versions of the given `datasetId`. + operationId: ListDatasetVersions + parameters: + - name: workspaceId + in: path + description: Workspace numeric identifier + required: true + schema: + type: integer + format: int64 + - name: datasetId + in: path + description: Dataset string identifier + required: true + schema: + type: string + - name: mimeType + in: query + description: MIME type filter + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/ListDatasetVersionsResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + deprecated: true + security: + - BearerAuth: [] + /data-links/{dataLinkId}/download/{filePath}: + get: + tags: + - data-links + summary: Download data-link file at path + description: Downloads the content at the given `filePath` in the data-link associated with the given `dataLinkId`. + operationId: DownloadDataLink + parameters: + - name: dataLinkId + in: path + description: Data-link string identifier. + required: true + schema: + type: string + - name: filePath + in: path + description: File path to download. + required: true + schema: + type: string + - name: credentialsId + in: query + description: Credentials string identifier. + schema: + type: string + - name: workspaceId + in: query + description: Workspace numeric identifier. + schema: + type: integer + format: int64 + responses: + "200": + description: OK + content: + application/json: + schema: + type: string + format: binary + "400": + description: BadRequest + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: "NotFound — workspace or credentials not found, API disabled for the workspace, or data-link or path not found." + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: Operation not allowed + security: + - BearerAuth: [] +components: + schemas: + AbstractGridConfig: + type: object + properties: + workDir: + type: string + description: Nextflow work directory on the cluster's shared file system. Must be an absolute path and credentials must have read-write access. + preRunScript: + type: string + description: "Add a script that executes in the nf-launch script prior to invoking Nextflow processes. See [Pre and post-run scripts](https://docs.seqera.io/platform-cloud/launch/advanced#pre-and-post-run-scripts)." + postRunScript: + type: string + description: "Add a script that executes after all Nextflow processes have completed. See [Pre and post-run scripts](https://docs.seqera.io/platform-cloud/launch/advanced#pre-and-post-run-scripts)." + nextflowConfig: + type: string + description: "Additional Nextflow configuration to apply. See [Nextflow config file](https://docs.seqera.io/platform-cloud/launch/advanced#nextflow-config-file)." + launchDir: + type: string + description: "Directory where Nextflow runs. Must be an absolute path and credentials must have read-write access. If omitted, defaults to `workDir`." + userName: + type: string + description: "Username for SSH connection to HPC head node." + hostName: + type: string + description: "Hostname or IP address of HPC head node." + port: + type: integer + format: int32 + description: "SSH port. Default: `22`." + headQueue: + type: string + description: "The name of the queue on the cluster used to launch the Nextflow execution." + computeQueue: + type: string + description: "The name of queue on the cluster to which pipeline jobs are submitted. Can be overridden by the pipeline configuration." + maxQueueSize: + type: integer + format: int32 + description: "The maximum number of jobs Nextflow can submit to the queue simultaneously. Default: `100`." + headJobOptions: + type: string + description: "Additional submit options for the Nextflow head job." + propagateHeadJobOptions: + type: boolean + description: "If true, `headJobOptions` are also applied to the Nextflow-submitted compute jobs." + environment: + type: array + items: + $ref: "#/components/schemas/ConfigEnvVariable" + description: "Array of environment variables to set for Nextflow execution." + discriminator: + type: string + description: "Platform type discriminator (read-only, set based on platform selection)." + AccessToken: + required: + - name + type: object + properties: + basicAuth: + type: string + deprecated: true + id: + type: integer + format: int64 + nullable: true + name: + maxLength: 50 + minLength: 1 + type: string + lastUsed: + type: string + format: date-time + dateCreated: + type: string + format: date-time + Action.ConfigType: + type: object + properties: + discriminator: + type: string + discriminator: + propertyName: discriminator + mapping: + github: "#/components/schemas/GithubActionConfig" + tower: "#/components/schemas/Action.TowerActionConfig" + oneOf: + - $ref: "#/components/schemas/Action.TowerActionConfig" + - $ref: "#/components/schemas/GithubActionConfig" + Action.EventType: + type: object + properties: + discriminator: + type: string + timestamp: + type: string + format: date-time + discriminator: + propertyName: discriminator + mapping: + github: "#/components/schemas/GithubActionEvent" + tower: "#/components/schemas/Action.TowerActionEvent" + oneOf: + - $ref: "#/components/schemas/GithubActionEvent" + - $ref: "#/components/schemas/Action.TowerActionEvent" + Action.Source: + type: string + enum: + - github + - tower + x-enum-varnames: + - github + - tower + Action.Status: + type: string + enum: + - CREATING + - ACTIVE + - ERROR + - PAUSED + Action.TowerActionConfig: + type: object + properties: + discriminator: + type: string + readOnly: true + title: Action Config + Action.TowerActionEvent: + type: object + properties: + discriminator: + type: string + readOnly: true + timestamp: + type: string + format: date-time + workflowId: + type: string + title: Action event + ActionQueryAttribute: + type: string + enum: + - labels + x-enum-varnames: + - labels + ActionResponseDto: + type: object + properties: + id: + type: string + launch: + $ref: "#/components/schemas/Launch" + name: + type: string + hookId: + type: string + hookUrl: + type: string + message: + type: string + source: + $ref: "#/components/schemas/Action.Source" + status: + $ref: "#/components/schemas/Action.Status" + config: + $ref: "#/components/schemas/Action.ConfigType" + event: + $ref: "#/components/schemas/Action.EventType" + lastSeen: + type: string + format: date-time + dateCreated: + type: string + format: date-time + lastUpdated: + type: string + format: date-time + labels: + type: array + items: + $ref: "#/components/schemas/LabelDbDto" + ActiveConnection: + required: + - lastActive + type: object + allOf: + - $ref: "#/components/schemas/UserInfo" + - properties: + lastActive: + type: string + format: date-time + AddMemberRequest: + type: object + properties: + user: + type: string + description: "Username or email address of the user to add as an organization member." + AddMemberResponse: + type: object + properties: + member: + $ref: "#/components/schemas/MemberDbDto" + description: "Details of the newly added organization member." + AddParticipantRequest: + type: object + properties: + memberId: + type: integer + format: int64 + description: "Organization member numeric identifier to add as a workspace participant. Provide either `memberId` or `teamId`." + teamId: + type: integer + format: int64 + description: "Team numeric identifier to add as a workspace participant. Provide either `memberId` or `teamId`." + userNameOrEmail: + type: string + description: "Username or email address of the user to add as a workspace participant. Alternative to providing `memberId`." + AddParticipantResponse: + type: object + properties: + participant: + $ref: "#/components/schemas/ParticipantResponseDto" + description: "Details of the newly added workspace participant." + AddTeamMemberResponse: + type: object + properties: + member: + $ref: "#/components/schemas/MemberDbDto" + description: "Details of the organization member added to the team." + AgentSecurityKeys: + type: object + properties: + discriminator: + type: string + readOnly: true + connectionId: + type: string + workDir: + type: string + shared: + type: boolean + title: Tower Agent credentials + AllowedDynamicLabelsResponse: + type: object + properties: + values: + type: array + items: + type: string + AltairPbsComputeConfig: + title: Altair PBS configuration + type: object + properties: + workDir: + type: string + description: "Nextflow work directory on the cluster's shared file system. Must be an absolute path and credentials must have read-write access." + preRunScript: + type: string + description: "Add a script that executes in the nf-launch script prior to invoking Nextflow processes. See [Pre and post-run scripts](https://docs.seqera.io/platform-cloud/launch/advanced#pre-and-post-run-scripts)." + postRunScript: + type: string + description: "Add a script that executes after all Nextflow processes have completed. See [Pre and post-run scripts](https://docs.seqera.io/platform-cloud/launch/advanced#pre-and-post-run-scripts)." + environment: + type: array + items: + $ref: "#/components/schemas/ConfigEnvVariable" + description: "Array of environment variables to set for Nextflow execution." + nextflowConfig: + type: string + description: "Additional Nextflow configuration to apply. See [Nextflow config file](https://docs.seqera.io/platform-cloud/launch/advanced#nextflow-config-file)." + discriminator: + type: string + description: "Platform type discriminator (read-only, set based on platform selection)." + launchDir: + type: string + description: "Directory where Nextflow runs. Must be an absolute path and credentials must have read-write access. If omitted, defaults to `workDir`." + userName: + type: string + description: "Username for SSH connection to HPC head node." + hostName: + type: string + description: "Hostname or IP address of HPC head node." + port: + type: integer + format: int32 + description: "SSH port. Default: `22`." + headQueue: + type: string + description: "The name of the queue on the cluster used to launch the Nextflow execution." + computeQueue: + type: string + description: "The name of queue on the cluster to which pipeline jobs are submitted. Can be overridden by the pipeline configuration." + maxQueueSize: + type: integer + format: int32 + description: "The maximum number of jobs Nextflow can submit to the queue simultaneously. Default: `100`." + headJobOptions: + type: string + description: "Additional submit options for the Nextflow head job." + propagateHeadJobOptions: + type: boolean + description: "If true, `headJobOptions` are also applied to the Nextflow-submitted compute jobs." + Analytics: + type: object + properties: + hubspotId: + type: string + posthogApiKey: + type: string + posthogApiHost: + type: string + AssociateActionLabelsRequest: + type: object + properties: + actionIds: + type: array + items: + type: string + labelIds: + type: array + items: + type: integer + format: int64 + AssociatePipelineLabelsRequest: + type: object + properties: + pipelineIds: + type: array + items: + type: integer + format: int64 + labelIds: + type: array + items: + type: integer + format: int64 + AssociateWorkflowLabelsRequest: + type: object + properties: + workflowIds: + type: array + items: + type: string + labelIds: + type: array + items: + type: integer + format: int64 + Avatar: + type: object + properties: + id: + maxLength: 22 + type: string + dateCreated: + type: string + format: date-time + lastUpdated: + type: string + format: date-time + AwsBatchConfig: + title: AWS Batch configuration + type: object + properties: + storageType: + type: string + deprecated: true + lustreId: + type: string + deprecated: true + volumes: + type: array + items: + type: string + description: "EBS volumes to mount (format: `/host/path:/container/path`)." + discriminator: + type: string + description: Platform type discriminator (read-only, set based on platform selection). + readOnly: true + region: + type: string + description: "AWS region where resources will be created (e.g., `us-east-1`)." + computeQueue: + type: string + description: "AWS Batch compute queue for running jobs." + dragenQueue: + type: string + description: "AWS Batch queue for DRAGEN workflows. See [Illumina DRAGEN](https://docs.seqera.io/platform-cloud/supported_software/dragen/overview)." + dragenInstanceType: + type: string + description: "EC2 instance type for DRAGEN workflows (e.g., `f1.2xlarge`)." + computeJobRole: + type: string + description: "Role ARN to grant fine-grained IAM permissions to Nextflow compute jobs." + executionRole: + type: string + description: "IAM role ARN for ECS task execution." + headQueue: + type: string + description: "AWS Batch queue for the Nextflow head job." + headJobRole: + type: string + description: "Role ARN to grant fine-grained IAM permissions to the Nextflow head job." + cliPath: + type: string + description: "Path to the AWS CLI installation in the container." + workDir: + type: string + description: "Nextflow work directory (resource path). Must be a path accessible by the compute environment and credentials must have read-write access." + preRunScript: + type: string + description: "Add a script that executes in the nf-launch script prior to invoking Nextflow processes. See [Pre and post-run scripts](https://docs.seqera.io/platform-cloud/launch/advanced#pre-and-post-run-scripts)." + postRunScript: + type: string + description: "Add a script that executes after all Nextflow processes have completed. See [Pre and post-run scripts](https://docs.seqera.io/platform-cloud/launch/advanced#pre-and-post-run-scripts)." + headJobCpus: + type: integer + format: int32 + description: "Number of CPUs allocated to the Nextflow head job." + headJobMemoryMb: + type: integer + format: int32 + description: "Memory allocation for the Nextflow head job, in megabytes." + environment: + type: array + items: + $ref: "#/components/schemas/ConfigEnvVariable" + waveEnabled: + type: boolean + description: "Enable [Wave containers](https://docs.seqera.io/wave). Default: `false`." + fusion2Enabled: + type: boolean + description: "Enable [Fusion file system](https://docs.seqera.io/fusion). Requires Wave containers. Default: `false`." + nvnmeStorageEnabled: + type: boolean + description: "Enable NVMe instance storage. Requires Fusion file system." + logGroup: + type: string + description: "CloudWatch Logs group for container logs." + nextflowConfig: + type: string + description: "Additional Nextflow configuration to apply. See [Nextflow config file](https://docs.seqera.io/platform-cloud/launch/advanced#nextflow-config-file)." + fusionSnapshots: + type: boolean + description: "Enable [Fusion Snapshots](https://docs.seqera.io/fusion/guide/snapshots). Requires Fusion file system." + forge: + $ref: "#/components/schemas/ForgeConfig" + description: "Batch Forge configuration options. [Batch Forge](https://docs.seqera.io/platform-cloud/compute-envs/aws-batch#automatic-configuration-of-batch-resources) automates the AWS Batch compute environment and job queue configuration required for deploying Nextflow pipelines." + forgedResources: + type: array + items: + type: object + additionalProperties: true + description: "Resources created by Batch Forge (read-only)." + required: + - region + - workDir + AwsBatchPlatformMetainfo: + type: object + properties: + discriminator: + type: string + description: "Platform type discriminator (read-only, set based on platform selection)." + warnings: + type: array + items: + type: string + jobQueues: + type: array + items: + $ref: "#/components/schemas/JobQueue" + buckets: + type: array + items: + $ref: "#/components/schemas/Bucket" + fileSystems: + type: array + items: + $ref: "#/components/schemas/FsxFileSystem" + efsFileSystems: + type: array + items: + $ref: "#/components/schemas/EfsFileSystem" + keyPairs: + type: array + items: + type: string + vpcs: + type: array + items: + $ref: "#/components/schemas/Vpc" + images: + type: array + items: + $ref: "#/components/schemas/Image" + securityGroups: + type: array + items: + $ref: "#/components/schemas/SecurityGroup" + subnets: + type: array + items: + $ref: "#/components/schemas/Subnet" + instanceFamilies: + type: array + items: + type: string + allocStrategy: + type: array + items: + type: string + title: AWS Batch platform metainfo + AwsCloudConfig: + title: AWS Cloud configuration + type: object + properties: + discriminator: + type: string + description: Platform type discriminator (read-only, set based on platform selection). + readOnly: true + allowBuckets: + type: array + items: + type: string + description: "Comma-separated list of S3 buckets accessible to the compute environment." + region: + type: string + description: "AWS region for EC2 instances (e.g., `us-east-1`)." + instanceType: + type: string + description: "EC2 instance type (e.g., `t3.medium`). If omitted, a default instance type is used." + imageId: + type: string + description: "The AMI ID to use for launching EC2 instance. If omitted, the default [Seqera-maintained AMI](https://docs.seqera.io/platform-cloud/compute-envs/aws-cloud#managed-amazon-machine-image-ami) is used. Use Seqera AMIs for best performance." + workDir: + type: string + description: "Nextflow work directory (resource path). Must be a path accessible by the compute environment and credentials must have read-write access." + preRunScript: + type: string + description: "Add a script that executes in the nf-launch script prior to invoking Nextflow processes. See [Pre and post-run scripts](https://docs.seqera.io/platform-cloud/launch/advanced#pre-and-post-run-scripts)." + postRunScript: + type: string + description: "Add a script that executes after all Nextflow processes have completed. See [Pre and post-run scripts](https://docs.seqera.io/platform-cloud/launch/advanced#pre-and-post-run-scripts)." + nextflowConfig: + type: string + description: "Additional Nextflow configuration to apply. See [Nextflow config file](https://docs.seqera.io/platform-cloud/launch/advanced#nextflow-config-file)." + environment: + type: array + items: + $ref: "#/components/schemas/ConfigEnvVariable" + waveEnabled: + type: boolean + description: "Enable [Wave containers](https://docs.seqera.io/wave). Default: `false`." + fusion2Enabled: + type: boolean + description: "Enable [Fusion file system](https://docs.seqera.io/fusion). Requires Wave containers. Default: `false`." + logGroup: + type: string + description: "CloudWatch Logs group for container logs." + arm64Enabled: + type: boolean + description: "Enable ARM64 architecture (Graviton) EC2 instances to run compute jobs." + gpuEnabled: + type: boolean + description: "Enable GPU instances to run compute jobs." + ec2KeyPair: + type: string + description: "EC2 key pair name for SSH access to instances." + ebsBootSize: + type: integer + format: int32 + description: "EC2 instance boot disk size, in GB. If omitted, a 50 GB `gp3` volume is used by default." + instanceProfileArn: + type: string + description: "The `InstanceProfile` ARN used by the EC2 instance to assume a role while running. If unspecified, Seqera will provision an ARN with enough permissions to run." + subnetId: + type: string + description: "Subnet ID for instance placement (single subnet)." + securityGroups: + type: array + items: + type: string + description: "Security group IDs that control network access." + forgedResources: + type: array + items: + type: object + additionalProperties: true + description: "Resources created by Cloud Forge (read-only)." + required: + - region + - workDir + AwsCloudPlatformMetainfo: + type: object + properties: + discriminator: + type: string + description: "Platform type discriminator (read-only, set based on platform selection)." + warnings: + type: array + items: + type: string + buckets: + type: array + items: + $ref: "#/components/schemas/Bucket" + keyPairs: + type: array + items: + type: string + vpcs: + type: array + items: + $ref: "#/components/schemas/Vpc" + images: + type: array + items: + $ref: "#/components/schemas/Image" + securityGroups: + type: array + items: + $ref: "#/components/schemas/SecurityGroup" + subnets: + type: array + items: + $ref: "#/components/schemas/Subnet" + instanceTypes: + type: array + items: + $ref: "#/components/schemas/InstanceType" + title: AWS Cloud platform metainfo + AwsSecurityKeys: + type: object + properties: + discriminator: + type: string + readOnly: true + accessKey: + type: string + secretKey: + type: string + writeOnly: true + assumeRoleArn: + type: string + title: AWS credentials + AzBatchConfig: + title: Azure batch configuration + type: object + properties: + discriminator: + type: string + description: Platform type discriminator (read-only, set based on platform selection). + readOnly: true + workDir: + type: string + description: "Nextflow work directory (resource path). Must be a path accessible by the compute environment and credentials must have read-write access." + preRunScript: + type: string + description: "Add a script that executes in the nf-launch script prior to invoking Nextflow processes. See [Pre and post-run scripts](https://docs.seqera.io/platform-cloud/launch/advanced#pre-and-post-run-scripts)." + postRunScript: + type: string + description: "Add a script that executes after all Nextflow processes have completed. See [Pre and post-run scripts](https://docs.seqera.io/platform-cloud/launch/advanced#pre-and-post-run-scripts)." + region: + type: string + description: "Azure region (e.g., `eastus`)." + headPool: + type: string + description: "Batch pool for the Nextflow head job." + autoPoolMode: + type: boolean + deprecated: true + forge: + $ref: "#/components/schemas/AzBatchForgeConfig" + description: "Batch Forge configuration mode properties. Batch Forge automatically creates Azure Batch resources during compute environment creation." + tokenDuration: + type: string + description: "Duration of the SAS token created by Nextflow. Default: `12h`." + deleteJobsOnCompletion: + $ref: "#/components/schemas/JobCleanupPolicy" + description: "Automatically delete Batch jobs after completion." + enum: ["on_success", "always", "never", "on_success", "always", "never"] + deletePoolsOnCompletion: + type: boolean + description: "Automatically delete Batch pools after completion. Default: `false`." + environment: + type: array + items: + $ref: "#/components/schemas/ConfigEnvVariable" + waveEnabled: + type: boolean + description: "Enable [Wave containers](https://docs.seqera.io/wave). Default: `false`." + fusion2Enabled: + type: boolean + description: "Enable [Fusion file system](https://docs.seqera.io/fusion). Requires Wave containers. Default: `false`." + nextflowConfig: + type: string + description: "Additional Nextflow configuration to apply. See [Nextflow config file](https://docs.seqera.io/platform-cloud/launch/advanced#nextflow-config-file)." + managedIdentityClientId: + type: string + nullable: true + description: "The ID of a [managed identity client](https://docs.seqera.io/platform-cloud/compute-envs/azure-batch#managed-identity) attached to the Azure Batch Pool, used by Nextflow to authenticate to Azure Batch and Storage." + required: + - region + - workDir + AzBatchForgeConfig: + type: object + properties: + vmType: + type: string + description: "Azure VM type used by the Batch pool. Must be a valid Azure Batch VM type. Default: `Standard_D4s_v3`." + vmCount: + type: integer + format: int32 + description: "Number of VMs in the Batch pool. When autoscaling is enabled, this represents the maximum number of VMs to which the pool can grow, and automatically scales to 0 when unused." + autoScale: + type: boolean + description: "Enable auto-scaling for the Batch pool." + disposeOnDeletion: + type: boolean + description: "Delete Batch compute pool when the compute environment is deleted." + containerRegIds: + type: array + items: + type: string + description: "Container registry resource IDs." + AzBatchPlatformMetainfo: + type: object + properties: + discriminator: + type: string + description: "Platform type discriminator (read-only, set based on platform selection)." + warnings: + type: array + items: + type: string + pools: + type: array + items: + type: string + containers: + type: array + items: + type: string + vmTypes: + type: array + items: + type: string + title: Azure Batch platform metainfo + AzCloudConfig: + title: Azure Cloud configuration + type: object + properties: + discriminator: + type: string + description: Platform type discriminator (read-only, set based on platform selection). + readOnly: true + workDir: + type: string + description: "Nextflow work directory (resource path). Must be a path accessible by the compute environment and credentials must have read-write access." + preRunScript: + type: string + description: "Add a script that executes in the nf-launch script prior to invoking Nextflow processes. See [Pre and post-run scripts](https://docs.seqera.io/platform-cloud/launch/advanced#pre-and-post-run-scripts)." + postRunScript: + type: string + description: "Add a script that executes after all Nextflow processes have completed. See [Pre and post-run scripts](https://docs.seqera.io/platform-cloud/launch/advanced#pre-and-post-run-scripts)." + environment: + type: array + items: + $ref: "#/components/schemas/ConfigEnvVariable" + waveEnabled: + type: boolean + description: "Enable [Wave containers](https://docs.seqera.io/wave). Default: `false`." + fusion2Enabled: + type: boolean + description: "Enable [Fusion file system](https://docs.seqera.io/fusion). Requires Wave containers. Default: `false`." + nextflowConfig: + type: string + instanceType: + type: string + description: "Azure VM size (e.g., `Standard_D2s_v3`)." + region: + type: string + resourceGroup: + type: string + description: "Azure resource group for VMs." + networkId: + type: string + description: "Virtual network resource ID." + subscriptionId: + type: string + description: "Azure subscription ID." + managedIdentityId: + type: string + description: "User-assigned managed identity resource ID." + managedIdentityClientId: + type: string + description: "Managed identity client ID for authentication." + logWorkspaceId: + type: string + description: "Log Analytics workspace ID for monitoring." + logTableName: + type: string + description: "Custom table name in Log Analytics." + dataCollectionEndpoint: + type: string + description: "Data collection endpoint for logs." + dataCollectionRuleId: + type: string + description: "Data collection rule ID for log routing." + forgedResources: + type: array + items: + $ref: "#/components/schemas/Map.Entry_String.String_" + description: "Resources created by Cloud Forge (read-only)." + required: + - location + - workDir + AzureEntraKeys: + type: object + title: Azure Entra credentials + properties: + discriminator: + type: string + batchName: + type: string + description: "Azure Batch account name." + storageName: + type: string + description: "Azure storage account name." + batchKey: + type: string + writeOnly: true + description: "Azure Batch account key." + storageKey: + type: string + writeOnly: true + description: "Azure storage account key." + tenantId: + type: string + description: "Azure tenant ID." + clientId: + type: string + description: "Azure service principal client ID." + clientSecret: + type: string + writeOnly: true + description: "Azure service principal client secret." + AzureReposSecurityKeys: + type: object + properties: + discriminator: + type: string + readOnly: true + username: + type: string + password: + type: string + writeOnly: true + title: Azure Repos credentials + AzureSecurityKeys: + type: object + properties: + discriminator: + type: string + readOnly: true + batchName: + type: string + storageName: + type: string + batchKey: + type: string + writeOnly: true + storageKey: + type: string + writeOnly: true + title: Azure credentials + BitBucketSecurityKeys: + type: object + properties: + discriminator: + type: string + readOnly: true + token: + type: string + writeOnly: true + username: + type: string + password: + type: string + writeOnly: true + title: BitBucket credentials + Bucket: + type: object + properties: + path: + type: string + CloudPriceModel: + type: string + enum: + - standard + - spot + x-enum-varnames: + - standard + - spot + CodeCommitSecurityKeys: + type: object + properties: + discriminator: + type: string + readOnly: true + username: + type: string + password: + type: string + writeOnly: true + title: AWS CodeCommit credentials + ComputeConfig: + type: object + properties: + workDir: + type: string + description: Work directory path for storing intermediate workflow files. + preRunScript: + type: string + description: "Add a script that executes in the nf-launch script prior to invoking Nextflow processes. See [Pre and post-run scripts](https://docs.seqera.io/platform-cloud/launch/advanced#pre-and-post-run-scripts)." + postRunScript: + type: string + description: "Add a script that executes after all Nextflow processes have completed. See [Pre and post-run scripts](https://docs.seqera.io/platform-cloud/launch/advanced#pre-and-post-run-scripts)." + environment: + type: array + items: + $ref: "#/components/schemas/ConfigEnvVariable" + description: "Environment variables to set in the compute environment." + nextflowConfig: + type: string + description: "Additional Nextflow configuration to apply. See [Nextflow config file](https://docs.seqera.io/platform-cloud/launch/advanced#nextflow-config-file)." + discriminator: + type: string + description: Platform type discriminator (read-only, set based on platform selection). + discriminator: + propertyName: discriminator + mapping: + moab-platform: "#/components/schemas/MoabComputeConfig" + aws-batch: "#/components/schemas/AwsBatchConfig" + google-cloud: "#/components/schemas/GoogleCloudConfig" + azure-cloud: "#/components/schemas/AzCloudConfig" + gke-platform: "#/components/schemas/GkeComputeConfig" + google-batch: "#/components/schemas/GoogleBatchConfig" + aws-cloud: "#/components/schemas/AwsCloudConfig" + slurm-platform: "#/components/schemas/SlurmComputeConfig" + k8s-platform: "#/components/schemas/K8sComputeConfig" + altair-platform: "#/components/schemas/AltairPbsComputeConfig" + lsf-platform: "#/components/schemas/LsfComputeConfig" + azure-batch: "#/components/schemas/AzBatchConfig" + seqeracompute-platform: "#/components/schemas/SeqeraComputeConfig" + eks-platform: "#/components/schemas/EksComputeConfig" + google-lifesciences: "#/components/schemas/GoogleLifeSciencesConfig" + uge-platform: "#/components/schemas/UnivaComputeConfig" + oneOf: + - $ref: "#/components/schemas/AwsBatchConfig" + - $ref: "#/components/schemas/AwsCloudConfig" + - $ref: "#/components/schemas/SeqeraComputeConfig" + - $ref: "#/components/schemas/GoogleLifeSciencesConfig" + - $ref: "#/components/schemas/GoogleBatchConfig" + - $ref: "#/components/schemas/AzBatchConfig" + - $ref: "#/components/schemas/LsfComputeConfig" + - $ref: "#/components/schemas/SlurmComputeConfig" + - $ref: "#/components/schemas/K8sComputeConfig" + - $ref: "#/components/schemas/EksComputeConfig" + - $ref: "#/components/schemas/GkeComputeConfig" + - $ref: "#/components/schemas/UnivaComputeConfig" + - $ref: "#/components/schemas/AltairPbsComputeConfig" + - $ref: "#/components/schemas/MoabComputeConfig" + ComputeEnv.Status: + type: string + readOnly: true + enum: + - CREATING + - AVAILABLE + - DELETING + - ERRORED + - INVALID + ComputeEnvDbDto: + type: object + properties: + id: + type: string + name: + type: string + platform: + type: string + region: + type: string + ComputeEnvQueryAttribute: + type: string + enum: + - labels + x-enum-varnames: + - labels + ComputeEnvResponseDto: + type: object + properties: + id: + type: string + name: + type: string + description: + type: string + platform: + type: string + enum: + - aws-batch + - aws-cloud + - seqeracompute-platform + - google-lifesciences + - google-batch + - azure-batch + - k8s-platform + - eks-platform + - gke-platform + - uge-platform + - slurm-platform + - lsf-platform + - altair-platform + config: + $ref: "#/components/schemas/ComputeConfig" + dateCreated: + type: string + format: date-time + lastUpdated: + type: string + format: date-time + lastUsed: + type: string + format: date-time + deleted: + type: boolean + status: + $ref: "#/components/schemas/ComputeEnv.Status" + message: + type: string + primary: + type: boolean + credentialsId: + type: string + managedIdentityId: + type: string + orgId: + type: integer + format: int64 + workspaceId: + type: integer + format: int64 + labels: + type: array + items: + $ref: "#/components/schemas/LabelDbDto" + ComputeEnv_ComputeConfig_: + type: object + properties: + credentialsId: + type: string + description: "Credentials identifier for compute environment authentication. Requires existing cloud provider/HPC credentials. See [Create credentials](https://docs.seqera.io/platform-api/create-credentials)." + orgId: + type: integer + format: int64 + readOnly: true + description: "Organization numeric identifier (read-only, set by system)." + workspaceId: + type: integer + format: int64 + readOnly: true + description: "Workspace numeric identifier (read-only, set by system)." + id: + maxLength: 22 + type: string + readOnly: true + description: "Compute environment alphanumeric identifier (read-only, generated by system)." + name: + maxLength: 100 + type: string + description: "Unique name for the compute environment. Must consist of 1-100 alphanumeric, dash, or underscore characters." + description: + maxLength: 2000 + type: string + description: "Description of the compute environment. Maximum length: 2000 characters." + platform: + maxLength: 25 + type: string + enum: + - aws-batch + - aws-cloud + - google-lifesciences + - google-batch + - google-cloud + - azure-batch + - azure-cloud + - k8s-platform + - eks-platform + - gke-platform + - uge-platform + - slurm-platform + - lsf-platform + - altair-platform + - moab-platform + - local-platform + - seqeracompute-platform + - "aws-batch" + - "aws-cloud" + - "google-batch" + - "google-cloud" + - "azure-batch" + - "k8s-platform" + - "eks-platform" + - "gke-platform" + - "slurm-platform" + - "lsf-platform" + - "uge-platform" + - "moab-platform" + - "altair-platform" + - "local-platform" + - "seqeracompute-platform" + - "aws-batch" + - "aws-cloud" + - "google-batch" + - "google-cloud" + - "azure-batch" + - "azure-cloud" + - "k8s-platform" + - "eks-platform" + - "gke-platform" + - "slurm-platform" + - "lsf-platform" + - "uge-platform" + - "moab-platform" + - "altair-platform" + - "local-platform" + - "seqeracompute-platform" + description: "Compute platform provider." + config: + $ref: "#/components/schemas/ComputeConfig" + description: "Platform-specific configuration. Structure depends on the selected platform." + dateCreated: + type: string + format: date-time + readOnly: true + description: "Creation timestamp (read-only, set by system)." + lastUpdated: + type: string + format: date-time + readOnly: true + description: "Last update timestamp (read-only, updated by system)." + lastUsed: + type: string + format: date-time + readOnly: true + description: "Last usage timestamp (read-only, updated by system)." + deleted: + type: boolean + readOnly: true + description: "Deletion status flag (read-only, updated by system)." + status: + type: string + readOnly: true + allOf: + - $ref: "#/components/schemas/ComputeEnv.Status" + description: "Current status of the compute environment (read-only)." + enum: ["CREATING", "AVAILABLE", "ERRORED", "INVALID", "CREATING", "AVAILABLE", "ERRORED", "INVALID"] + message: + maxLength: 4096 + type: string + primary: + type: boolean + readOnly: true + required: + - config + - name + - platform + ComputePlatform: + type: object + properties: + id: + type: string + name: + type: string + credentialsProviders: + type: array + items: + type: string + ComputePlatformDto: + type: object + properties: + id: + type: string + name: + type: string + ComputeRegion: + type: object + properties: + id: + type: string + name: + type: string + ConfigEnvVariable: + type: object + properties: + name: + type: string + description: "Environment variable name." + value: + type: string + description: "Environment variable value." + head: + type: boolean + description: "Apply this variable to the Nextflow head job." + compute: + type: boolean + description: "Apply this variable to the Nextflow compute jobs." + required: + - name + - value + ContainerData: + required: + - targetImage + type: object + properties: + requestId: + type: string + sourceImage: + type: string + targetImage: + type: string + buildId: + type: string + scanId: + type: string + mirrorId: + type: string + cached: + type: boolean + freeze: + type: boolean + requestTime: + type: string + format: date-time + ContainerRegistryKeys: + type: object + properties: + discriminator: + type: string + readOnly: true + userName: + type: string + password: + type: string + writeOnly: true + registry: + type: string + title: Container registry credentials + CreateAccessTokenRequest: + type: object + properties: + name: + type: string + CreateAccessTokenResponse: + type: object + properties: + accessKey: + type: string + token: + $ref: "#/components/schemas/AccessToken" + CreateActionRequest: + type: object + properties: + name: + type: string + source: + $ref: "#/components/schemas/Action.Source" + launch: + $ref: "#/components/schemas/WorkflowLaunchRequest" + CreateActionResponse: + type: object + properties: + actionId: + type: string + CreateAvatarResponse: + type: object + properties: + avatar: + $ref: "#/components/schemas/Avatar" + url: + type: string + CreateComputeEnvRequest: + type: object + properties: + computeEnv: + $ref: "#/components/schemas/ComputeEnv_ComputeConfig_" + description: "Compute environment configuration object." + labelIds: + type: array + items: + type: integer + format: int64 + description: "Array of label IDs to assign to the compute environment." + required: + - computeEnv + CreateComputeEnvResponse: + type: object + properties: + computeEnvId: + type: string + CreateCredentialsRequest: + type: object + properties: + credentials: + $ref: "#/components/schemas/Credentials" + CreateCredentialsResponse: + type: object + properties: + credentialsId: + type: string + CreateDatasetRequest: + type: object + properties: + name: + type: string + description: + type: string + CreateDatasetResponse: + type: object + properties: + dataset: + $ref: "#/components/schemas/DatasetDto" + CreateLabelRequest: + type: object + properties: + name: + type: string + value: + type: string + resource: + type: boolean + isDefault: + type: boolean + CreateLabelResponse: + type: object + properties: + id: + type: integer + format: int64 + name: + type: string + value: + type: string + resource: + type: boolean + isDefault: + type: boolean + CreateManagedCredentialsRequest: + type: object + properties: + provider: + type: string + enum: + - ssh + description: "Authentication provider type. Currently supports `ssh`." + credentials: + $ref: "#/components/schemas/Credentials" + description: "Authentication credentials configuration object." + metadata: + $ref: "#/components/schemas/ManagedCredentialsMetadata" + description: "Additional metadata for the managed credentials." + CreateManagedCredentialsResponse: + type: object + properties: + managedCredentials: + $ref: "#/components/schemas/ManagedCredentialsDbDto" + description: "Created managed credentials object." + CreateManagedIdentityRequest: + type: object + properties: + name: + type: string + description: "Unique name for the managed identity. Must consist of alphanumeric, dash, or underscore characters." + platform: + type: string + enum: + - altair-platform + - lsf-platform + - moab-platform + - slurm-platform + - uge-platform + description: "HPC platform type for this managed identity." + config: + $ref: "#/components/schemas/AbstractGridConfig" + description: "Platform-specific configuration. Structure depends on the selected platform." + CreateManagedIdentityResponse: + type: object + properties: + id: + type: integer + format: int64 + description: "Managed identity numeric identifier." + name: + type: string + description: "Name of the created managed identity." + platform: + type: string + description: "HPC platform type." + config: + $ref: "#/components/schemas/ComputeConfig" + description: "Platform-specific configuration." + CreateOrganizationRequest: + type: object + properties: + organization: + $ref: "#/components/schemas/Organization" + description: "Organization details to create, including name, full name, and optional description, location, and website." + logoId: + type: string + description: "Logo image identifier for the organization. See [Create avatar](https://docs.seqera.io/platform-api/create-avatar) to upload images and obtain a logo ID." + CreateOrganizationResponse: + type: object + properties: + organization: + $ref: "#/components/schemas/OrganizationDbDto" + description: "Details of the newly created organization." + CreatePipelineRequest: + type: object + properties: + name: + type: string + description: "Pipeline name. Must be unique within the workspace." + description: + type: string + description: "Pipeline description." + icon: + type: string + description: "Pipeline icon URL." + launch: + $ref: "#/components/schemas/WorkflowLaunchRequest" + description: "Launch configuration for the pipeline." + labelIds: + type: array + items: + type: integer + format: int64 + description: "Array of label IDs to apply to the pipeline." + CreatePipelineResponse: + type: object + properties: + pipeline: + $ref: "#/components/schemas/PipelineDbDto" + CreatePipelineSecretRequest: + type: object + properties: + name: + type: string + value: + type: string + CreatePipelineSecretResponse: + type: object + properties: + secretId: + type: integer + format: int64 + CreateTeamMemberRequest: + type: object + properties: + userNameOrEmail: + type: string + description: "Username or email address of the organization member to add to the team." + CreateTeamRequest: + type: object + properties: + team: + $ref: "#/components/schemas/Team" + description: "Team details to create, including name and optional description." + avatarId: + type: string + description: "Avatar image identifier for the team. See [Create avatar](https://docs.seqera.io/platform-api/create-avatar) to upload images and obtain an avatar ID." + CreateTeamResponse: + type: object + properties: + team: + $ref: "#/components/schemas/TeamDbDto" + description: "Details of the newly created team." + CreateWorkflowStarResponse: + type: object + properties: + workflowId: + type: string + CreateWorkspaceRequest: + type: object + properties: + workspace: + $ref: "#/components/schemas/Workspace" + description: "Workspace details to create, including name, full name, description, and visibility." + CreateWorkspaceResponse: + type: object + properties: + workspace: + $ref: "#/components/schemas/Workspace" + description: "Details of the newly created workspace." + Credentials: + required: + - name + - provider + type: object + properties: + id: + maxLength: 22 + type: string + name: + maxLength: 100 + type: string + description: + type: string + provider: + maxLength: 16 + type: string + enum: + - aws + - azure + - azure_entra + - google + - github + - gitlab + - bitbucket + - ssh + - k8s + - container-reg + - tw-agent + - codecommit + - gitea + - azurerepos + - seqeracompute + - azure-cloud + - s3 + baseUrl: + maxLength: 200 + pattern: "" + type: string + category: + maxLength: 20 + type: string + deleted: + type: boolean + readOnly: true + lastUsed: + type: string + format: date-time + readOnly: true + dateCreated: + type: string + format: date-time + readOnly: true + lastUpdated: + type: string + format: date-time + readOnly: true + keys: + $ref: "#/components/schemas/SecurityKeys" + DataLink.Status: + type: string + readOnly: true + enum: + - VALID + - INVALID + DataLinkContentResponse: + type: object + properties: + originalPath: + type: string + description: "Base path for all returned objects within the data-link." + objects: + type: array + items: + $ref: "#/components/schemas/DataLinkItem" + description: "Array of data-link items (files and folders) at the specified path." + nextPageToken: + type: string + description: "Token that can be used to request the next page of items. Null if no more items are available." + DataLinkContentTreeListResponse: + required: + - items + type: object + properties: + items: + type: array + items: + $ref: "#/components/schemas/DataLinkSimpleItem" + description: "Array of simple data-link items containing file paths and sizes." + DataLinkCreateRequest: + type: object + properties: + name: + type: string + description: "Unique name for the data-link. Must consist of alphanumeric, dash, or underscore characters." + description: + type: string + description: "Description of the data-link. Maximum length: 1000 characters." + type: + $ref: "#/components/schemas/DataLinkType" + description: "Type of the data-link. Currently supports `bucket`." + provider: + $ref: "#/components/schemas/DataLinkProvider" + description: "Cloud provider for the data-link. Supports `aws`, `google`, `azure`, `azure_entra`, `azure-cloud`, `seqeracompute`, and `s3`." + resourceRef: + type: string + description: "Resource path for the data-link, including the URI scheme (e.g., `s3://my-bucket`, `gs://my-bucket`, `az://account.container`)." + publicAccessible: + type: boolean + description: "Whether the data-link is publicly accessible. If `true`, no credentials are required. If `false`, `credentialsId` must be provided." + credentialsId: + type: string + description: "Credentials string identifier. Required when `publicAccessible` is `false`." + DataLinkCredentials: + required: + - id + - name + - provider + type: object + properties: + id: + type: string + description: "Credentials string identifier." + name: + type: string + description: "Name of the credentials." + provider: + $ref: "#/components/schemas/DataLinkProvider" + description: "Credentials cloud provider." + DataLinkDeleteItemRequest: + type: object + properties: + files: + type: array + items: + type: string + description: "Array of file paths to be deleted from the data-link." + dirs: + type: array + items: + type: string + description: "Array of directory paths to be deleted from the data-link." + DataLinkDeleteItemResponse: + type: object + properties: + deletionFailures: + type: array + items: + $ref: "#/components/schemas/DataLinkItemDeletionFailure" + description: "Array of items that failed to be deleted, including error messages." + DataLinkDownloadScriptResponse: + type: object + properties: + script: + type: string + description: "Shell script content to download files from the data-link." + DataLinkDownloadUrlResponse: + type: object + properties: + url: + type: string + description: "Pre-signed URL to download the requested file." + DataLinkDto: + type: object + properties: + id: + type: string + description: "Data-link string identifier. Generated based on provider, type, region, and resource path." + name: + type: string + description: "Name of the data-link (e.g., bucket name)." + description: + type: string + description: "Description of the data-link. Null for data-links auto-discovered from workspace credentials." + resourceRef: + type: string + description: "Resource path for the data-link, including the URI scheme (e.g., `s3://my-bucket`, `gs://my-bucket`, `az://account.container`)." + type: + $ref: "#/components/schemas/DataLinkType" + description: "Data-link type. Currently supports `bucket`." + provider: + $ref: "#/components/schemas/DataLinkProvider" + description: "Cloud provider for the data-link. Supports `aws`, `google`, `azure`, `azure_entra`, `azure-cloud`, `seqeracompute`, and `s3`." + region: + type: string + description: "Cloud region of the data-link (e.g., `us-east-1`, `europe-west1`). May be null for some providers." + credentials: + type: array + items: + $ref: "#/components/schemas/DataLinkCredentials" + description: "Array of credentials that can access this data-link. Empty for public data-links." + publicAccessible: + type: boolean + description: "Whether the data-link is publicly accessible without credentials." + hidden: + type: boolean + description: "Visibility status flag. If `true`, data-link is hidden from default list views." + status: + type: string + readOnly: true + allOf: + - $ref: "#/components/schemas/DataLink.Status" + description: "Status of the data-link. Can be `VALID` or `INVALID`. Set to `INVALID` when associated credentials are deleted." + message: + type: string + description: "Error message for invalid data-links. Null for valid data-links." + DataLinkFinishMultiPartUploadRequest: + type: object + properties: + uploadId: + type: string + description: "Upload ID assigned when initiating multi-part upload for AWS S3. Obtained from the `/upload` endpoint response." + fileName: + type: string + description: "Name of the uploaded file." + tags: + type: array + items: + $ref: "#/components/schemas/UploadEtag" + description: "Array of ETags assigned for each part by AWS S3 during the upload process. Each ETag is returned in the response headers when uploading a part to the pre-signed URLs from the `/upload` endpoint." + withError: + type: boolean + description: "Flag indicating whether the upload encountered an error. If `true`, the upload will be aborted. If `false`, the upload will be completed." + DataLinkItem: + type: object + properties: + type: + $ref: "#/components/schemas/DataLinkItemType" + description: "Type of the item. Either `FILE` or `FOLDER`." + name: + type: string + description: "Name of the file or folder." + size: + type: integer + format: int64 + description: "Size of the file in bytes. For folders, always `0`." + mimeType: + type: string + description: "MIME type of the file, calculated by analyzing the file extension. Null for folders." + DataLinkItemDeletionFailure: + required: + - dataLinkItem + - errorMessage + type: object + properties: + dataLinkItem: + $ref: "#/components/schemas/DataLinkItem" + description: "Data-link item that failed to be deleted." + errorMessage: + type: string + description: "Error message describing why the deletion failed." + DataLinkItemType: + type: string + enum: + - FOLDER + - FILE + description: "Type of data-link content item. Either `FILE` or `FOLDER`." + DataLinkMultiPartUploadRequest: + type: object + properties: + fileName: + type: string + description: "Name of the file to upload." + contentLength: + type: integer + format: int64 + description: "Size of the file to upload in bytes." + contentType: + type: string + description: "MIME type of the file to upload (e.g., `application/octet-stream`, `text/plain`)." + DataLinkMultiPartUploadResponse: + type: object + properties: + uploadId: + type: string + description: "Upload ID generated by AWS S3. Required for the `/upload/finish` request." + uploadUrls: + type: array + items: + type: string + description: "Array of pre-signed URLs to execute multi-part upload. One URL per part." + DataLinkProvider: + type: string + enum: + - aws + - google + - azure + - azure_entra + - azure-cloud + - seqeracompute + - s3 + description: "Cloud provider for data-links. Supports AWS S3, Google Cloud Storage, Azure Blob Storage, Azure with Entra ID, Seqera Compute storage, and generic S3-compatible storage." + DataLinkResponse: + type: object + properties: + dataLink: + $ref: "#/components/schemas/DataLinkDto" + description: "Data-link object containing metadata." + DataLinkSimpleItem: + required: + - path + - size + type: object + properties: + path: + type: string + description: "Path to the item from the data-link root (resource path)." + size: + type: integer + format: int64 + description: "Size of the file in bytes. For folders, always `0`." + DataLinkType: + type: string + enum: + - bucket + x-enum-varnames: + - bucket + description: "Data-link type. Currently only `bucket` is supported." + DataLinkUpdateRequest: + type: object + properties: + name: + type: string + description: "New name for the data-link. Must be unique within the workspace or user context." + description: + type: string + description: "Updated description for the data-link. Maximum length: 1000 characters." + credentialsId: + type: string + description: "Updated credentials ID for accessing the data-link." + DataLinksListResponse: + type: object + properties: + dataLinks: + type: array + items: + $ref: "#/components/schemas/DataLinkDto" + description: "Array of data-link objects." + totalSize: + type: integer + format: int64 + description: "Total number of data-links matching the query." + DataStudioCheckpointDto: + required: + - author + - dateCreated + - dateSaved + - id + - name + - path + - status + type: object + properties: + id: + type: integer + format: int64 + description: "Checkpoint numeric identifier." + name: + type: string + description: "Checkpoint name." + dateCreated: + type: string + format: date-time + dateSaved: + type: string + format: date-time + author: + $ref: "#/components/schemas/UserInfo" + path: + type: string + status: + $ref: "#/components/schemas/StudioCheckpointStatus" + description: "Checkpoint status." + DataStudioCheckpointUpdateRequest: + type: object + properties: + name: + type: string + description: "New checkpoint name. Must be unique per Studio. Spaces are automatically converted to underscores." + DataStudioComputeEnvDto: + type: object + allOf: + - $ref: "#/components/schemas/ComputeEnvDbDto" + - properties: + credentialsId: + type: string + workDir: + type: string + DataStudioConfiguration: + type: object + properties: + gpu: + minimum: 0 + type: integer + format: int32 + description: "Number of GPUs allocated to the Studio session." + cpu: + minimum: 0 + type: integer + format: int32 + description: "Number of CPUs allocated to the Studio session." + memory: + minimum: 0 + type: integer + format: int32 + description: "Amount of memory in MiB allocated to the Studio session." + mountData: + type: array + items: + type: string + description: "Array of data-link IDs mounted in the Studio session." + environment: + type: object + additionalProperties: + type: string + nullable: true + description: "Array of environment variable key-value pairs set in the Studio session." + condaEnvironment: + maxLength: 2048 + type: string + description: "Conda package specification for custom packages installed in the Studio environment." + lifespanHours: + minimum: 0 + type: integer + format: int32 + description: "Number of hours the Studio session will run before automatically stopping. A value of `0` indicates unlimited lifespan." + DataStudioCreateRequest: + required: + - computeEnvId + - name + type: object + properties: + name: + maxLength: 80 + minLength: 1 + type: string + description: "Studio name. Must be unique within the user or workspace context. Minimum length: 1 character, Maximum length: 100 characters." + description: + maxLength: 2048 + type: string + description: "Optional Studio description. Maximum length: 500 characters." + dataStudioToolUrl: + type: string + computeEnvId: + minLength: 1 + type: string + description: "Compute environment ID where the Studio session will run." + initialCheckpointId: + type: integer + format: int64 + configuration: + $ref: "#/components/schemas/DataStudioConfiguration" + isPrivate: + type: boolean + description: "If true, only the Studio creator can connect to the session. Workspace administrators can still start, stop, and delete the Studio but cannot connect to it. Default: `false`." + labelIds: + type: array + nullable: true + items: + type: integer + format: int64 + spot: + type: boolean + nullable: true + DataStudioCreateResponse: + type: object + properties: + studio: + $ref: "#/components/schemas/DataStudioDto" + description: "Created Studio details." + DataStudioDto: + type: object + properties: + sessionId: + type: string + description: "Studio session string identifier." + workspaceId: + type: integer + format: int64 + description: "Workspace numeric identifier. Null if the Studio belongs to the user context." + parentCheckpoint: + $ref: "#/components/schemas/DataStudioDto.ParentCheckpoint" + description: "Information about the parent checkpoint if this Studio was created from an existing checkpoint." + user: + $ref: "#/components/schemas/UserInfo" + description: "Studio creator user information." + name: + type: string + description: "Studio name." + description: + type: string + description: "Studio description." + studioUrl: + type: string + description: "URL to access the running Studio session." + computeEnv: + $ref: "#/components/schemas/DataStudioComputeEnvDto" + description: "Compute environment information where the Studio runs." + template: + $ref: "#/components/schemas/DataStudioTemplate" + description: "Container image template information for the Studio environment." + configuration: + $ref: "#/components/schemas/DataStudioConfiguration" + description: "Studio resource allocation and environment configuration." + dateCreated: + type: string + format: date-time + description: "Timestamp when the Studio was created." + lastUpdated: + type: string + format: date-time + description: "Timestamp when the Studio was last updated." + lastStarted: + type: string + format: date-time + description: "Timestamp when the Studio session was last started." + effectiveLifespanHours: + type: integer + format: int32 + description: "Total accumulated lifespan hours for the Studio session, including any extensions." + activeConnections: + type: array + items: + $ref: "#/components/schemas/ActiveConnection" + description: "Array of currently active user connections to the Studio session." + statusInfo: + $ref: "#/components/schemas/DataStudioStatusInfo" + waveBuildUrl: + type: string + baseImage: + type: string + customImage: + type: boolean + isPrivate: + type: boolean + description: "If true, only the Studio creator can connect to the session." + mountedDataLinks: + type: array + items: + $ref: "#/components/schemas/DataLinkDto" + progress: + type: array + items: + $ref: "#/components/schemas/DataStudioProgressStep" + description: "Studio session startup progress information, including build status and checkpoint mounting progress." + labels: + type: array + nullable: true + items: + $ref: "#/components/schemas/LabelDbDto" + description: "Array of resource labels applied to the Studio." + DataStudioDto.ParentCheckpoint: + type: object + properties: + checkpointId: + type: integer + format: int64 + checkpointName: + type: string + sessionId: + type: string + studioName: + type: string + DataStudioListCheckpointsResponse: + required: + - checkpoints + - totalSize + type: object + properties: + checkpoints: + type: array + items: + $ref: "#/components/schemas/DataStudioCheckpointDto" + description: "Array of checkpoint objects for the Studio session, sorted by creation date in descending order." + totalSize: + type: integer + format: int64 + description: "Total number of checkpoints for the Studio session." + DataStudioListResponse: + required: + - studios + - totalSize + type: object + properties: + studios: + type: array + items: + $ref: "#/components/schemas/DataStudioDto" + description: "Array of Studio summary objects." + totalSize: + type: integer + format: int64 + description: "Total number of Studios matching the query criteria." + DataStudioMountedLinksResponse: + type: object + properties: + dataLinkIds: + type: array + items: + type: string + description: "Array of data-link IDs currently mounted in Studios within the specified context." + DataStudioProgressStep: + type: object + properties: + status: + $ref: "#/components/schemas/DataStudioProgressStep.Status" + message: + type: string + description: "Human-readable message describing the current progress step." + warnings: + type: array + items: + type: string + DataStudioProgressStep.Status: + type: string + enum: + - pending + - in-progress + - succeeded + - errored + DataStudioQueryAttribute: + type: string + enum: + - labels + x-enum-varnames: + - labels + DataStudioStartRequest: + type: object + properties: + configuration: + nullable: true + allOf: + - $ref: "#/components/schemas/DataStudioConfiguration" + description: + type: string + nullable: true + labelIds: + type: array + nullable: true + items: + type: integer + format: int64 + spot: + type: boolean + nullable: true + DataStudioStartResponse: + required: + - jobSubmitted + - sessionId + - statusInfo + type: object + properties: + jobSubmitted: + type: boolean + sessionId: + type: string + description: "Studio session string identifier." + statusInfo: + $ref: "#/components/schemas/DataStudioStatusInfo" + DataStudioStatus: + type: string + enum: + - starting + - running + - stopping + - stopped + - errored + - building + - buildFailed + x-enum-varnames: + - starting + - running + - stopping + - stopped + - errored + - building + - buildFailed + DataStudioStatusInfo: + type: object + properties: + status: + $ref: "#/components/schemas/DataStudioStatus" + description: "Current Studio session status. Possible values: `stopped`, `starting`, `running`, `stopping`, `failed`, `building`, `buildFailed`." + message: + type: string + lastUpdate: + type: string + format: date-time + stopReason: + $ref: "#/components/schemas/DataStudioStopReason" + DataStudioStopReason: + type: string + enum: + - CREDITS_RUN_OUT + - LIFESPAN_EXPIRED + - SPOT_RECLAMATION + DataStudioStopResponse: + required: + - jobSubmitted + - sessionId + - statusInfo + type: object + properties: + jobSubmitted: + type: boolean + sessionId: + type: string + description: "Studio session string identifier." + statusInfo: + $ref: "#/components/schemas/DataStudioStatusInfo" + DataStudioTemplate: + type: object + properties: + repository: + type: string + description: "Container image repository URL for the template." + icon: + type: string + description: "URL to the template icon image." + status: + $ref: "#/components/schemas/DataStudioVersionStatus" + tool: + type: string + description: "Tool name or type provided by this template (e.g., 'jupyter', 'rstudio', 'vscode')." + DataStudioTemplatesListResponse: + required: + - templates + - totalSize + type: object + properties: + templates: + type: array + items: + $ref: "#/components/schemas/DataStudioTemplate" + description: "Array of available Studio container image templates." + totalSize: + type: integer + format: int64 + description: "Total number of available templates." + DataStudioVersionStatus: + type: string + enum: + - recommended + - deprecated + - experimental + - unsupported + x-enum-varnames: + - recommended + - deprecated + - experimental + - unsupported + DataStudioWorkspaceSettingsResponse: + type: object + properties: + orgId: + type: integer + format: int64 + wspId: + type: integer + format: int64 + lifespanHours: + type: integer + format: int32 + containerRepository: + type: string + nullable: true + description: "Custom container repository for Studios in this workspace. Can be `null`." + DatasetDto: + type: object + properties: + id: + type: string + user: + $ref: "#/components/schemas/UserInfo" + workspaceId: + type: integer + format: int64 + organizationId: + type: integer + format: int64 + name: + type: string + lastUpdatedBy: + $ref: "#/components/schemas/UserInfo" + description: + type: string + mediaType: + type: string + dateCreated: + type: string + format: date-time + lastUpdated: + type: string + format: date-time + deleted: + type: boolean + labels: + type: array + items: + $ref: "#/components/schemas/LabelDbDto" + version: + type: integer + format: int64 + DatasetVersionDto: + type: object + properties: + datasetId: + type: string + datasetName: + type: string + datasetDescription: + type: string + hasHeader: + type: boolean + version: + type: integer + format: int64 + createdBy: + $ref: "#/components/schemas/UserInfo" + lastUpdated: + type: string + format: date-time + fileName: + type: string + mediaType: + type: string + workspaceId: + type: integer + format: int64 + url: + type: string + DeleteCredentialsConflictResponse: + type: object + properties: + credentialsId: + type: string + conflicts: + type: array + items: + $ref: "#/components/schemas/DeleteCredentialsConflictResponse.Conflict" + DeleteCredentialsConflictResponse.Conflict: + type: object + properties: + type: + type: string + id: + type: string + name: + type: string + url: + type: string + DeleteManagedCredentialsConflictResponse: + type: object + properties: + managedCredentialsId: + type: string + description: "Identifier of credentials that could not be deleted." + conflicts: + type: array + items: + $ref: "#/components/schemas/DeleteManagedCredentialsConflictResponse.Conflict" + description: "Array of conflicts preventing deletion." + DeleteManagedCredentialsConflictResponse.Conflict: + type: object + properties: + type: + type: string + id: + type: string + name: + type: string + url: + type: string + DeleteWorkflowsRequest: + type: object + properties: + workflowIds: + type: array + items: + type: string + DeleteWorkflowsResponse: + type: object + properties: + failedWorkflowIds: + type: array + items: + type: string + DescribeActionResponse: + type: object + properties: + action: + $ref: "#/components/schemas/ActionResponseDto" + DescribeComputeEnvResponse: + type: object + properties: + computeEnv: + $ref: "#/components/schemas/ComputeEnvResponseDto" + DescribeCredentialsResponse: + type: object + properties: + credentials: + $ref: "#/components/schemas/Credentials" + DescribeDatasetResponse: + type: object + properties: + dataset: + $ref: "#/components/schemas/DatasetDto" + DescribeLaunchResponse: + type: object + properties: + launch: + $ref: "#/components/schemas/Launch" + DescribeOrganizationQuotasResponse: + type: object + properties: + quotas: + $ref: "#/components/schemas/OrganizationQuotas" + description: "Resource quotas and usage limits for the organization." + DescribeOrganizationResponse: + type: object + properties: + organization: + $ref: "#/components/schemas/OrganizationDbDto" + description: "Organization details including ID, name, full name, description, location, website, logo, member role, and organization type." + DescribePipelineInfoResponse: + type: object + properties: + pipelineInfo: + $ref: "#/components/schemas/PipelineInfo" + DescribePipelineResponse: + type: object + properties: + pipeline: + $ref: "#/components/schemas/PipelineDbDto" + DescribePipelineSecretResponse: + type: object + properties: + pipelineSecret: + $ref: "#/components/schemas/PipelineSecret" + DescribePlatformResponse: + type: object + properties: + metainfo: + $ref: "#/components/schemas/PlatformMetainfo" + DescribeTaskResponse: + type: object + properties: + task: + $ref: "#/components/schemas/Task" + DescribeTeamResponse: + type: object + properties: + team: + $ref: "#/components/schemas/TeamDbDto" + description: "Team details including ID, name, description, avatar, and member count." + DescribeUserResponse: + type: object + properties: + user: + $ref: "#/components/schemas/UserResponseDto" + description: "User details including ID, username, email, first name, last name, avatar, and organization membership." + needConsent: + type: boolean + defaultWorkspaceId: + type: integer + format: int64 + DescribeWorkflowLaunchResponse: + type: object + properties: + launch: + $ref: "#/components/schemas/WorkflowLaunchResponse" + DescribeWorkflowResponse: + type: object + properties: + workflow: + $ref: "#/components/schemas/Workflow" + progress: + $ref: "#/components/schemas/ProgressData" + platform: + $ref: "#/components/schemas/ComputePlatformDto" + jobInfo: + $ref: "#/components/schemas/JobInfoDto" + orgId: + type: integer + format: int64 + orgName: + type: string + workspaceId: + type: integer + format: int64 + workspaceName: + type: string + labels: + type: array + items: + $ref: "#/components/schemas/LabelDbDto" + optimized: + type: boolean + messages: + type: array + items: + type: string + DescribeWorkspaceResponse: + type: object + properties: + workspace: + $ref: "#/components/schemas/Workspace" + description: "Workspace details including ID, name, full name, description, visibility, and timestamps." + EfsFileSystem: + type: object + properties: + id: + type: string + EksComputeConfig: + title: Amazon EKS cluster configuration + type: object + required: ["region", "clusterName", "workDir"] + properties: + workDir: + type: string + description: "Nextflow work directory (resource path). Must be a path accessible by the compute environment and credentials must have read-write access." + preRunScript: + type: string + description: "Add a script that executes in the nf-launch script prior to invoking Nextflow processes. See [Pre and post-run scripts](https://docs.seqera.io/platform-cloud/launch/advanced#pre-and-post-run-scripts)." + postRunScript: + type: string + description: "Add a script that executes after all Nextflow processes have completed. See [Pre and post-run scripts](https://docs.seqera.io/platform-cloud/launch/advanced#pre-and-post-run-scripts)." + environment: + type: array + items: + $ref: "#/components/schemas/ConfigEnvVariable" + description: "Array of environment variables to set for Nextflow execution." + nextflowConfig: + type: string + description: "Additional Nextflow configuration to apply. See [Nextflow config file](https://docs.seqera.io/platform-cloud/launch/advanced#nextflow-config-file)." + discriminator: + type: string + description: "Platform type discriminator (read-only, set based on platform selection)." + server: + type: string + description: "Kubernetes control plane URL (e.g., `https://your-k8s-host.com`)." + sslCert: + type: string + description: "SSL certificate to authenticate the connection with the Kubernetes cluster." + namespace: + type: string + description: "Kubernetes namespace for workflow execution. Default: `default`." + computeServiceAccount: + type: string + description: "Kubernetes service account to use for Nextflow-submitted pipeline jobs. Default: `default`." + headServiceAccount: + type: string + description: "Kubernetes service account to connect to the cluster and launch workflow executions. See [Cluster preparation](https://docs.seqera.io/platform-cloud/compute-envs/k8s#cluster-preparation)." + storageClaimName: + type: string + description: "PersistentVolumeClaim name used as scratch storage for workflow execution. Must allow `ReadWriteMany` access mode." + storageMountPath: + type: string + description: "Mount path of the persistent volume claim used as scratch storage. Default: `/scratch`." + podCleanup: + $ref: "#/components/schemas/PodCleanupPolicy" + description: "Pod cleanup policy after job completion." + headPodSpec: + type: string + description: "Custom configuration for the pod running the Nextflow head job. Must be a valid PodSpec YAML structure starting with `spec:`." + servicePodSpec: + type: string + description: "Custom configuration for the compute environment service pod. Must be a valid PodSpec YAML structure starting with `spec:`." + headJobCpus: + type: integer + format: int32 + description: "Number of CPUs allocated for the Nextflow head job." + headJobMemoryMb: + type: integer + format: int32 + description: "Memory allocation for the Nextflow head job in megabytes." + region: + type: string + description: AWS region + clusterName: + type: string + description: The AWS EKS cluster name + waveEnabled: + type: boolean + description: "Enable [Wave containers](https://docs.seqera.io/wave). Default: `false`." + fusion2Enabled: + type: boolean + description: "Enable [Fusion file system](https://docs.seqera.io/fusion). Requires Wave containers. Default: `false`." + EksPlatformMetaInfo: + type: object + properties: + discriminator: + type: string + description: "Platform type discriminator (read-only, set based on platform selection)." + warnings: + type: array + items: + type: string + clusters: + type: array + items: + type: string + title: Amazon EKS platform metainfo + EmptyBodyRequest: + type: object + ErrorResponse: + required: + - message + type: object + properties: + message: + type: string + EventType: + type: object + properties: + source: + type: string + display: + type: string + description: + type: string + enabled: + type: boolean + ForgeConfig: + type: object + properties: + type: + type: string + enum: + - SPOT + - EC2 + description: "Instance type. `EC2` deploys uninterruptible on-demand EC2 instances. `SPOT` deploys interruptible Spot instances (lower cost)." + minCpus: + type: integer + format: int32 + description: "Minimum CPUs provisioned in the compute environment." + maxCpus: + type: integer + format: int32 + description: "Maximum CPUs provisioned in the compute environment." + gpuEnabled: + type: boolean + description: "Enable GPU instances." + ebsAutoScale: + type: boolean + deprecated: true + description: "If true, provisions an EBS auto-expandable disk in the compute environment. Not compatible with Fusion file system." + instanceTypes: + type: array + items: + type: string + description: "Comma-separated list of allowed EC2 instance types." + allocStrategy: + type: string + enum: + - BEST_FIT + - BEST_FIT_PROGRESSIVE + - SPOT_CAPACITY_OPTIMIZED + - SPOT_PRICE_CAPACITY_OPTIMIZED + description: "Determines how Batch selects EC2 instances to carry out job executions. Default: `BEST_FIT_PROGRESSIVE` for on-demand instances and `SPOT_PRICE_CAPACITY_OPTIMIZED` for Spot instances." + imageId: + type: string + description: "Custom AMI ID to use for launching EC2 instances. Must be an AWS Linux-2 ECS-optimized image that meets the compute resource's AMI specification. If omitted, the latest approved version of the Amazon ECS-optimized AMI for compute resources is used." + vpcId: + type: string + description: "VPC ID for networking." + subnets: + type: array + items: + type: string + description: "List of VPC subnets to isolate EC2 resources from each other, or the internet." + securityGroups: + type: array + items: + type: string + description: "List of security group IDs to define a set of firewall rules that control EC2 compute node traffic." + fsxMount: + type: string + description: "FSx for Lustre mount point." + fsxName: + type: string + description: "FSx for Lustre file system name." + fsxSize: + type: integer + format: int32 + description: "FSx for Lustre file system size in GB." + disposeOnDeletion: + type: boolean + description: "If true, delete AWS resources when compute environment is deleted." + ec2KeyPair: + type: string + description: "EC2 key pair for SSH access." + allowBuckets: + type: array + items: + type: string + description: "List of additional S3 buckets accessible to compute environment." + ebsBlockSize: + type: integer + format: int32 + description: "EBS volume size in GB." + fusionEnabled: + type: boolean + deprecated: true + description: "Enable Fusion file system (v1)." + bidPercentage: + type: integer + format: int32 + description: "Maximum allowed price of a Spot instance, as a percentage of the on-demand price for that instance type. Spot instances will not be launched until the current spot price is below the specified cost percentage. Default: `100%`." + efsCreate: + type: boolean + description: "If true, creates new EFS file system." + efsId: + type: string + description: "Existing EFS file system ID." + efsMount: + type: string + description: "EFS file system mount point in containers." + dragenEnabled: + type: boolean + description: "Enable [DRAGEN](https://docs.seqera.io/platform-cloud/supported_software/dragen/overview) support." + dragenAmiId: + type: string + description: "AMI ID for [DRAGEN](https://docs.seqera.io/platform-cloud/supported_software/dragen/overview) instances." + ebsBootSize: + type: integer + format: int32 + description: "Boot disk size for instances, in GB." + ecsConfig: + type: string + description: "Custom configuration for the ECS agent parameters used by AWS Batch. Appended to the `/etc/ecs/ecs.config` file in each cluster node. Altering this file may result in a malfunctioning Batch Forge compute environment. See [ECS agent configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html)." + fargateHeadEnabled: + type: boolean + description: "Run Nextflow head job on Fargate container service. Requires Fusion file system and Spot instance provisioning model. Fargate is not compatible with EFS and FSx file systems." + arm64Enabled: + type: boolean + description: "Enable ARM64 (Graviton) instances. Requires Fargate, Wave containers, and Fusion file system." + dragenInstanceType: + type: string + description: "Instance type for DRAGEN workflows." + FsxFileSystem: + type: object + properties: + id: + type: string + dns: + type: string + mount: + type: string + GetProgressResponse: + type: object + properties: + progress: + $ref: "#/components/schemas/ProgressData" + GetWorkflowMetricsResponse: + type: object + properties: + metrics: + type: array + items: + $ref: "#/components/schemas/WorkflowMetrics" + GitHubSecurityKeys: + type: object + properties: + discriminator: + type: string + readOnly: true + username: + type: string + password: + type: string + writeOnly: true + title: GitHub credentials + GitLabSecurityKeys: + type: object + properties: + discriminator: + type: string + readOnly: true + token: + type: string + writeOnly: true + username: + type: string + password: + type: string + writeOnly: true + title: GitLab credentials + GiteaSecurityKeys: + type: object + properties: + discriminator: + type: string + readOnly: true + username: + type: string + password: + type: string + writeOnly: true + title: Gitea credentials + GithubActionConfig: + type: object + properties: + discriminator: + type: string + readOnly: true + events: + type: array + items: + type: string + title: GitHub action config + GithubActionEvent: + type: object + properties: + discriminator: + type: string + readOnly: true + ref: + type: string + commitId: + type: string + commitMessage: + type: string + pusherName: + type: string + pusherEmail: + type: string + timestamp: + type: string + format: date-time + title: GitHub action event + GkeComputeConfig: + title: Google GKE cluster configuration + type: object + required: + - region + - clusterName + - workDir + properties: + workDir: + type: string + description: "Nextflow work directory (resource path). Must be a path accessible by the compute environment and credentials must have read-write access." + preRunScript: + type: string + description: "Add a script that executes in the nf-launch script prior to invoking Nextflow processes. See [Pre and post-run scripts](https://docs.seqera.io/platform-cloud/launch/advanced#pre-and-post-run-scripts)." + postRunScript: + type: string + description: "Add a script that executes after all Nextflow processes have completed. See [Pre and post-run scripts](https://docs.seqera.io/platform-cloud/launch/advanced#pre-and-post-run-scripts)." + environment: + type: array + items: + $ref: "#/components/schemas/ConfigEnvVariable" + description: "Array of environment variables to set for Nextflow execution." + nextflowConfig: + type: string + description: "Additional Nextflow configuration to apply. See [Nextflow config file](https://docs.seqera.io/platform-cloud/launch/advanced#nextflow-config-file)." + discriminator: + type: string + description: "Platform type discriminator (read-only, set based on platform selection)." + server: + type: string + description: "Kubernetes control plane URL (e.g., `https://your-k8s-host.com`)." + sslCert: + type: string + description: "SSL certificate to authenticate the connection with the Kubernetes cluster." + namespace: + type: string + description: "Kubernetes namespace for workflow execution. Default: `default`." + computeServiceAccount: + type: string + description: "Kubernetes service account to use for Nextflow-submitted pipeline jobs. Default: `default`." + headServiceAccount: + type: string + description: "Kubernetes service account to connect to the cluster and launch workflow executions. See [Cluster preparation](https://docs.seqera.io/platform-cloud/compute-envs/k8s#cluster-preparation)." + storageClaimName: + type: string + description: "PersistentVolumeClaim name used as scratch storage for workflow execution. Must allow `ReadWriteMany` access mode." + storageMountPath: + type: string + description: "Mount path of the persistent volume claim used as scratch storage. Default: `/scratch`." + podCleanup: + $ref: "#/components/schemas/PodCleanupPolicy" + description: "Pod cleanup policy after job completion." + headPodSpec: + type: string + description: "Custom configuration for the pod running the Nextflow head job. Must be a valid PodSpec YAML structure starting with `spec:`." + servicePodSpec: + type: string + description: "Custom configuration for the compute environment service pod. Must be a valid PodSpec YAML structure starting with `spec:`." + headJobCpus: + type: integer + format: int32 + description: "Number of CPUs allocated for the Nextflow head job." + headJobMemoryMb: + type: integer + format: int32 + description: "Memory allocation for the Nextflow head job in megabytes." + region: + type: string + description: The GKE cluster region - or - zone + clusterName: + type: string + description: The GKE cluster name + fusion2Enabled: + type: boolean + description: "Enable [Fusion file system](https://docs.seqera.io/fusion). Requires Wave containers. Default: `false`." + waveEnabled: + type: boolean + description: "Enable [Wave containers](https://docs.seqera.io/wave). Default: `false`." + GkePlatformMetaInfo: + type: object + properties: + discriminator: + type: string + description: "Platform type discriminator (read-only, set based on platform selection)." + warnings: + type: array + items: + type: string + clusters: + type: array + items: + type: string + title: Google GKE platform metainfo + GoogleBatchConfig: + title: Google Batch service configuration + type: object + properties: + discriminator: + type: string + description: Platform type discriminator (read-only, set based on platform selection). + readOnly: true + location: + type: string + description: "Google Cloud location (region) for Batch jobs (e.g., `us-central1`)." + workDir: + type: string + description: "Nextflow work directory (resource path). Must be a path accessible by the compute environment and credentials must have read-write access." + spot: + type: boolean + description: "Use Spot instances." + bootDiskSizeGb: + type: integer + format: int32 + description: "Boot disk size in GB for compute instances." + cpuPlatform: + type: string + description: "Google Cloud Batch CPU platform." + machineType: + type: string + description: "Machine type for compute instances (e.g., `n1-standard-4`)." + projectId: + type: string + description: "Google Cloud project ID." + sshDaemon: + type: boolean + description: "Enable SSH daemon for debugging." + sshImage: + type: string + description: "Container image for SSH daemon." + debugMode: + type: integer + format: int32 + description: "Debug level (0-3) for troubleshooting." + copyImage: + type: string + description: "Container image for copying files." + usePrivateAddress: + type: boolean + description: "Use private IP addresses only (no external IPs)." + labels: + type: object + additionalProperties: + type: string + description: "Comma-separated list of labels to apply to Batch resources." + preRunScript: + type: string + description: "Add a script that executes in the nf-launch script prior to invoking Nextflow processes. See [Pre and post-run scripts](https://docs.seqera.io/platform-cloud/launch/advanced#pre-and-post-run-scripts)." + postRunScript: + type: string + description: "Add a script that executes after all Nextflow processes have completed. See [Pre and post-run scripts](https://docs.seqera.io/platform-cloud/launch/advanced#pre-and-post-run-scripts)." + headJobCpus: + type: integer + format: int32 + description: "Number of CPUs allocated for the Nextflow head job." + headJobMemoryMb: + type: integer + format: int32 + description: "Memory allocation for the Nextflow head job in megabytes." + nextflowConfig: + type: string + description: "Additional Nextflow configuration to apply. See [Nextflow config file](https://docs.seqera.io/platform-cloud/launch/advanced#nextflow-config-file)." + nfsTarget: + type: string + description: "NFS server target for shared storage." + nfsMount: + type: string + description: "NFS mount path in containers." + environment: + type: array + items: + $ref: "#/components/schemas/ConfigEnvVariable" + waveEnabled: + type: boolean + description: "Enable [Wave containers](https://docs.seqera.io/wave). Default: `false`." + fusion2Enabled: + type: boolean + description: "Enable [Fusion file system](https://docs.seqera.io/fusion). Requires Wave containers. Default: `false`." + serviceAccount: + type: string + description: "Specify a service account email address other than the Compute Engine default to execute workflows (recommended for production environments)." + network: + type: string + description: "VPC network name." + subnetwork: + type: string + description: "Subnetwork name within the VPC." + headJobInstanceTemplate: + type: string + description: "Specify the name or fully-qualified reference of a [VM instance template](https://cloud.google.com/compute/docs/instance-templates), without the `template://` prefix, to use for the Nextflow head job." + computeJobsInstanceTemplate: + type: string + description: "Specify the name or fully-qualified reference of a [VM instance template](https://cloud.google.com/compute/docs/instance-templates), without the `template://` prefix, to use for Nextflow compute jobs." + required: + - location + - workDir + GoogleBucket: + type: object + properties: + path: + type: string + GoogleCloudConfig: + title: Google Cloud configuration + type: object + properties: + discriminator: + type: string + description: Platform type discriminator (read-only, set based on platform selection). + readOnly: true + preRunScript: + type: string + description: "Add a script that executes in the nf-launch script prior to invoking Nextflow processes. See [Pre and post-run scripts](https://docs.seqera.io/platform-cloud/launch/advanced#pre-and-post-run-scripts)." + postRunScript: + type: string + description: "Add a script that executes after all Nextflow processes have completed. See [Pre and post-run scripts](https://docs.seqera.io/platform-cloud/launch/advanced#pre-and-post-run-scripts)." + workDir: + type: string + description: "Nextflow work directory (resource path). Must be a path accessible by the compute environment and credentials must have read-write access." + nextflowConfig: + type: string + description: "Additional Nextflow configuration to apply. See [Nextflow config file](https://docs.seqera.io/platform-cloud/launch/advanced#nextflow-config-file)." + environment: + type: array + items: + $ref: "#/components/schemas/ConfigEnvVariable" + waveEnabled: + type: boolean + description: "Enable [Wave containers](https://docs.seqera.io/wave). Default: `false`." + fusion2Enabled: + type: boolean + description: "Enable [Fusion file system](https://docs.seqera.io/fusion). Requires Wave containers. Default: `false`." + projectId: + type: string + description: "Google Cloud project ID." + region: + type: string + description: "Google Cloud region (e.g., `us-central1`)." + zone: + type: string + description: "Google Cloud zone within the region (e.g., `us-central1-a`). If omitted, defaults to the first zone in the alphabetical list." + serviceAccountEmail: + type: string + description: "Service account email for IAM access to instances." + instanceType: + type: string + description: "Machine type (e.g., `n1-standard-1`). If omitted, a default instance type is used." + imageId: + type: string + description: "ID of the image defining the operating system and pre-installed software for the VM. [Ubuntu LTS](https://cloud.google.com/compute/docs/images/os-details#ubuntu_lts) Google public images are supported. For GPU-enabled instances, a [Deep Learning VM](https://cloud.google.com/deep-learning-vm/docs/images#base_versions) base image with CUDA pre-installed is automatically selected. Optimized, Seqera-owned custom images will be available in a future release." + arm64Enabled: + type: boolean + description: "Enable ARM64 instances." + gpuEnabled: + type: boolean + description: "Enable GPU instances." + bootDiskSizeGb: + type: integer + format: int32 + description: "Size of the boot disk for the Compute Engine instance. `pd-standard` is used. If undefined, a default 50 GB volume is used." + forgedResources: + type: array + items: + type: object + additionalProperties: true + description: "Resources created by Cloud Forge (read-only)." + required: + - region + - workDir + GoogleCloudPlatformMetaInfo: + type: object + properties: + discriminator: + type: string + description: "Platform type discriminator (read-only, set based on platform selection)." + warnings: + type: array + items: + type: string + zones: + type: array + items: + type: string + buckets: + type: array + items: + $ref: "#/components/schemas/GoogleBucket" + instanceTypes: + type: array + items: + $ref: "#/components/schemas/GoogleInstanceType" + images: + type: array + items: + $ref: "#/components/schemas/GoogleImage" + title: Google Cloud platform metainfo + GoogleImage: + type: object + properties: + id: + type: string + name: + type: string + description: + type: string + arch: + type: string + GoogleInstanceType: + type: object + properties: + id: + type: string + arch: + type: string + GoogleLifeSciencesConfig: + title: Google life sciences configuration + type: object + properties: + discriminator: + type: string + description: Platform type discriminator (read-only, set based on platform selection). + readOnly: true + region: + type: string + zones: + type: array + items: + type: string + location: + type: string + workDir: + type: string + description: "Nextflow work directory (resource path). Must be a path accessible by the compute environment and credentials must have read-write access." + preemptible: + type: boolean + bootDiskSizeGb: + type: integer + format: int32 + projectId: + type: string + sshDaemon: + type: boolean + sshImage: + type: string + debugMode: + type: integer + format: int32 + copyImage: + type: string + usePrivateAddress: + type: boolean + labels: + type: object + additionalProperties: + type: string + preRunScript: + type: string + description: "Add a script that executes in the nf-launch script prior to invoking Nextflow processes. See [Pre and post-run scripts](https://docs.seqera.io/platform-cloud/launch/advanced#pre-and-post-run-scripts)." + postRunScript: + type: string + description: "Add a script that executes after all Nextflow processes have completed. See [Pre and post-run scripts](https://docs.seqera.io/platform-cloud/launch/advanced#pre-and-post-run-scripts)." + headJobCpus: + type: integer + format: int32 + headJobMemoryMb: + type: integer + format: int32 + nextflowConfig: + type: string + nfsTarget: + type: string + nfsMount: + type: string + environment: + type: array + items: + $ref: "#/components/schemas/ConfigEnvVariable" + GooglePlatformMetainfo: + type: object + properties: + locations: + type: array + items: + type: string + discriminator: + type: string + description: "Platform type discriminator (read-only, set based on platform selection)." + warnings: + type: array + items: + type: string + zones: + type: array + items: + type: string + buckets: + type: array + items: + $ref: "#/components/schemas/GooglePlatformMetainfo.Bucket" + filestores: + type: array + items: + $ref: "#/components/schemas/GooglePlatformMetainfo.Filestore" + title: Google Batch platform metainfo + GooglePlatformMetainfo.Bucket: + type: object + properties: + path: + type: string + GooglePlatformMetainfo.Filestore: + type: object + properties: + target: + type: string + name: + type: string + location: + type: string + GoogleSecurityKeys: + type: object + properties: + discriminator: + type: string + readOnly: true + data: + type: string + writeOnly: true + title: Google credentials + GridPlatformMetainfo: + type: object + properties: + discriminator: + type: string + description: "Platform type discriminator (read-only, set based on platform selection)." + title: Grid platform metainfo + Image: + required: + - arch + - description + - id + - name + type: object + properties: + id: + type: string + name: + type: string + description: + type: string + arch: + type: string + InstanceType: + required: + - arch + type: object + properties: + id: + type: string + arch: + type: string + Iterator_String_: + type: object + JobCleanupPolicy: + type: string + enum: + - on_success + - always + - never + x-enum-varnames: + - on_success + - always + - never + JobInfoDto: + type: object + properties: + id: + type: integer + format: int64 + operationId: + type: string + message: + type: string + status: + type: string + exitCode: + type: integer + format: int32 + JobQueue: + required: + - name + - state + type: object + properties: + name: + type: string + state: + type: string + K8sComputeConfig: + title: Kubernetes compute configuration + type: object + properties: + discriminator: + type: string + description: Platform type discriminator (read-only, set based on platform selection). + readOnly: true + workDir: + type: string + description: "Nextflow work directory (resource path). Must be a path accessible by the compute environment and credentials must have read-write access." + preRunScript: + type: string + description: "Add a script that executes in the nf-launch script prior to invoking Nextflow processes. See [Pre and post-run scripts](https://docs.seqera.io/platform-cloud/launch/advanced#pre-and-post-run-scripts)." + postRunScript: + type: string + description: "Add a script that executes after all Nextflow processes have completed. See [Pre and post-run scripts](https://docs.seqera.io/platform-cloud/launch/advanced#pre-and-post-run-scripts)." + server: + type: string + description: "Kubernetes control plane URL (e.g., `https://your-k8s-host.com`)." + sslCert: + type: string + description: "SSL certificate to authenticate the connection with the Kubernetes cluster." + namespace: + type: string + description: "Kubernetes namespace for workflow execution. Default: `default`." + computeServiceAccount: + type: string + description: "Kubernetes service account to use for Nextflow-submitted pipeline jobs. Default: `default`." + headServiceAccount: + type: string + description: "Kubernetes service account to connect to the cluster and launch workflow executions. See [Cluster preparation](https://docs.seqera.io/platform-cloud/compute-envs/k8s#cluster-preparation)." + storageClaimName: + type: string + description: "PersistentVolumeClaim name used as scratch storage for workflow execution, e.g., `tower-scratch`. Must allow `ReadWriteMany` access mode." + storageMountPath: + type: string + description: "Mount path of the persistent volume claim used as scratch storage. Default: `/scratch`." + podCleanup: + $ref: "#/components/schemas/PodCleanupPolicy" + description: "Pod cleanup policy after job completion." + enum: ["on_success", "always", "never", "on_success", "always", "never"] + headPodSpec: + type: string + description: "Custom configuration for the pod running the Nextflow head job, e.g., `nodeSelector` and `affinity` constraints. Must be a valid PodSpec YAML structure starting with `spec:`." + servicePodSpec: + type: string + description: "Custom configuration for the compute environment service pod, e.g., `nodeSelector` and `affinity` constraints. Must be a valid PodSpec YAML structure starting with `spec:`." + environment: + type: array + items: + $ref: "#/components/schemas/ConfigEnvVariable" + headJobCpus: + type: integer + format: int32 + description: "Number of CPUs allocated for the Nextflow head job." + headJobMemoryMb: + type: integer + format: int32 + description: "Memory allocation for the Nextflow head job in megabytes." + nextflowConfig: + type: string + description: "Additional Nextflow configuration to apply. See [Nextflow config file](https://docs.seqera.io/platform-cloud/launch/advanced#nextflow-config-file)." + required: + - server + - sslCert + - workDir + K8sPlatformMetaInfo: + type: object + properties: + discriminator: + type: string + description: "Platform type discriminator (read-only, set based on platform selection)." + title: Kubernetes platform metainfo + K8sSecurityKeys: + type: object + properties: + discriminator: + type: string + readOnly: true + certificate: + type: string + privateKey: + type: string + writeOnly: true + token: + type: string + writeOnly: true + title: Kubernetes credentials + LabelDbDto: + type: object + properties: + id: + type: integer + format: int64 + name: + type: string + value: + type: string + resource: + type: boolean + isDefault: + type: boolean + isDynamic: + type: boolean + isInterpolated: + type: boolean + dateCreated: + type: string + format: date-time + LabelType: + type: string + enum: + - simple + - resource + - all + x-enum-varnames: + - simple + - resource + - all + Launch: + required: + - dateCreated + - pipeline + type: object + properties: + id: + maxLength: 22 + type: string + computeEnv: + nullable: true + allOf: + - $ref: "#/components/schemas/ComputeEnv_ComputeConfig_" + pipeline: + maxLength: 200 + type: string + workDir: + type: string + revision: + maxLength: 100 + type: string + configText: + type: string + towerConfig: + type: string + paramsText: + type: string + preRunScript: + type: string + postRunScript: + type: string + mainScript: + maxLength: 200 + type: string + entryName: + maxLength: 80 + type: string + schemaName: + maxLength: 100 + pattern: "[\\p{Graph}&&[^/]]\\p{Graph}+" + type: string + resume: + type: boolean + resumeLaunchId: + maxLength: 22 + type: string + pullLatest: + type: boolean + stubRun: + type: boolean + sessionId: + maxLength: 36 + type: string + runName: + maxLength: 80 + type: string + configProfiles: + type: array + items: + type: string + userSecrets: + type: array + items: + type: string + workspaceSecrets: + type: array + items: + type: string + optimizationId: + maxLength: 32 + type: string + optimizationTargets: + type: string + headJobCpus: + type: integer + format: int32 + headJobMemoryMb: + type: integer + format: int32 + launchContainer: + type: string + dateCreated: + type: string + format: date-time + lastUpdated: + type: string + format: date-time + workspaceId: + type: integer + format: int64 + description: "Workspace numeric identifier associated with this launch." + LaunchActionRequest: + type: object + properties: + params: + type: object + additionalProperties: true + LaunchActionResponse: + type: object + properties: + workflowId: + type: string + ListAccessTokensResponse: + type: object + properties: + tokens: + type: array + items: + $ref: "#/components/schemas/AccessToken" + ListActionsResponse: + type: object + properties: + actions: + type: array + items: + $ref: "#/components/schemas/ListActionsResponse.ActionInfo" + ListActionsResponse.ActionInfo: + type: object + properties: + id: + type: string + name: + type: string + pipeline: + type: string + source: + $ref: "#/components/schemas/Action.Source" + status: + $ref: "#/components/schemas/Action.Status" + lastSeen: + type: string + format: date-time + dateCreated: + type: string + format: date-time + event: + $ref: "#/components/schemas/Action.EventType" + endpoint: + type: string + labels: + type: array + items: + $ref: "#/components/schemas/LabelDbDto" + usageCmd: + type: string + ListComputeEnvsResponse: + type: object + properties: + computeEnvs: + type: array + items: + $ref: "#/components/schemas/ListComputeEnvsResponse.Entry" + ListComputeEnvsResponse.Entry: + type: object + properties: + id: + type: string + name: + type: string + platform: + type: string + status: + $ref: "#/components/schemas/ComputeEnv.Status" + message: + type: string + lastUsed: + type: string + format: date-time + primary: + type: boolean + workspaceName: + type: string + visibility: + type: string + workDir: + type: string + credentialsId: + type: string + region: + type: string + ListCredentialsResponse: + type: object + properties: + credentials: + type: array + items: + $ref: "#/components/schemas/Credentials" + ListDatasetVersionsResponse: + type: object + properties: + versions: + type: array + items: + $ref: "#/components/schemas/DatasetVersionDto" + ListDatasetsResponse: + type: object + properties: + datasets: + type: array + items: + $ref: "#/components/schemas/DatasetDto" + ListEventTypesResponse: + type: object + properties: + eventTypes: + type: array + items: + $ref: "#/components/schemas/EventType" + ListLabelsResponse: + type: object + properties: + labels: + type: array + items: + $ref: "#/components/schemas/LabelDbDto" + totalSize: + type: integer + format: int64 + ListManagedCredentialsRespDto: + type: object + properties: + managedCredentialsId: + type: integer + format: int64 + description: "Managed credentials numeric identifier." + userId: + type: integer + format: int64 + description: "User numeric identifier associated with these credentials." + userName: + type: string + description: "Username of the associated user." + firstName: + type: string + description: "First name of the associated user." + lastName: + type: string + description: "Last name of the associated user." + avatarUrl: + type: string + description: "URL of the user's avatar image." + provider: + type: string + enum: + - ssh + description: "Authentication provider type." + metadata: + $ref: "#/components/schemas/ManagedCredentialsMetadata" + description: "Additional metadata for the managed credentials." + ListManagedCredentialsResponse: + type: object + properties: + managedCredentials: + type: array + items: + $ref: "#/components/schemas/ListManagedCredentialsRespDto" + description: "Array of managed credentials objects." + totalSize: + type: integer + format: int64 + description: "Total number of managed credentials matching the query." + ListManagedIdentitiesResponse: + type: object + properties: + managedIdentities: + type: array + items: + $ref: "#/components/schemas/ManagedIdentityDbDto_AbstractGridConfig_" + description: "Array of managed identities." + totalSize: + type: integer + format: int64 + description: "Total number of managed identities matching the query." + ListMembersResponse: + type: object + properties: + members: + type: array + items: + $ref: "#/components/schemas/MemberDbDto" + description: "Array of organization members matching the query criteria." + totalSize: + type: integer + format: int32 + description: "Total number of members in the organization." + ListOrganizationsResponse: + type: object + properties: + organizations: + type: array + items: + $ref: "#/components/schemas/OrganizationDbDto" + description: "Array of organizations to which the requesting user belongs." + totalSize: + type: integer + format: int32 + description: "Total number of organizations to which the requesting user belongs." + ListParticipantsResponse: + type: object + properties: + participants: + type: array + items: + $ref: "#/components/schemas/ParticipantResponseDto" + description: "Array of workspace participants matching the query criteria." + totalSize: + type: integer + format: int32 + description: "Total number of participants in the workspace." + ListPipelineInfoResponse: + type: object + properties: + pipelines: + type: array + items: + type: string + ListPipelineSecretsResponse: + type: object + properties: + pipelineSecrets: + type: array + items: + $ref: "#/components/schemas/PipelineSecret" + totalSize: + type: integer + format: int64 + ListPipelinesResponse: + type: object + properties: + pipelines: + type: array + items: + $ref: "#/components/schemas/PipelineDbDto" + totalSize: + type: integer + format: int64 + ListPlatformsResponse: + type: object + properties: + platforms: + type: array + items: + $ref: "#/components/schemas/ComputePlatform" + ListRegionsResponse: + type: object + properties: + regions: + type: array + items: + $ref: "#/components/schemas/ComputeRegion" + ListTasksResponse: + type: object + properties: + tasks: + type: array + items: + $ref: "#/components/schemas/DescribeTaskResponse" + total: + type: integer + format: int64 + ListTeamResponse: + type: object + properties: + teams: + type: array + items: + $ref: "#/components/schemas/TeamDbDto" + description: "Array of teams in the organization matching the query criteria." + totalSize: + type: integer + format: int32 + description: "Total number of teams in the organization." + ListWorkflowsResponse: + type: object + properties: + workflows: + type: array + items: + $ref: "#/components/schemas/ListWorkflowsResponse.ListWorkflowsElement" + totalSize: + type: integer + format: int64 + ListWorkflowsResponse.ListWorkflowsElement: + type: object + properties: + workflow: + $ref: "#/components/schemas/WorkflowDbDto" + progress: + $ref: "#/components/schemas/ProgressData" + orgId: + type: integer + format: int64 + orgName: + type: string + workspaceId: + type: integer + format: int64 + workspaceName: + type: string + labels: + type: array + items: + $ref: "#/components/schemas/LabelDbDto" + starred: + type: boolean + optimized: + type: boolean + ListWorkspacesAndOrgResponse: + type: object + properties: + orgsAndWorkspaces: + type: array + items: + $ref: "#/components/schemas/OrgAndWorkspaceDto" + description: "Array of organizations and their associated workspaces to which the user belongs." + ListWorkspacesResponse: + type: object + properties: + workspaces: + type: array + items: + $ref: "#/components/schemas/WorkspaceDbDto" + description: "Array of workspaces in the organization to which the requesting user belongs." + LocalPlatformMetainfo: + type: object + properties: + discriminator: + type: string + description: "Platform type discriminator (read-only, set based on platform selection)." + title: Local platform metainfo + Log: + type: object + properties: + name: + type: string + cmd: + type: array + items: + type: string + start_time: + type: string + end_time: + type: string + stdout: + type: string + stderr: + type: string + exit_code: + type: integer + format: int32 + LogPage: + type: object + properties: + truncated: + type: boolean + entries: + $ref: "#/components/schemas/Iterator_String_" + rewindToken: + type: string + forwardToken: + type: string + pending: + type: boolean + message: + type: string + downloads: + type: array + items: + $ref: "#/components/schemas/LogPage.Download" + LogPage.Download: + type: object + properties: + saveName: + type: string + fileName: + type: string + displayText: + type: string + LsfComputeConfig: + title: IBM LSF configuration + type: object + properties: + workDir: + type: string + description: "Nextflow work directory on the cluster's shared file system. Must be an absolute path and credentials must have read-write access." + preRunScript: + type: string + description: "Add a script that executes in the nf-launch script prior to invoking Nextflow processes. See [Pre and post-run scripts](https://docs.seqera.io/platform-cloud/launch/advanced#pre-and-post-run-scripts)." + postRunScript: + type: string + description: "Add a script that executes after all Nextflow processes have completed. See [Pre and post-run scripts](https://docs.seqera.io/platform-cloud/launch/advanced#pre-and-post-run-scripts)." + environment: + type: array + items: + $ref: "#/components/schemas/ConfigEnvVariable" + description: "Array of environment variables to set for Nextflow execution." + nextflowConfig: + type: string + description: "Additional Nextflow configuration to apply. See [Nextflow config file](https://docs.seqera.io/platform-cloud/launch/advanced#nextflow-config-file)." + discriminator: + type: string + description: "Platform type discriminator (read-only, set based on platform selection)." + launchDir: + type: string + description: "Directory where Nextflow runs. Must be an absolute path and credentials must have read-write access. If omitted, defaults to `workDir`." + userName: + type: string + description: "Username for SSH connection to HPC head node." + hostName: + type: string + description: "Hostname or IP address of HPC head node." + port: + type: integer + format: int32 + description: "SSH port. Default: `22`." + headQueue: + type: string + description: "The name of the queue on the cluster used to launch the Nextflow execution." + computeQueue: + type: string + description: "The name of queue on the cluster to which pipeline jobs are submitted. Can be overridden by the pipeline configuration." + maxQueueSize: + type: integer + format: int32 + description: "The maximum number of jobs Nextflow can submit to the queue simultaneously. Default: `100`." + headJobOptions: + type: string + description: "Additional submit options for the Nextflow head job." + propagateHeadJobOptions: + type: boolean + description: "If true, `headJobOptions` are also applied to the Nextflow-submitted compute jobs." + unitForLimits: + type: string + description: "Unit used for memory limits. Must match the LSF_UNIT_FOR_LIMITS value in `lsf.conf` file." + perJobMemLimit: + type: boolean + description: "Define whether memory limit is interpreted as per-job or per-process. Must match `LSB_JOB_MEMLIMIT` in `lsf.conf` file." + perTaskReserve: + type: boolean + description: "Define whether memory reservation is made on job tasks or per-host. Must match `RESOURCE_RESERVE_PER_TASK` value in `lsf.conf` file." + ManagedCredentialsDbDto: + type: object + properties: + id: + type: integer + format: int64 + description: "Managed credentials numeric identifier." + ManagedCredentialsMetadata: + type: object + properties: + discriminator: + type: string + readOnly: true + description: "Type discriminator for metadata structure (read-only)." + ManagedIdentityDbDto_AbstractGridConfig_: + type: object + properties: + id: + type: integer + format: int64 + description: "Managed identity numeric identifier." + name: + type: string + description: "Name of the managed identity." + platform: + type: string + enum: + - altair-platform + - lsf-platform + - moab-platform + - slurm-platform + - uge-platform + description: "HPC platform type." + config: + $ref: "#/components/schemas/AbstractGridConfig" + description: "HPC platform-specific configuration for the managed identity." + Map.Entry_String.String_: + type: object + properties: + key: + type: string + value: + type: string + MemberDbDto: + type: object + properties: + memberId: + type: integer + format: int64 + description: "Member numeric identifier." + userId: + type: integer + format: int64 + userName: + type: string + description: "Username of the organization member." + email: + type: string + description: "Email address of the organization member." + firstName: + type: string + description: "First name of the organization member." + lastName: + type: string + description: "Last name of the organization member." + avatar: + type: string + description: "Avatar image URL for the organization member." + role: + $ref: "#/components/schemas/OrgRole" + MoabComputeConfig: + title: Moab configuration + type: object + properties: + workDir: + type: string + description: "Nextflow work directory on the cluster's shared file system. Must be an absolute path and credentials must have read-write access." + preRunScript: + type: string + description: "Add a script that executes in the nf-launch script prior to invoking Nextflow processes. See [Pre and post-run scripts](https://docs.seqera.io/platform-cloud/launch/advanced#pre-and-post-run-scripts)." + postRunScript: + type: string + description: "Add a script that executes after all Nextflow processes have completed. See [Pre and post-run scripts](https://docs.seqera.io/platform-cloud/launch/advanced#pre-and-post-run-scripts)." + environment: + type: array + items: + $ref: "#/components/schemas/ConfigEnvVariable" + description: "Array of environment variables to set for Nextflow execution." + nextflowConfig: + type: string + description: "Additional Nextflow configuration to apply. See [Nextflow config file](https://docs.seqera.io/platform-cloud/launch/advanced#nextflow-config-file)." + discriminator: + type: string + description: "Platform type discriminator (read-only, set based on platform selection)." + launchDir: + type: string + description: "Directory where Nextflow runs. Must be an absolute path and credentials must have read-write access. If omitted, defaults to `workDir`." + userName: + type: string + description: "Username for SSH connection to HPC head node." + hostName: + type: string + description: "Hostname or IP address of HPC head node." + port: + type: integer + format: int32 + description: "SSH port. Default: `22`." + headQueue: + type: string + description: "The name of the queue on the cluster used to launch the Nextflow execution." + computeQueue: + type: string + description: "The name of queue on the cluster to which pipeline jobs are submitted. Can be overridden by the pipeline configuration." + maxQueueSize: + type: integer + format: int32 + description: "The maximum number of jobs Nextflow can submit to the queue simultaneously. Default: `100`." + headJobOptions: + type: string + description: "Additional submit options for the Nextflow head job." + propagateHeadJobOptions: + type: boolean + description: "If true, `headJobOptions` are also applied to the Nextflow-submitted compute jobs." + MultiRequestFileSchema: + type: object + properties: + file: + type: string + format: binary + NavbarConfig: + type: object + properties: + menus: + type: array + items: + $ref: "#/components/schemas/NavbarConfig.NavbarMenu" + NavbarConfig.NavbarMenu: + type: object + properties: + label: + type: string + url: + type: string + OrgAndWorkspaceDto: + type: object + properties: + orgId: + type: integer + format: int64 + orgName: + type: string + orgLogoUrl: + type: string + orgType: + $ref: "#/components/schemas/OrgType" + workspaceId: + type: integer + format: int64 + workspaceName: + type: string + workspaceFullName: + type: string + visibility: + $ref: "#/components/schemas/Visibility" + roles: + type: array + items: + type: string + OrgRole: + type: string + enum: + - owner + - member + - collaborator + x-enum-varnames: + - owner + - member + - collaborator + OrgType: + type: string + enum: + - academic + - evaluating + - pro + - basic + - internal + x-enum-varnames: + - academic + - evaluating + - pro + - basic + - internal + Organization: + required: + - fullName + - name + type: object + properties: + id: + type: integer + format: int64 + nullable: true + readOnly: true + description: "Organization numeric identifier." + name: + maxLength: 40 + pattern: "^[a-zA-Z\\d](?:[a-zA-Z\\d]|[-_](?=[a-zA-Z\\d])){1,38}$" + type: string + description: "Unique organization name. Must be 2-40 characters, start and end with alphanumeric characters, and can contain hyphens or underscores between characters." + fullName: + maxLength: 100 + type: string + description: "Full display name for the organization. Maximum 100 characters." + description: + maxLength: 1000 + type: string + description: "Optional description of the organization. Maximum 1000 characters." + location: + maxLength: 100 + type: string + description: "Optional location or address for the organization. Maximum 100 characters." + website: + pattern: "" + type: string + description: "Optional website URL for the organization." + dateCreated: + type: string + format: date-time + readOnly: true + description: "Timestamp when the organization was created." + lastUpdated: + type: string + format: date-time + readOnly: true + description: "Timestamp when the organization was last updated." + OrganizationDbDto: + type: object + properties: + paying: + type: boolean + deprecated: true + orgId: + type: integer + format: int64 + description: "Organization numeric identifier." + name: + type: string + description: "Unique organization name." + fullName: + type: string + description: "Full display name for the organization." + description: + type: string + description: "Organization description." + location: + type: string + description: "Organization location or address." + website: + type: string + description: "Organization website URL." + logoId: + type: string + description: "Logo image identifier for the organization." + logoUrl: + type: string + description: "Full URL to the organization logo image." + memberId: + type: integer + format: int64 + description: "Member numeric identifier for the requesting user within this organization." + memberRole: + $ref: "#/components/schemas/OrgRole" + description: "Organization role of the requesting user. Accepts `owner`, `admin`, `maintain`, or `view`. See [Organization user roles](https://docs.seqera.io/platform-cloud/orgs-and-teams/roles#organization-user-roles) for more information." + type: + $ref: "#/components/schemas/OrgType" + enum: + - pro + - basic + - academic + - evaluating + description: "Organization type. Accepts `pro`, `basic`, `academic`, or `evaluating`." + OrganizationQuotas: + type: object + properties: + maxWorkspaces: + type: integer + format: int64 + description: "Maximum number of workspaces allowed in the organization." + maxMembers: + type: integer + format: int64 + description: "Maximum number of members allowed in the organization." + maxTeams: + type: integer + format: int64 + description: "Maximum number of teams allowed in the organization." + maxPipelinesPerWorkspace: + type: integer + format: int64 + description: "Maximum number of pipelines allowed per workspace." + maxParticipantsPerWorkspace: + type: integer + format: int64 + description: "Maximum number of participants allowed per workspace." + maxDatasetsPerWorkspace: + type: integer + format: int64 + description: "Maximum number of datasets allowed per workspace." + maxVersionsPerDataset: + type: integer + format: int64 + description: "Maximum number of versions allowed per dataset." + maxRuns: + type: integer + format: int64 + description: "Maximum number of concurrent workflow runs allowed." + maxRunHistory: + type: integer + format: int64 + description: "Maximum number of workflow runs to retain in history." + maxLabelsPerWorkspace: + type: integer + format: int64 + description: "Maximum number of labels allowed per workspace." + maxDataStudiosRunning: + type: integer + format: int64 + description: "Maximum number of Studios instances that can run concurrently." + maxSeqeraComputeComputeEnvs: + type: integer + format: int64 + description: "Maximum number of Seqera Compute environments allowed per organization." + maxFusionThroughputBytes: + type: integer + format: int64 + description: "Maximum Fusion throughput in bytes allowed." + ParticipantType: + type: string + enum: + - MEMBER + - TEAM + - COLLABORATOR + PipelineDbDto: + type: object + properties: + pipelineId: + type: integer + format: int64 + name: + type: string + description: + type: string + icon: + type: string + repository: + type: string + userId: + type: integer + format: int64 + userName: + type: string + userFirstName: + type: string + userLastName: + type: string + orgId: + type: integer + format: int64 + orgName: + type: string + workspaceId: + type: integer + format: int64 + workspaceName: + type: string + visibility: + type: string + deleted: + type: boolean + lastUpdated: + type: string + format: date-time + optimizationId: + type: string + optimizationTargets: + type: string + optimizationStatus: + $ref: "#/components/schemas/PipelineOptimizationStatus" + labels: + type: array + items: + $ref: "#/components/schemas/LabelDbDto" + computeEnv: + $ref: "#/components/schemas/ComputeEnvDbDto" + PipelineInfo: + type: object + properties: + projectName: + type: string + simpleName: + type: string + repositoryUrl: + type: string + cloneUrl: + type: string + provider: + type: string + configFiles: + type: array + items: + type: string + workDirs: + type: array + items: + type: string + revisions: + type: array + items: + type: string + profiles: + type: array + items: + type: string + manifest: + $ref: "#/components/schemas/WfManifest" + warnings: + type: array + items: + type: string + PipelineOptimizationStatus: + type: string + enum: + - OPTIMIZED + - OPTIMIZABLE + - UNAVAILABLE + PipelineQueryAttribute: + type: string + enum: + - optimized + - labels + - computeEnv + x-enum-varnames: + - optimized + - labels + - computeEnv + PipelineSchemaAttributes: + type: string + enum: + - schema + - params + x-enum-varnames: + - schema + - params + PipelineSchemaResponse: + required: + - schema + type: object + properties: + schema: + type: string + params: + type: string + PipelineSecret: + required: + - name + type: object + properties: + id: + type: integer + format: int64 + nullable: true + name: + maxLength: 100 + pattern: "^[a-zA-Z_](?:[0-9A-Za-z]+|(_)(?!\\1)){1,49}$" + type: string + lastUsed: + type: string + format: date-time + readOnly: true + dateCreated: + type: string + format: date-time + readOnly: true + lastUpdated: + type: string + format: date-time + readOnly: true + PlatformMetainfo: + type: object + discriminator: + propertyName: discriminator + mapping: + gke-platform: "#/components/schemas/GkePlatformMetaInfo" + aws-cloud: "#/components/schemas/AwsCloudPlatformMetainfo" + seqeracompute: "#/components/schemas/SeqeraComputePlatformMetainfo" + k8s-platform: "#/components/schemas/K8sPlatformMetaInfo" + grid: "#/components/schemas/GridPlatformMetainfo" + aws-batch: "#/components/schemas/AwsBatchPlatformMetainfo" + google-cloud: "#/components/schemas/GoogleCloudPlatformMetaInfo" + local-platform: "#/components/schemas/LocalPlatformMetainfo" + azure-batch: "#/components/schemas/AzBatchPlatformMetainfo" + eks-platform: "#/components/schemas/EksPlatformMetaInfo" + oneOf: + - $ref: "#/components/schemas/AwsBatchPlatformMetainfo" + - $ref: "#/components/schemas/AwsCloudPlatformMetainfo" + - $ref: "#/components/schemas/GooglePlatformMetainfo" + - $ref: "#/components/schemas/GoogleCloudPlatformMetaInfo" + - $ref: "#/components/schemas/AzBatchPlatformMetainfo" + - $ref: "#/components/schemas/EksPlatformMetaInfo" + - $ref: "#/components/schemas/GkePlatformMetaInfo" + - $ref: "#/components/schemas/K8sPlatformMetaInfo" + - $ref: "#/components/schemas/GridPlatformMetainfo" + - $ref: "#/components/schemas/SeqeraComputePlatformDescriber" + - $ref: "#/components/schemas/LocalPlatformMetainfo" + properties: + discriminator: + type: string + PodCleanupPolicy: + type: string + enum: + - on_success + - always + - never + x-enum-varnames: + - on_success + - always + - never + ProcessLoad: + required: + - aborted + - cached + - cpuLoad + - cpuTime + - cpus + - failed + - ignored + - invCtxSwitch + - loadCpus + - loadMemory + - loadTasks + - memoryReq + - memoryRss + - peakCpus + - peakMemory + - peakTasks + - pending + - process + - readBytes + - retries + - running + - submitted + - succeeded + - volCtxSwitch + - writeBytes + type: object + properties: + pending: + type: integer + format: int64 + submitted: + type: integer + format: int64 + running: + type: integer + format: int64 + succeeded: + type: integer + format: int64 + failed: + type: integer + format: int64 + cached: + type: integer + format: int64 + aborted: + type: integer + format: int64 + retries: + type: integer + format: int64 + ignored: + type: integer + format: int64 + memoryEfficiency: + type: number + format: float + cpuEfficiency: + type: number + format: float + dateCreated: + type: string + format: date-time + lastUpdated: + type: string + format: date-time + version: + type: integer + format: int64 + process: + type: string + cpus: + type: integer + format: int64 + deprecated: true + cpuTime: + type: integer + format: int64 + deprecated: true + cpuLoad: + type: integer + format: int64 + deprecated: true + memoryRss: + type: integer + format: int64 + deprecated: true + memoryReq: + type: integer + format: int64 + deprecated: true + readBytes: + type: integer + format: int64 + deprecated: true + writeBytes: + type: integer + format: int64 + deprecated: true + volCtxSwitch: + type: integer + format: int64 + deprecated: true + invCtxSwitch: + type: integer + format: int64 + deprecated: true + loadTasks: + type: integer + format: int64 + deprecated: true + loadCpus: + type: integer + format: int64 + loadMemory: + type: integer + format: int64 + peakCpus: + type: integer + format: int64 + peakTasks: + type: integer + format: int64 + peakMemory: + type: integer + format: int64 + ProgressData: + type: object + properties: + workflowProgress: + $ref: "#/components/schemas/WorkflowLoad" + processesProgress: + type: array + items: + $ref: "#/components/schemas/ProcessLoad" + totalProcesses: + type: integer + format: int32 + RandomWorkflowNameResponse: + type: object + properties: + name: + type: string + ResourceData: + type: object + properties: + warnings: + type: array + items: + type: string + mean: + type: number + format: float + min: + type: number + format: float + q1: + type: number + format: float + q2: + type: number + format: float + q3: + type: number + format: float + max: + type: number + format: float + minLabel: + type: string + maxLabel: + type: string + q1Label: + type: string + q2Label: + type: string + q3Label: + type: string + RunId: + type: object + properties: + run_id: + type: string + RunListResponse: + type: object + properties: + runs: + type: array + items: + $ref: "#/components/schemas/RunStatus" + next_page_token: + type: string + RunLog: + type: object + properties: + run_id: + type: string + request: + $ref: "#/components/schemas/RunRequest" + state: + $ref: "#/components/schemas/State" + run_log: + $ref: "#/components/schemas/Log" + task_logs: + type: array + items: + $ref: "#/components/schemas/Log" + outputs: {} + RunRequest: + type: object + properties: + workflow_params: + type: string + workflow_type: + type: string + workflow_type_version: + type: string + tags: + type: object + additionalProperties: + type: string + workflow_engine_parameters: + type: object + additionalProperties: + type: string + workflow_url: + type: string + RunStatus: + type: object + properties: + run_id: + type: string + state: + $ref: "#/components/schemas/State" + S3SecurityKeys: + type: object + properties: + discriminator: + type: string + readOnly: true + accessKey: + type: string + secretKey: + type: string + writeOnly: true + pathStyleAccessEnabled: + type: boolean + title: S3-compatible credentials + SSHSecurityKeys: + type: object + properties: + discriminator: + type: string + readOnly: true + privateKey: + type: string + writeOnly: true + passphrase: + type: string + writeOnly: true + title: SSH credentials + SecurityGroup: + type: object + properties: + id: + type: string + name: + type: string + vpcId: + type: string + SecurityKeys: + type: object + properties: + discriminator: + type: string + discriminator: + propertyName: discriminator + mapping: + s3: "#/components/schemas/S3SecurityKeys" + github: "#/components/schemas/GitHubSecurityKeys" + azurerepos: "#/components/schemas/AzureReposSecurityKeys" + azure_entra: "#/components/schemas/AzureEntraKeys" + container-reg: "#/components/schemas/ContainerRegistryKeys" + tw-agent: "#/components/schemas/AgentSecurityKeys" + k8s: "#/components/schemas/K8sSecurityKeys" + ssh: "#/components/schemas/SSHSecurityKeys" + google: "#/components/schemas/GoogleSecurityKeys" + bitbucket: "#/components/schemas/BitBucketSecurityKeys" + gitea: "#/components/schemas/GiteaSecurityKeys" + seqeracompute: "#/components/schemas/SeqeraComputeSecurityKeys" + codecommit: "#/components/schemas/CodeCommitSecurityKeys" + gitlab: "#/components/schemas/GitLabSecurityKeys" + aws: "#/components/schemas/AwsSecurityKeys" + azure: "#/components/schemas/AzureSecurityKeys" + oneOf: + - $ref: "#/components/schemas/AwsSecurityKeys" + - $ref: "#/components/schemas/GoogleSecurityKeys" + - $ref: "#/components/schemas/GitHubSecurityKeys" + - $ref: "#/components/schemas/GitLabSecurityKeys" + - $ref: "#/components/schemas/BitBucketSecurityKeys" + - $ref: "#/components/schemas/GiteaSecurityKeys" + - $ref: "#/components/schemas/SSHSecurityKeys" + - $ref: "#/components/schemas/K8sSecurityKeys" + - $ref: "#/components/schemas/AzureSecurityKeys" + - $ref: "#/components/schemas/AzureReposSecurityKeys" + - $ref: "#/components/schemas/ContainerRegistryKeys" + - $ref: "#/components/schemas/AgentSecurityKeys" + - $ref: "#/components/schemas/CodeCommitSecurityKeys" + - $ref: "#/components/schemas/AzureEntraKeys" + - $ref: "#/components/schemas/SeqeraComputeSecurityKeys" + - $ref: "#/components/schemas/S3SecurityKeys" + SeqeraComputeConfig: + title: Seqera Compute configuration + type: object + properties: + discriminator: + type: string + description: Platform type discriminator (read-only, set based on platform selection). + readOnly: true + region: + type: string + description: "Target execution region. See supported AWS regions [under step 4 here](https://docs.seqera.io/platform-cloud/compute-envs/seqera-compute#create-a-seqera-compute-environment)." + workDir: + type: string + description: "Nextflow work directory (resource path). Must be a path accessible by the compute environment and credentials must have read-write access." + preRunScript: + type: string + description: "Add a script that executes in the nf-launch script prior to invoking Nextflow processes. See [Pre and post-run scripts](https://docs.seqera.io/platform-cloud/launch/advanced#pre-and-post-run-scripts)." + postRunScript: + type: string + description: "Add a script that executes after all Nextflow processes have completed. See [Pre and post-run scripts](https://docs.seqera.io/platform-cloud/launch/advanced#pre-and-post-run-scripts)." + defaultDataRetentionPolicy: + type: boolean + description: "If true, intermediary files are deleted after 28 days to manage storage cost/usage." + nextflowConfig: + type: string + environment: + type: array + items: + $ref: "#/components/schemas/ConfigEnvVariable" + required: + - region + - workDir + SeqeraComputePlatformDescriber: + type: object + SeqeraComputePlatformMetainfo: + type: object + properties: + warnings: + type: array + items: + type: string + jobQueues: + type: array + items: + $ref: "#/components/schemas/JobQueue" + buckets: + type: array + items: + $ref: "#/components/schemas/Bucket" + fileSystems: + type: array + items: + $ref: "#/components/schemas/FsxFileSystem" + efsFileSystems: + type: array + items: + $ref: "#/components/schemas/EfsFileSystem" + keyPairs: + type: array + items: + type: string + vpcs: + type: array + items: + $ref: "#/components/schemas/Vpc" + images: + type: array + items: + $ref: "#/components/schemas/Image" + securityGroups: + type: array + items: + $ref: "#/components/schemas/SecurityGroup" + subnets: + type: array + items: + $ref: "#/components/schemas/Subnet" + instanceFamilies: + type: array + items: + type: string + allocStrategy: + type: array + items: + type: string + instanceTypes: + type: array + items: + $ref: "#/components/schemas/InstanceType" + discriminator: + type: string + description: "Platform type discriminator (read-only, set based on platform selection)." + title: Seqera Compute platform metainfo + SeqeraComputeSecurityKeys: + type: object + title: Seqera Compute credentials + properties: + discriminator: + type: string + accessKey: + type: string + description: "Seqera Compute access key." + secretKey: + type: string + writeOnly: true + description: "Seqera Compute secret key." + assumeRoleArn: + type: string + description: "Optional IAM role ARN to assume." + ServiceInfo: + type: object + properties: + version: + type: string + apiVersion: + type: string + commitId: + type: string + authTypes: + type: array + items: + type: string + loginPath: + type: string + navbar: + $ref: "#/components/schemas/NavbarConfig" + heartbeatInterval: + type: integer + format: int32 + userWorkspaceEnabled: + type: boolean + allowInstanceCredentials: + type: boolean + landingUrl: + type: string + termsOfUseUrl: + type: string + contentUrl: + type: string + analytics: + $ref: "#/components/schemas/Analytics" + allowLocalRepos: + type: boolean + deprecated: true + contentMaxFileSize: + type: integer + format: int64 + waveEnabled: + type: boolean + groundswellEnabled: + type: boolean + groundswellAllowedWorkspaces: + type: array + items: + type: integer + format: int64 + scmsServerUrl: + type: string + forgePrefix: + type: string + seqeraCloud: + type: boolean + evalWorkspaceIds: + type: array + items: + type: integer + format: int64 + contactEmail: + type: string + allowNextflowCliLogs: + type: boolean + logoutUrl: + type: string + nullable: true + seqeraAiBaseUrl: + type: string + nullable: true + description: "Base URL for Seqera AI services. Can be `null` if not configured." + ServiceInfoResponse: + type: object + properties: + serviceInfo: + $ref: "#/components/schemas/ServiceInfo" + SlurmComputeConfig: + title: Slurm configuration + type: object + properties: + workDir: + type: string + description: "Nextflow work directory on the cluster's shared file system. Must be an absolute path and credentials must have read-write access." + preRunScript: + type: string + description: "Add a script that executes in the nf-launch script prior to invoking Nextflow processes. See [Pre and post-run scripts](https://docs.seqera.io/platform-cloud/launch/advanced#pre-and-post-run-scripts)." + postRunScript: + type: string + description: "Add a script that executes after all Nextflow processes have completed. See [Pre and post-run scripts](https://docs.seqera.io/platform-cloud/launch/advanced#pre-and-post-run-scripts)." + environment: + type: array + items: + $ref: "#/components/schemas/ConfigEnvVariable" + description: "Array of environment variables to set for Nextflow execution." + nextflowConfig: + type: string + description: "Additional Nextflow configuration to apply. See [Nextflow config file](https://docs.seqera.io/platform-cloud/launch/advanced#nextflow-config-file)." + discriminator: + type: string + description: "Platform type discriminator (read-only, set based on platform selection)." + launchDir: + type: string + description: "Directory where Nextflow runs. Must be an absolute path and credentials must have read-write access. If omitted, defaults to `workDir`." + userName: + type: string + description: "Username for SSH connection to HPC head node." + hostName: + type: string + description: "Hostname or IP address of HPC head node." + port: + type: integer + format: int32 + description: "SSH port. Default: `22`." + headQueue: + type: string + description: "The name of the queue on the cluster used to launch the Nextflow execution." + computeQueue: + type: string + description: "The name of queue on the cluster to which pipeline jobs are submitted. Can be overridden by the pipeline configuration." + maxQueueSize: + type: integer + format: int32 + description: "The maximum number of jobs Nextflow can submit to the queue simultaneously. Default: `100`." + headJobOptions: + type: string + description: "Additional submit options for the Nextflow head job." + propagateHeadJobOptions: + type: boolean + description: "If true, `headJobOptions` are also applied to the Nextflow-submitted compute jobs." + State: + type: string + enum: + - UNKNOWN + - QUEUED + - INITIALIZING + - RUNNING + - PAUSED + - COMPLETE + - EXECUTOR_ERROR + - SYSTEM_ERROR + - CANCELED + - CANCELING + StudioCheckpointStatus: + type: string + enum: + - empty + - interim + - finalized + - invalid + x-enum-varnames: + - empty + - interim + - finalized + - invalid + SubmitWorkflowLaunchRequest: + type: object + properties: + launch: + $ref: "#/components/schemas/WorkflowLaunchRequest" + SubmitWorkflowLaunchResponse: + type: object + properties: + workflowId: + type: string + Subnet: + type: object + properties: + id: + type: string + zone: + type: string + vpcId: + type: string + Task: + required: + - status + - taskId + type: object + properties: + hash: + type: string + name: + type: string + process: + type: string + tag: + type: string + submit: + type: string + format: date-time + start: + type: string + format: date-time + complete: + type: string + format: date-time + module: + type: array + items: + type: string + container: + type: string + attempt: + type: integer + format: int32 + script: + type: string + scratch: + type: string + workdir: + type: string + queue: + type: string + cpus: + type: integer + format: int32 + memory: + type: integer + format: int64 + disk: + type: integer + format: int64 + time: + type: integer + format: int64 + env: + type: string + executor: + type: string + machineType: + type: string + cloudZone: + type: string + priceModel: + $ref: "#/components/schemas/CloudPriceModel" + cost: + type: number + errorAction: + type: string + exitStatus: + type: integer + format: int32 + duration: + type: integer + format: int64 + realtime: + type: integer + format: int64 + nativeId: + type: string + pcpu: + type: number + format: double + pmem: + type: number + format: double + rss: + type: integer + format: int64 + vmem: + type: integer + format: int64 + peakRss: + type: integer + format: int64 + peakVmem: + type: integer + format: int64 + rchar: + type: integer + format: int64 + wchar: + type: integer + format: int64 + syscr: + type: integer + format: int64 + syscw: + type: integer + format: int64 + readBytes: + type: integer + format: int64 + writeBytes: + type: integer + format: int64 + volCtxt: + type: integer + format: int64 + invCtxt: + type: integer + format: int64 + exit: + type: integer + format: int32 + id: + type: integer + format: int64 + nullable: true + taskId: + type: integer + format: int64 + status: + $ref: "#/components/schemas/TaskStatus" + dateCreated: + type: string + format: date-time + nullable: true + lastUpdated: + type: string + format: date-time + nullable: true + TaskStatus: + type: string + enum: + - NEW + - SUBMITTED + - RUNNING + - CACHED + - COMPLETED + - FAILED + - ABORTED + Team: + required: + - name + type: object + properties: + id: + type: integer + format: int64 + nullable: true + readOnly: true + description: "Team numeric identifier." + name: + maxLength: 40 + pattern: "^[a-zA-Z\\d](?:[a-zA-Z\\d]|[-_](?=[a-zA-Z\\d])){1,38}$" + type: string + description: "Unique team name within the organization." + description: + maxLength: 250 + type: string + description: "Optional description of the team." + dateCreated: + type: string + format: date-time + readOnly: true + lastUpdated: + type: string + format: date-time + readOnly: true + TeamDbDto: + type: object + properties: + teamId: + type: integer + format: int64 + description: "Team numeric identifier." + name: + type: string + description: "Team name." + description: + type: string + description: "Team description." + avatarUrl: + type: string + description: "Full URL to the team avatar image." + membersCount: + type: integer + format: int32 + description: "Number of members in the team." + TraceBeginRequest: + type: object + properties: + launchId: + type: string + deprecated: true + workflow: + $ref: "#/components/schemas/Workflow" + processNames: + type: array + items: + type: string + towerLaunch: + type: boolean + TraceBeginResponse: + type: object + properties: + status: + $ref: "#/components/schemas/TraceProcessingStatus" + workflowId: + type: string + watchUrl: + type: string + TraceCompleteRequest: + type: object + properties: + workflow: + $ref: "#/components/schemas/Workflow" + metrics: + type: array + items: + $ref: "#/components/schemas/WorkflowMetrics" + progress: + $ref: "#/components/schemas/TraceProgressData" + TraceCompleteResponse: + type: object + properties: + status: + $ref: "#/components/schemas/TraceProcessingStatus" + workflowId: + type: string + TraceCreateRequest: + type: object + properties: + launchId: + type: string + deprecated: true + sessionId: + type: string + runName: + type: string + projectName: + type: string + repository: + type: string + workflowId: + type: string + TraceCreateResponse: + type: object + properties: + message: + type: string + workflowId: + type: string + TraceHeartbeatRequest: + type: object + properties: + progress: + $ref: "#/components/schemas/TraceProgressData" + TraceHeartbeatResponse: + type: object + properties: + message: + type: string + TraceProcessingStatus: + type: string + enum: + - OK + - KO + TraceProgressData: + type: object + properties: + pending: + type: integer + format: int32 + submitted: + type: integer + format: int32 + running: + type: integer + format: int32 + succeeded: + type: integer + format: int32 + cached: + type: integer + format: int32 + failed: + type: integer + format: int32 + aborted: + type: integer + format: int32 + stored: + type: integer + format: int32 + ignored: + type: integer + format: int32 + retries: + type: integer + format: int32 + loadCpus: + type: integer + format: int64 + loadMemory: + type: integer + format: int64 + peakRunning: + type: integer + format: int32 + peakCpus: + type: integer + format: int64 + peakMemory: + type: integer + format: int64 + processes: + type: array + items: + $ref: "#/components/schemas/TraceProgressDetail" + TraceProgressDetail: + type: object + properties: + index: + type: integer + format: int32 + name: + type: string + pending: + type: integer + format: int32 + submitted: + type: integer + format: int32 + running: + type: integer + format: int32 + succeeded: + type: integer + format: int32 + cached: + type: integer + format: int32 + failed: + type: integer + format: int32 + aborted: + type: integer + format: int32 + stored: + type: integer + format: int32 + ignored: + type: integer + format: int32 + retries: + type: integer + format: int32 + terminated: + type: boolean + loadCpus: + type: integer + format: int64 + loadMemory: + type: integer + format: int64 + peakRunning: + type: integer + format: int32 + peakCpus: + type: integer + format: int64 + peakMemory: + type: integer + format: int64 + TraceProgressRequest: + type: object + properties: + tasks: + type: array + items: + $ref: "#/components/schemas/Task" + progress: + $ref: "#/components/schemas/TraceProgressData" + containers: + type: array + items: + $ref: "#/components/schemas/ContainerData" + TraceProgressResponse: + type: object + properties: + status: + $ref: "#/components/schemas/TraceProcessingStatus" + workflowId: + type: string + UnivaComputeConfig: + title: Univa Grid Engine configuration + type: object + properties: + workDir: + type: string + description: "Nextflow work directory on the cluster's shared file system. Must be an absolute path and credentials must have read-write access." + preRunScript: + type: string + description: "Add a script that executes in the nf-launch script prior to invoking Nextflow processes. See [Pre and post-run scripts](https://docs.seqera.io/platform-cloud/launch/advanced#pre-and-post-run-scripts)." + postRunScript: + type: string + description: "Add a script that executes after all Nextflow processes have completed. See [Pre and post-run scripts](https://docs.seqera.io/platform-cloud/launch/advanced#pre-and-post-run-scripts)." + environment: + type: array + items: + $ref: "#/components/schemas/ConfigEnvVariable" + description: "Array of environment variables to set for Nextflow execution." + nextflowConfig: + type: string + description: "Additional Nextflow configuration to apply. See [Nextflow config file](https://docs.seqera.io/platform-cloud/launch/advanced#nextflow-config-file)." + discriminator: + type: string + description: "Platform type discriminator (read-only, set based on platform selection)." + launchDir: + type: string + description: "Directory where Nextflow runs. Must be an absolute path and credentials must have read-write access. If omitted, defaults to `workDir`." + userName: + type: string + description: "Username for SSH connection to HPC head node." + hostName: + type: string + description: "Hostname or IP address of HPC head node." + port: + type: integer + format: int32 + description: "SSH port. Default: `22`." + headQueue: + type: string + description: "The name of the queue on the cluster used to launch the Nextflow execution." + computeQueue: + type: string + description: "The name of queue on the cluster to which pipeline jobs are submitted. Can be overridden by the pipeline configuration." + maxQueueSize: + type: integer + format: int32 + description: "The maximum number of jobs Nextflow can submit to the queue simultaneously. Default: `100`." + headJobOptions: + type: string + description: "Additional submit options for the Nextflow head job." + propagateHeadJobOptions: + type: boolean + description: "If true, `headJobOptions` are also applied to the Nextflow-submitted compute jobs." + UpdateActionRequest: + type: object + properties: + name: + type: string + launch: + $ref: "#/components/schemas/WorkflowLaunchRequest" + UpdateComputeEnvRequest: + type: object + properties: + name: + type: string + description: "New name for the compute environment. Must be unique within workspace." + credentialsId: + type: string + description: "Updated credentials identifier. Changing credentials may affect running workflows." + UpdateCredentialsRequest: + type: object + properties: + credentials: + $ref: "#/components/schemas/Credentials" + UpdateDatasetRequest: + type: object + properties: + name: + type: string + description: + type: string + UpdateLabelRequest: + type: object + properties: + name: + type: string + value: + type: string + isDefault: + type: boolean + UpdateLabelResponse: + type: object + properties: + id: + type: integer + format: int64 + name: + type: string + value: + type: string + isDefault: + type: boolean + UpdateManagedCredentialsRequest: + type: object + properties: + provider: + type: string + enum: + - ssh + description: "Authentication provider type. Currently supports `ssh`." + credentials: + $ref: "#/components/schemas/Credentials" + description: "Updated authentication credentials configuration." + metadata: + $ref: "#/components/schemas/ManagedCredentialsMetadata" + description: "Additional metadata for the managed credentials." + UpdateManagedIdentityRequest: + type: object + properties: + managedIdentity: + $ref: "#/components/schemas/ManagedIdentityDbDto_AbstractGridConfig_" + description: "Updated managed identity configuration object." + UpdateMemberRoleRequest: + type: object + properties: + role: + $ref: "#/components/schemas/OrgRole" + description: "Updated organization role for the member. Accepts: `owner`, `member`. See [Organization user roles](https://docs.seqera.io/platform-cloud/orgs-and-teams/roles#organization-user-roles) for more information." + UpdateOrganizationRequest: + type: object + properties: + fullName: + type: string + name: + type: string + description: + type: string + location: + type: string + website: + type: string + logoId: + type: string + description: "Updated logo image identifier for the organization. See [Create avatar](https://docs.seqera.io/platform-api/create-avatar) to upload images and obtain a logo ID." + paying: + type: boolean + nullable: true + deprecated: true + type: + nullable: true + allOf: + - $ref: "#/components/schemas/OrgType" + UpdateParticipantRoleRequest: + type: object + properties: + role: + description: "Workspace participant role to assign." + type: string + UpdatePipelineRequest: + type: object + properties: + name: + type: string + description: "Pipeline name. Must be unique within the workspace." + description: + type: string + description: "Pipeline description." + icon: + type: string + description: "Pipeline icon URL." + launch: + $ref: "#/components/schemas/WorkflowLaunchRequest" + description: "Launch configuration for the pipeline." + labelIds: + type: array + items: + type: integer + format: int64 + description: "Array of label IDs to assign to the pipeline. If null, empty, or omitted, all existing labels are removed. Label IDs to be preserved must be included in your request." + UpdatePipelineResponse: + type: object + properties: + pipeline: + $ref: "#/components/schemas/PipelineDbDto" + UpdatePipelineSecretRequest: + type: object + properties: + value: + type: string + UpdateTeamRequest: + type: object + properties: + name: + type: string + description: + type: string + avatarId: + type: string + description: "Updated avatar image identifier for the team. See [Create avatar](https://docs.seqera.io/platform-api/create-avatar) to upload images and obtain an avatar ID." + UpdateWorkspaceRequest: + type: object + properties: + name: + type: string + fullName: + type: string + description: + type: string + visibility: + $ref: "#/components/schemas/Visibility" + UploadDatasetVersionResponse: + type: object + properties: + version: + $ref: "#/components/schemas/DatasetVersionDto" + UploadEtag: + type: object + properties: + partNumber: + type: integer + format: int32 + eTag: + type: string + UserInfo: + required: + - avatar + - email + - id + - userName + type: object + properties: + id: + type: integer + format: int64 + userName: + type: string + email: + type: string + avatar: + type: string + Visibility: + type: string + enum: + - PRIVATE + - SHARED + Vpc: + type: object + properties: + id: + type: string + isDefault: + type: boolean + WesErrorResponse: + type: object + properties: + msg: + type: string + status_code: + type: integer + format: int32 + WfFusionMeta: + type: object + properties: + enabled: + type: boolean + version: + maxLength: 20 + type: string + WfManifest: + type: object + properties: + nextflowVersion: + maxLength: 20 + type: string + defaultBranch: + maxLength: 20 + type: string + version: + maxLength: 20 + type: string + homePage: + maxLength: 200 + type: string + gitmodules: + maxLength: 150 + type: string + description: + maxLength: 1024 + type: string + name: + maxLength: 150 + type: string + mainScript: + maxLength: 100 + type: string + author: + maxLength: 150 + type: string + icon: + maxLength: 255 + type: string + WfNextflow: + type: object + properties: + version: + maxLength: 20 + type: string + build: + maxLength: 10 + type: string + timestamp: + type: string + format: date-time + WfStats: + type: object + properties: + computeTimeFmt: + maxLength: 50 + type: string + cachedCount: + type: integer + format: int32 + failedCount: + type: integer + format: int32 + ignoredCount: + type: integer + format: int32 + succeedCount: + type: integer + format: int32 + cachedCountFmt: + type: string + succeedCountFmt: + type: string + failedCountFmt: + type: string + ignoredCountFmt: + type: string + cachedPct: + type: number + format: float + failedPct: + type: number + format: float + succeedPct: + type: number + format: float + ignoredPct: + type: number + format: float + cachedDuration: + type: integer + format: int64 + failedDuration: + type: integer + format: int64 + succeedDuration: + type: integer + format: int64 + WfWaveMeta: + type: object + properties: + enabled: + type: boolean + Workflow: + required: + - commandLine + - projectName + - runName + - sessionId + - submit + - userName + - workDir + type: object + properties: + requiresAttention: + type: boolean + status: + $ref: "#/components/schemas/WorkflowStatus" + ownerId: + type: integer + format: int64 + readOnly: true + repository: + type: string + id: + maxLength: 16 + type: string + submit: + type: string + format: date-time + start: + type: string + format: date-time + complete: + type: string + format: date-time + dateCreated: + type: string + format: date-time + nullable: true + readOnly: true + lastUpdated: + type: string + format: date-time + nullable: true + readOnly: true + runName: + maxLength: 80 + type: string + sessionId: + maxLength: 36 + type: string + profile: + maxLength: 100 + type: string + workDir: + type: string + commitId: + maxLength: 40 + type: string + userName: + maxLength: 40 + type: string + scriptId: + maxLength: 40 + type: string + revision: + maxLength: 100 + type: string + commandLine: + maxLength: 8096 + type: string + projectName: + maxLength: 200 + type: string + scriptName: + maxLength: 100 + type: string + launchId: + maxLength: 22 + type: string + configFiles: + type: array + items: + type: string + params: + type: object + additionalProperties: true + configText: + type: string + manifest: + $ref: "#/components/schemas/WfManifest" + nextflow: + $ref: "#/components/schemas/WfNextflow" + stats: + $ref: "#/components/schemas/WfStats" + fusion: + $ref: "#/components/schemas/WfFusionMeta" + wave: + $ref: "#/components/schemas/WfWaveMeta" + errorMessage: + type: string + errorReport: + type: string + deleted: + type: boolean + readOnly: true + projectDir: + type: string + homeDir: + type: string + container: + type: string + containerEngine: + type: string + scriptFile: + type: string + launchDir: + type: string + duration: + type: integer + format: int64 + exitStatus: + type: integer + format: int32 + resume: + type: boolean + success: + type: boolean + logFile: + maxLength: 255 + type: string + outFile: + maxLength: 255 + type: string + operationId: + maxLength: 110 + type: string + WorkflowDbDto: + type: object + properties: + messages: + type: array + items: + type: string + id: + type: string + ownerId: + type: integer + format: int64 + submit: + type: string + format: date-time + start: + type: string + format: date-time + complete: + type: string + format: date-time + dateCreated: + type: string + format: date-time + lastUpdated: + type: string + format: date-time + runName: + type: string + sessionId: + type: string + profile: + type: string + workDir: + type: string + commitId: + type: string + userName: + type: string + scriptId: + type: string + revision: + type: string + commandLine: + type: string + projectName: + type: string + scriptName: + type: string + launchId: + type: string + status: + $ref: "#/components/schemas/WorkflowStatus" + requiresAttention: + type: boolean + configFiles: + type: array + items: + type: string + params: + type: object + additionalProperties: true + configText: + type: string + manifest: + $ref: "#/components/schemas/WfManifest" + nextflow: + $ref: "#/components/schemas/WfNextflow" + stats: + $ref: "#/components/schemas/WfStats" + errorMessage: + type: string + errorReport: + type: string + deleted: + type: boolean + projectDir: + type: string + homeDir: + type: string + container: + type: string + repository: + type: string + containerEngine: + type: string + scriptFile: + type: string + launchDir: + type: string + duration: + type: integer + format: int64 + exitStatus: + type: integer + format: int32 + resume: + type: boolean + success: + type: boolean + WorkflowLaunchRequest: + type: object + properties: + id: + type: string + description: "Launch configuration identifier." + computeEnvId: + type: string + description: "Compute environment identifier where the pipeline will run. Defaults to workspace primary compute environment if omitted." + runName: + type: string + description: "Custom run name for the workflow execution." + pipeline: + type: string + description: "Pipeline repository URL (e.g., `https://github.com/nextflow-io/hello`)." + workDir: + type: string + description: "Work directory path where workflow intermediate files are stored. Defaults to compute environment work directory if omitted." + revision: + type: string + description: "Git revision, branch, or tag to use." + sessionId: + type: string + description: "Nextflow session identifier for resuming failed runs." + configProfiles: + type: array + items: + type: string + description: "Array of Nextflow configuration profile names to apply." + userSecrets: + type: array + items: + type: string + description: "Array of user secrets to make available to the pipeline." + workspaceSecrets: + type: array + items: + type: string + description: "Array of workspace secrets to make available to the pipeline." + configText: + type: string + description: "Nextflow configuration as text (overrides config files)." + towerConfig: + type: string + description: "Platform-specific configuration options." + paramsText: + type: string + description: "Pipeline parameters in JSON or YAML format." + preRunScript: + type: string + description: "Add a script that executes in the nf-launch script prior to invoking Nextflow processes. See [Pre and post-run scripts](https://docs.seqera.io/platform-cloud/launch/advanced#pre-and-post-run-scripts)." + postRunScript: + type: string + description: "Add a script that executes after all Nextflow processes have completed. See [Pre and post-run scripts](https://docs.seqera.io/platform-cloud/launch/advanced#pre-and-post-run-scripts)." + mainScript: + type: string + description: "Alternative main script filename. Default: `main.nf`." + entryName: + type: string + description: "Workflow entry point name when using Nextflow DSL2." + schemaName: + type: string + description: "Name of the pipeline schema to use." + resume: + type: boolean + description: "Enable resume to restart workflow execution from the last successful process. See [Resume a workflow run](https://docs.seqera.io/platform-cloud/launch/cache-resume#resume-a-workflow-run)." + pullLatest: + type: boolean + description: "Pull the latest version of the pipeline from the repository." + stubRun: + type: boolean + description: "Execute a stub run for testing (processes return dummy results)." + optimizationId: + type: string + description: "Optimization configuration identifier. See [Pipeline resource optimization](https://docs.seqera.io/platform-cloud/pipeline-optimization/overview)." + optimizationTargets: + type: string + description: "Comma-separated list of optimization targets. See [Pipeline resource optimization](https://docs.seqera.io/platform-cloud/pipeline-optimization/overview)." + labelIds: + type: array + items: + type: integer + format: int64 + description: "Array of label IDs to assign to each pipeline run." + headJobCpus: + type: integer + format: int32 + description: "Number of CPUs allocated for the Nextflow head job." + headJobMemoryMb: + type: integer + format: int32 + description: "Memory allocation for the Nextflow head job in megabytes." + launchContainer: + type: string + description: "Container image to use for the Nextflow launcher." + dateCreated: + type: string + format: date-time + description: "Timestamp when the launch configuration was created." + WorkflowLaunchResponse: + type: object + properties: + id: + type: string + computeEnv: + $ref: "#/components/schemas/ComputeEnv_ComputeConfig_" + pipeline: + type: string + pipelineId: + type: integer + format: int64 + workDir: + type: string + revision: + type: string + sessionId: + type: string + configProfiles: + type: array + items: + type: string + userSecrets: + type: array + items: + type: string + workspaceSecrets: + type: array + items: + type: string + configText: + type: string + towerConfig: + type: string + paramsText: + type: string + preRunScript: + type: string + postRunScript: + type: string + mainScript: + type: string + entryName: + type: string + schemaName: + type: string + resume: + type: boolean + pullLatest: + type: boolean + stubRun: + type: boolean + resumeDir: + type: string + resumeCommitId: + type: string + headJobMemoryMb: + type: integer + format: int32 + headJobCpus: + type: integer + format: int32 + optimizationId: + type: string + optimizationTargets: + type: string + dateCreated: + type: string + format: date-time + WorkflowLoad: + required: + - aborted + - cached + - cpuLoad + - cpuTime + - cpus + - failed + - ignored + - invCtxSwitch + - loadCpus + - loadMemory + - loadTasks + - memoryReq + - memoryRss + - peakCpus + - peakMemory + - peakTasks + - pending + - readBytes + - retries + - running + - submitted + - succeeded + - volCtxSwitch + - writeBytes + type: object + properties: + pending: + type: integer + format: int64 + submitted: + type: integer + format: int64 + running: + type: integer + format: int64 + succeeded: + type: integer + format: int64 + failed: + type: integer + format: int64 + cached: + type: integer + format: int64 + aborted: + type: integer + format: int64 + retries: + type: integer + format: int64 + ignored: + type: integer + format: int64 + memoryEfficiency: + type: number + format: float + cpuEfficiency: + type: number + format: float + dateCreated: + type: string + format: date-time + lastUpdated: + type: string + format: date-time + version: + type: integer + format: int64 + executors: + type: array + items: + type: string + cpus: + type: integer + format: int64 + cpuTime: + type: integer + format: int64 + cpuLoad: + type: integer + format: int64 + memoryRss: + type: integer + format: int64 + memoryReq: + type: integer + format: int64 + readBytes: + type: integer + format: int64 + writeBytes: + type: integer + format: int64 + volCtxSwitch: + type: integer + format: int64 + invCtxSwitch: + type: integer + format: int64 + loadTasks: + type: integer + format: int64 + loadCpus: + type: integer + format: int64 + loadMemory: + type: integer + format: int64 + peakCpus: + type: integer + format: int64 + peakTasks: + type: integer + format: int64 + peakMemory: + type: integer + format: int64 + cost: + type: number + netCpus: + type: integer + format: int64 + netCpuTime: + type: integer + format: int64 + netCpuLoad: + type: integer + format: int64 + netMemoryRss: + type: integer + format: int64 + netMemoryReq: + type: integer + format: int64 + netMemoryConsumption: + type: number + netReadBytes: + type: integer + format: int64 + netWriteBytes: + type: integer + format: int64 + netVolCtxSwitch: + type: integer + format: int64 + netInvCtxSwitch: + type: integer + format: int64 + netCost: + type: number + WorkflowLogResponse: + type: object + properties: + log: + $ref: "#/components/schemas/LogPage" + WorkflowMetrics: + required: + - process + type: object + properties: + id: + type: integer + format: int64 + nullable: true + process: + maxLength: 255 + type: string + cpu: + $ref: "#/components/schemas/ResourceData" + mem: + $ref: "#/components/schemas/ResourceData" + vmem: + $ref: "#/components/schemas/ResourceData" + time: + $ref: "#/components/schemas/ResourceData" + reads: + $ref: "#/components/schemas/ResourceData" + writes: + $ref: "#/components/schemas/ResourceData" + cpuUsage: + $ref: "#/components/schemas/ResourceData" + memUsage: + $ref: "#/components/schemas/ResourceData" + timeUsage: + $ref: "#/components/schemas/ResourceData" + WorkflowQueryAttribute: + type: string + enum: + - optimized + - labels + - messages + - minimal + - pipelineVersion + x-enum-varnames: + - optimized + - labels + - messages + - minimal + - pipelineVersion + WorkflowStatus: + type: string + enum: + - SUBMITTED + - RUNNING + - SUCCEEDED + - FAILED + - CANCELLED + - UNKNOWN + Workspace: + required: + - fullName + - name + - visibility + type: object + properties: + id: + type: integer + format: int64 + nullable: true + description: "Workspace numeric identifier." + name: + maxLength: 40 + pattern: "^[a-zA-Z\\d](?:[a-zA-Z\\d]|[-_](?=[a-zA-Z\\d])){1,38}$" + type: string + description: "Unique workspace name within the organization. Must be 2-40 characters, start and end with alphanumeric characters, and can contain hyphens or underscores between characters." + fullName: + maxLength: 100 + type: string + description: "Full display name for the workspace. Maximum 100 characters." + description: + maxLength: 1000 + type: string + description: "Optional description of the workspace. Maximum 1000 characters." + visibility: + $ref: "#/components/schemas/Visibility" + description: "Workspace visibility setting. Accepts `PRIVATE` (only participants can access) or `SHARED` (all organization members can view)." + dateCreated: + type: string + format: date-time + description: "Timestamp when the workspace was created." + lastUpdated: + type: string + format: date-time + description: "Timestamp when the workspace was last updated." + WorkspaceDbDto: + type: object + properties: + id: + type: integer + format: int64 + description: "Workspace numeric identifier." + name: + type: string + description: "Unique workspace name within the organization." + fullName: + type: string + description: "Full display name for the workspace." + description: + type: string + description: "Workspace description." + visibility: + $ref: "#/components/schemas/Visibility" + description: "Workspace visibility setting. Accepts `PRIVATE` or `SHARED`." + ListWorkspacesByTeamResponse: + type: object + description: "Response object for listing workspaces associated with a team." + properties: + workspaces: + type: array + items: + $ref: "#/components/schemas/WorkspaceParticipantResponseDto" + description: "Array of workspace participation details for the team." + totalSize: + type: integer + format: int64 + description: "Total number of workspaces associated with the team." + ParticipantResponseDto: + type: object + description: "Workspace participant details." + properties: + participantId: + type: integer + format: int64 + description: "Participant numeric identifier." + memberId: + type: integer + format: int64 + description: "Organization member numeric identifier." + userName: + type: string + description: "Participant username." + firstName: + type: string + description: "Participant first name." + lastName: + type: string + description: "Participant last name." + email: + type: string + description: "Participant email address." + orgRole: + $ref: "#/components/schemas/OrgRole" + description: "Participant role within the organization." + teamId: + type: integer + format: int64 + description: "Team numeric identifier, if the participant is a team." + teamName: + type: string + description: "Team name, if the participant is a team." + wspRole: + type: string + description: "Participant role within the workspace." + type: + $ref: "#/components/schemas/ParticipantType" + description: "Participant type." + teamAvatarUrl: + type: string + description: "Team avatar URL, if the participant is a team." + userAvatarUrl: + type: string + description: "User avatar URL, if the participant is a member." + UpsertUserRequest: + required: + - email + - userName + type: object + description: "Request object for creating or updating a user." + properties: + userName: + maxLength: 40 + type: string + description: "Unique username. Maximum 40 characters." + email: + maxLength: 255 + type: string + format: email + description: "User email address in valid email format. Maximum 255 characters." + firstName: + maxLength: 100 + type: string + description: "User first name. Maximum 100 characters." + lastName: + maxLength: 100 + type: string + description: "User last name. Maximum 100 characters." + organization: + maxLength: 100 + type: string + description: "User organization name. Maximum 100 characters." + description: + maxLength: 1000 + type: string + description: "User description or bio. Maximum 1000 characters." + avatar: + type: string + description: "User avatar URL." + avatarId: + type: string + description: "User avatar identifier." + notification: + type: boolean + description: "If true, the user has notifications enabled." + UserResponseDto: + type: object + description: "User details response object." + properties: + id: + type: integer + format: int64 + description: "User numeric identifier." + userName: + type: string + description: "Unique username." + email: + type: string + description: "User email address." + firstName: + type: string + description: "User first name." + lastName: + type: string + description: "User last name." + organization: + type: string + description: "User organization name." + description: + type: string + description: "User description or bio." + avatar: + type: string + description: "User avatar URL." + avatarId: + type: string + description: "User avatar identifier." + notification: + type: boolean + description: "If true, the user has notifications enabled." + termsOfUseConsent: + type: boolean + description: "If true, the user has accepted the terms of use." + marketingConsent: + type: boolean + description: "If true, the user has consented to marketing communications." + lastAccess: + type: string + format: date-time + description: "Timestamp of the user's last access." + dateCreated: + type: string + format: date-time + description: "Timestamp when the user was created." + lastUpdated: + type: string + format: date-time + description: "Timestamp when the user was last updated." + deleted: + type: boolean + description: "If true, the user has been deleted." + WorkspaceParticipantResponseDto: + type: object + description: "Workspace participation details for a team or member." + properties: + orgId: + type: integer + format: int64 + description: "Organization numeric identifier." + orgName: + type: string + description: "Organization name." + workspaceId: + type: integer + format: int64 + description: "Workspace numeric identifier." + workspaceName: + type: string + description: "Workspace name." + workspaceFullName: + type: string + description: "Workspace full name including organization prefix." + participantId: + type: integer + format: int64 + description: "Participant numeric identifier." + participantRole: + type: string + description: "Participant role within the workspace." + GitKeys: + title: Git credentials + type: object + properties: + discriminator: + type: string + username: + type: string + description: "Git username for authentication." + password: + type: string + writeOnly: true + description: "Git password for authentication." + token: + type: string + writeOnly: true + description: "Git personal access token for authentication." + securitySchemes: + BearerAuth: + type: http + scheme: bearer + bearerFormat: jwt diff --git a/src/main/java/io/seqera/tower/cli/utils/metadata/CliMetadataExtractor.java b/src/main/java/io/seqera/tower/cli/utils/metadata/CliMetadataExtractor.java new file mode 100644 index 00000000..3b83e92f --- /dev/null +++ b/src/main/java/io/seqera/tower/cli/utils/metadata/CliMetadataExtractor.java @@ -0,0 +1,394 @@ +/* + * Copyright 2021-2023, Seqera. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package io.seqera.tower.cli.utils.metadata; + +import io.seqera.tower.cli.Tower; +import picocli.CommandLine; +import picocli.CommandLine.Model.CommandSpec; +import picocli.CommandLine.Model.OptionSpec; +import picocli.CommandLine.Model.PositionalParamSpec; + +import java.io.FileWriter; +import java.io.IOException; +import java.io.PrintWriter; +import java.time.Instant; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +/** + * Extracts CLI metadata from picocli annotations using reflection. + * + * This approach is deterministic and captures all command metadata including: + * - Complete command hierarchy with resolved mixins + * - All options with descriptions, defaults, arity, required status + * - Positional parameters + * - Hidden commands and options + * + * Usage: + * java -cp io.seqera.tower.cli.utils.metadata.CliMetadataExtractor [output-file] + * + * Outputs: + * - cli-metadata.json: Processed metadata with hierarchy and flat command map + * + * If no output file is specified, writes cli-metadata.json to stdout. + */ +public class CliMetadataExtractor { + + private int totalCommands = 0; + private int totalOptions = 0; + private int totalParameters = 0; + + public static void main(String[] args) { + CliMetadataExtractor extractor = new CliMetadataExtractor(); + + // Build the command line once + Tower app = new Tower(); + CommandLine cmd = new CommandLine(app); + cmd.setUsageHelpLongOptionsMaxWidth(40); + cmd.setCaseInsensitiveEnumValuesAllowed(true); + CommandSpec rootSpec = cmd.getCommandSpec(); + + if (args.length > 0) { + String outputDir = args[0]; + // If it's a file path ending in .json, use its directory + if (outputDir.endsWith(".json")) { + outputDir = new java.io.File(outputDir).getParent(); + if (outputDir == null) outputDir = "."; + } + + // Write processed metadata + String metadataJson = extractor.extractMetadataAsJson(rootSpec); + String metadataPath = outputDir + "/cli-metadata.json"; + try (PrintWriter writer = new PrintWriter(new FileWriter(metadataPath))) { + writer.print(metadataJson); + System.err.println("CLI metadata written to: " + metadataPath); + System.err.println("Total commands: " + extractor.totalCommands); + System.err.println("Total options: " + extractor.totalOptions); + System.err.println("Total parameters: " + extractor.totalParameters); + } catch (IOException e) { + System.err.println("Error writing metadata file: " + e.getMessage()); + System.exit(1); + } + } else { + String json = extractor.extractMetadataAsJson(rootSpec); + System.out.print(json); + } + } + + /** + * Extract all CLI metadata and return as JSON string. + */ + public String extractMetadataAsJson(CommandSpec rootSpec) { + Map output = new LinkedHashMap<>(); + + // Metadata section + Map metadata = new LinkedHashMap<>(); + metadata.put("extractor_version", "2.0.0"); + metadata.put("extractor_type", "java-reflection"); + metadata.put("extracted_at", Instant.now().toString()); + output.put("metadata", metadata); + + // Extract command hierarchy + Map hierarchy = extractCommand(rootSpec, null, ""); + output.put("hierarchy", hierarchy); + + // Flatten commands for easy lookup + Map commands = new LinkedHashMap<>(); + flattenCommands(hierarchy, commands); + output.put("commands", commands); + + // Update metadata with counts + metadata.put("total_commands", totalCommands); + metadata.put("total_options", totalOptions); + metadata.put("total_parameters", totalParameters); + + return toJson(output, 0); + } + + + + + + /** + * Extract metadata from a CommandSpec recursively. + */ + private Map extractCommand(CommandSpec spec, String parentName, String fullCommandPath) { + Map cmd = new LinkedHashMap<>(); + + String name = spec.name(); + String fullCommand = fullCommandPath.isEmpty() ? name : fullCommandPath + " " + name; + + totalCommands++; + + cmd.put("name", name); + cmd.put("full_command", fullCommand); + cmd.put("parent", parentName); + + // Description (may be multiline) + String[] descArray = spec.usageMessage().description(); + String description = descArray.length > 0 ? String.join(" ", descArray) : null; + cmd.put("description", description); + + // Hidden status + cmd.put("hidden", spec.usageMessage().hidden()); + + // Source class + Object userObject = spec.userObject(); + if (userObject != null) { + cmd.put("source_class", userObject.getClass().getName()); + } + + // Extract options (mixins are already resolved by picocli!) + List> options = new ArrayList<>(); + for (OptionSpec opt : spec.options()) { + // Skip built-in help options from picocli + if (isBuiltInOption(opt)) { + continue; + } + options.add(extractOption(opt)); + totalOptions++; + } + cmd.put("options", options); + + // Extract positional parameters + List> parameters = new ArrayList<>(); + for (PositionalParamSpec param : spec.positionalParameters()) { + parameters.add(extractParameter(param)); + totalParameters++; + } + cmd.put("parameters", parameters); + + // Extract subcommands recursively + List> children = new ArrayList<>(); + List subcommandNames = new ArrayList<>(); + for (Map.Entry entry : spec.subcommands().entrySet()) { + String subName = entry.getKey(); + CommandSpec subSpec = entry.getValue().getCommandSpec(); + + // Skip aliases (picocli registers aliases as separate entries) + if (!subName.equals(subSpec.name())) { + continue; + } + + subcommandNames.add(subName); + children.add(extractCommand(subSpec, name, fullCommand)); + } + cmd.put("subcommands", subcommandNames); + cmd.put("children", children); + + return cmd; + } + + /** + * Extract metadata from an OptionSpec. + */ + private Map extractOption(OptionSpec opt) { + Map option = new LinkedHashMap<>(); + + // Names (e.g., ["-n", "--name"]) + List names = new ArrayList<>(); + for (String name : opt.names()) { + names.add(name); + } + option.put("names", names); + + // Description + String[] descArray = opt.description(); + String description = descArray.length > 0 ? String.join(" ", descArray) : null; + option.put("description", description); + + // Required + option.put("required", opt.required()); + + // Default value + String defaultValue = opt.defaultValue(); + option.put("default_value", defaultValue); + + // Arity + option.put("arity", opt.arity().toString()); + + // Hidden + option.put("hidden", opt.hidden()); + + // Type information + option.put("type", opt.type().getSimpleName()); + + // Parameter label (shown in help) + option.put("param_label", opt.paramLabel()); + + // Split regex (for comma-separated values) + String splitRegex = opt.splitRegex(); + if (splitRegex != null && !splitRegex.isEmpty()) { + option.put("split", splitRegex); + } + + // Negatable (for boolean options) + option.put("negatable", opt.negatable()); + + return option; + } + + /** + * Extract metadata from a PositionalParamSpec. + */ + private Map extractParameter(PositionalParamSpec param) { + Map parameter = new LinkedHashMap<>(); + + // Index + parameter.put("index", param.index().toString()); + + // Parameter label + parameter.put("param_label", param.paramLabel()); + + // Description + String[] descArray = param.description(); + String description = descArray.length > 0 ? String.join(" ", descArray) : null; + parameter.put("description", description); + + // Arity + parameter.put("arity", param.arity().toString()); + + // Required (based on arity) + parameter.put("required", param.arity().min() > 0); + + // Type information + parameter.put("type", param.type().getSimpleName()); + + // Hidden + parameter.put("hidden", param.hidden()); + + return parameter; + } + + /** + * Check if an option is a built-in picocli option (help, version). + */ + private boolean isBuiltInOption(OptionSpec opt) { + for (String name : opt.names()) { + if (name.equals("-h") || name.equals("--help") || + name.equals("-V") || name.equals("--version")) { + return true; + } + } + return false; + } + + /** + * Flatten the hierarchy into a map keyed by full command path. + */ + @SuppressWarnings("unchecked") + private void flattenCommands(Map node, Map result) { + String fullCommand = (String) node.get("full_command"); + + // Create a copy without children for the flat map + Map flatNode = new LinkedHashMap<>(node); + flatNode.remove("children"); + result.put(fullCommand, flatNode); + + // Recurse into children + List> children = (List>) node.get("children"); + if (children != null) { + for (Map child : children) { + flattenCommands(child, result); + } + } + } + + /** + * Simple JSON serialization without external dependencies. + * Produces well-formatted JSON output. + */ + private String toJson(Object obj, int indent) { + StringBuilder sb = new StringBuilder(); + toJson(obj, indent, sb); + return sb.toString(); + } + + @SuppressWarnings("unchecked") + private void toJson(Object obj, int indent, StringBuilder sb) { + String indentStr = " ".repeat(indent); + String childIndent = " ".repeat(indent + 1); + + if (obj == null) { + sb.append("null"); + } else if (obj instanceof Map) { + Map map = (Map) obj; + sb.append("{\n"); + int i = 0; + for (Map.Entry entry : map.entrySet()) { + sb.append(childIndent); + sb.append("\"").append(escapeJson(entry.getKey())).append("\": "); + toJson(entry.getValue(), indent + 1, sb); + if (i < map.size() - 1) { + sb.append(","); + } + sb.append("\n"); + i++; + } + sb.append(indentStr).append("}"); + } else if (obj instanceof List) { + List list = (List) obj; + if (list.isEmpty()) { + sb.append("[]"); + } else if (list.get(0) instanceof String) { + // Compact array for simple strings + sb.append("["); + for (int i = 0; i < list.size(); i++) { + sb.append("\"").append(escapeJson((String) list.get(i))).append("\""); + if (i < list.size() - 1) { + sb.append(", "); + } + } + sb.append("]"); + } else { + sb.append("[\n"); + for (int i = 0; i < list.size(); i++) { + sb.append(childIndent); + toJson(list.get(i), indent + 1, sb); + if (i < list.size() - 1) { + sb.append(","); + } + sb.append("\n"); + } + sb.append(indentStr).append("]"); + } + } else if (obj instanceof String) { + sb.append("\"").append(escapeJson((String) obj)).append("\""); + } else if (obj instanceof Boolean || obj instanceof Number) { + sb.append(obj.toString()); + } else { + sb.append("\"").append(escapeJson(obj.toString())).append("\""); + } + } + + /** + * Escape special characters in JSON strings. + */ + private String escapeJson(String str) { + if (str == null) return ""; + return str + .replace("\\", "\\\\") + .replace("\"", "\\\"") + .replace("\n", "\\n") + .replace("\r", "\\r") + .replace("\t", "\\t"); + } +}