cloudos-cli 2.88.2__tar.gz → 2.89.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/PKG-INFO +13 -12
  2. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/README.md +12 -11
  3. cloudos_cli-2.89.1/cloudos_cli/_version.py +1 -0
  4. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/bash/cli.py +1 -26
  5. cloudos_cli-2.89.1/cloudos_cli/constants.py +75 -0
  6. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/jobs/cli.py +1 -16
  7. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/jobs/job.py +0 -29
  8. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/utils/details.py +197 -152
  9. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli.egg-info/PKG-INFO +13 -12
  10. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli.egg-info/SOURCES.txt +1 -0
  11. cloudos_cli-2.89.1/tests/test_details.py +444 -0
  12. cloudos_cli-2.88.2/cloudos_cli/_version.py +0 -1
  13. cloudos_cli-2.88.2/cloudos_cli/constants.py +0 -28
  14. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/LICENSE +0 -0
  15. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/__init__.py +0 -0
  16. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/__main__.py +0 -0
  17. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/bash/__init__.py +0 -0
  18. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/clos.py +0 -0
  19. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/configure/__init__.py +0 -0
  20. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/configure/cli.py +0 -0
  21. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/configure/configure.py +0 -0
  22. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/cost/__init__.py +0 -0
  23. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/cost/cost.py +0 -0
  24. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/cromwell/__init__.py +0 -0
  25. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/cromwell/cli.py +0 -0
  26. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/datasets/__init__.py +0 -0
  27. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/datasets/cli.py +0 -0
  28. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/datasets/datasets.py +0 -0
  29. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/import_wf/__init__.py +0 -0
  30. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/import_wf/import_wf.py +0 -0
  31. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/interactive_session/__init__.py +0 -0
  32. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/interactive_session/cli.py +0 -0
  33. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/interactive_session/interactive_session.py +0 -0
  34. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/jobs/__init__.py +0 -0
  35. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/link/__init__.py +0 -0
  36. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/link/cli.py +0 -0
  37. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/link/link.py +0 -0
  38. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/logging/__init__.py +0 -0
  39. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/logging/logger.py +0 -0
  40. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/procurement/__init__.py +0 -0
  41. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/procurement/cli.py +0 -0
  42. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/procurement/images.py +0 -0
  43. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/projects/__init__.py +0 -0
  44. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/projects/cli.py +0 -0
  45. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/queue/__init__.py +0 -0
  46. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/queue/cli.py +0 -0
  47. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/queue/queue.py +0 -0
  48. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/related_analyses/__init__.py +0 -0
  49. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/related_analyses/related_analyses.py +0 -0
  50. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/utils/__init__.py +0 -0
  51. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/utils/array_job.py +0 -0
  52. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/utils/cli_helpers.py +0 -0
  53. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/utils/cloud.py +0 -0
  54. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/utils/errors.py +0 -0
  55. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/utils/last_wf.py +0 -0
  56. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/utils/nextflow_version.py +0 -0
  57. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/utils/requests.py +0 -0
  58. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/utils/resources.py +0 -0
  59. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/workflows/__init__.py +0 -0
  60. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli/workflows/cli.py +0 -0
  61. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli.egg-info/dependency_links.txt +0 -0
  62. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli.egg-info/entry_points.txt +0 -0
  63. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli.egg-info/requires.txt +0 -0
  64. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/cloudos_cli.egg-info/top_level.txt +0 -0
  65. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/setup.cfg +0 -0
  66. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/setup.py +0 -0
  67. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/tests/__init__.py +0 -0
  68. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/tests/functions_for_pytest.py +0 -0
  69. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/tests/test_cli_project_create.py +0 -0
  70. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/tests/test_cost/__init__.py +0 -0
  71. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/tests/test_cost/test_job_cost.py +0 -0
  72. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/tests/test_error_messages.py +0 -0
  73. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/tests/test_interactive_session/__init__.py +0 -0
  74. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/tests/test_interactive_session/test_create_session.py +0 -0
  75. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/tests/test_interactive_session/test_list_sessions.py +0 -0
  76. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/tests/test_logging/__init__.py +0 -0
  77. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/tests/test_logging/test_logger.py +0 -0
  78. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/tests/test_nextflow_version.py +0 -0
  79. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/tests/test_related_analyses/__init__.py +0 -0
  80. {cloudos_cli-2.88.2 → cloudos_cli-2.89.1}/tests/test_related_analyses/test_related_analyses.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cloudos_cli
3
- Version: 2.88.2
3
+ Version: 2.89.1
4
4
  Summary: Python package for interacting with CloudOS
5
5
  Home-page: https://github.com/lifebit-ai/cloudos-cli
6
6
  Author: David Piñeyro
@@ -753,9 +753,8 @@ cloudos job run --profile my_profile --workflow-name rnatoy --job-config cloudos
753
753
  Please note that HPC execution does not support the following parameters and all of them will be ignored:
754
754
 
755
755
  - `--job-queue`
756
- - `--resumable | --do-not-save-logs`
756
+ - `--resumable` | `--do-not-save-logs`
757
757
  - `--instance-type` | `--instance-disk` | `--cost-limit`
758
- - `--storage-mode` | `--lustre-size`
759
758
  - `--wdl-mainfile` | `--wdl-importsfile` | `--cromwell-token`
760
759
 
761
760
  #### Check Job Status
@@ -800,19 +799,21 @@ The output shows a rich table with job information and pagination details:
800
799
  ```console
801
800
  Executing list...
802
801
 
803
- Job List
804
- ┏━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓
805
- ┃ Status ┃ Name ┃ Project ┃ Owner ┃ Pipeline ┃ ID ┃ Submit time ┃
806
- ┡━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━┩
807
- analysis_runtest-proj John rnatoy 692ee71c40e98ed6ed529e432025-12-02
808
- │ │ │ │ Doe │ │ │ 15:30:45 │
809
- │ ◐ │ test_job │ research │ Jane │ VEP │ 692ee81d50f98ed7fe639f54│ 2025-12-02 │
810
- │ │ │ │ Smith │ │ │ 14:20:30 │
811
- └────────┴──────────────┴─────────────┴──────────┴──────────────┴─────────────────────────┴──────────────┘
802
+ ┏━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
803
+ ┃ Status ┃ ID ┃ Pipeline ┃ Name ┃ Project ┃ Owner ┃ Runtime ┃
804
+ ┡━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
805
+ │ ✓ │ 692ee71c40e98ed6ed529e43 │ rnatoy │ analysis_run │ test-proj │ John Doe │ 15m 30s │
806
+ 692ee81d50f98ed7fe639f54VEP test_job research Jane Sm… 2m 15s
807
+ └────────┴──────────────────────────┴──────────────┴────────────────┴──────────────┴──────────┴─────────┘
808
+
809
+ Legend: = Completed | ◐ = Running | ✗ = Failed | ■ = Aborted | ○ = Initialising | ? = Unknown
812
810
 
813
811
  Showing 10 of 45 total jobs | Page 1 of 5
814
812
  ```
815
813
 
814
+ > [!NOTE]
815
+ > **Responsive Table Display**: The table automatically adapts to your terminal width, intelligently selecting which columns to display. Narrow terminals show essential columns (Status, ID, Pipeline, Name), while wider terminals progressively add more information (Project, Owner, Runtime, Cost, timestamps, etc.). The table ensures only complete columns are shown and always renders with proper borders.
816
+
816
817
  **Status Indicators**
817
818
 
818
819
  Jobs are displayed with colored visual status indicators:
@@ -718,9 +718,8 @@ cloudos job run --profile my_profile --workflow-name rnatoy --job-config cloudos
718
718
  Please note that HPC execution does not support the following parameters and all of them will be ignored:
719
719
 
720
720
  - `--job-queue`
721
- - `--resumable | --do-not-save-logs`
721
+ - `--resumable` | `--do-not-save-logs`
722
722
  - `--instance-type` | `--instance-disk` | `--cost-limit`
723
- - `--storage-mode` | `--lustre-size`
724
723
  - `--wdl-mainfile` | `--wdl-importsfile` | `--cromwell-token`
725
724
 
726
725
  #### Check Job Status
@@ -765,19 +764,21 @@ The output shows a rich table with job information and pagination details:
765
764
  ```console
766
765
  Executing list...
767
766
 
768
- Job List
769
- ┏━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓
770
- ┃ Status ┃ Name ┃ Project ┃ Owner ┃ Pipeline ┃ ID ┃ Submit time ┃
771
- ┡━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━┩
772
- analysis_runtest-proj John rnatoy 692ee71c40e98ed6ed529e432025-12-02
773
- │ │ │ │ Doe │ │ │ 15:30:45 │
774
- │ ◐ │ test_job │ research │ Jane │ VEP │ 692ee81d50f98ed7fe639f54│ 2025-12-02 │
775
- │ │ │ │ Smith │ │ │ 14:20:30 │
776
- └────────┴──────────────┴─────────────┴──────────┴──────────────┴─────────────────────────┴──────────────┘
767
+ ┏━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
768
+ ┃ Status ┃ ID ┃ Pipeline ┃ Name ┃ Project ┃ Owner ┃ Runtime ┃
769
+ ┡━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
770
+ │ ✓ │ 692ee71c40e98ed6ed529e43 │ rnatoy │ analysis_run │ test-proj │ John Doe │ 15m 30s │
771
+ 692ee81d50f98ed7fe639f54VEP test_job research Jane Sm… 2m 15s
772
+ └────────┴──────────────────────────┴──────────────┴────────────────┴──────────────┴──────────┴─────────┘
773
+
774
+ Legend: = Completed | ◐ = Running | ✗ = Failed | ■ = Aborted | ○ = Initialising | ? = Unknown
777
775
 
778
776
  Showing 10 of 45 total jobs | Page 1 of 5
779
777
  ```
780
778
 
779
+ > [!NOTE]
780
+ > **Responsive Table Display**: The table automatically adapts to your terminal width, intelligently selecting which columns to display. Narrow terminals show essential columns (Status, ID, Pipeline, Name), while wider terminals progressively add more information (Project, Owner, Runtime, Cost, timestamps, etc.). The table ensures only complete columns are shown and always renders with proper borders.
781
+
781
782
  **Status Indicators**
782
783
 
783
784
  Jobs are displayed with colored visual status indicators:
@@ -0,0 +1 @@
1
+ __version__ = '2.89.1'
@@ -75,15 +75,7 @@ def bash():
75
75
  help='The amount of memory, in GB, to use for the task\'s master node. Default=4.',
76
76
  type=int,
77
77
  default=4)
78
- @click.option('--storage-mode',
79
- help=('Either \'lustre\' or \'regular\'. Indicates if the user wants to select ' +
80
- 'regular or lustre storage. Default=regular.'),
81
- default='regular')
82
- @click.option('--lustre-size',
83
- help=('The lustre storage to be used when --storage-mode=lustre, in GB. It should ' +
84
- 'be 1200 or a multiple of it. Default=1200.'),
85
- type=int,
86
- default=1200)
78
+
87
79
  @click.option('--wait-completion',
88
80
  help=('Whether to wait to job completion and report final ' +
89
81
  'job status.'),
@@ -136,8 +128,6 @@ def run_bash_job(ctx,
136
128
  instance_disk,
137
129
  cpus,
138
130
  memory,
139
- storage_mode,
140
- lustre_size,
141
131
  wait_completion,
142
132
  wait_time,
143
133
  repository_platform,
@@ -194,8 +184,6 @@ def run_bash_job(ctx,
194
184
  nextflow_version=None,
195
185
  instance_type=instance_type,
196
186
  instance_disk=instance_disk,
197
- storage_mode=storage_mode,
198
- lustre_size=lustre_size,
199
187
  execution_platform=execution_platform,
200
188
  hpc_id=None,
201
189
  cost_limit=cost_limit,
@@ -296,15 +284,6 @@ def run_bash_job(ctx,
296
284
  help='The amount of memory, in GB, to use for the task\'s master node. Default=4.',
297
285
  type=int,
298
286
  default=4)
299
- @click.option('--storage-mode',
300
- help=('Either \'lustre\' or \'regular\'. Indicates if the user wants to select ' +
301
- 'regular or lustre storage. Default=regular.'),
302
- default='regular')
303
- @click.option('--lustre-size',
304
- help=('The lustre storage to be used when --storage-mode=lustre, in GB. It should ' +
305
- 'be 1200 or a multiple of it. Default=1200.'),
306
- type=int,
307
- default=1200)
308
287
  @click.option('--wait-completion',
309
288
  help=('Whether to wait to job completion and report final ' +
310
289
  'job status.'),
@@ -391,8 +370,6 @@ def run_bash_array_job(ctx,
391
370
  instance_disk,
392
371
  cpus,
393
372
  memory,
394
- storage_mode,
395
- lustre_size,
396
373
  wait_completion,
397
374
  wait_time,
398
375
  repository_platform,
@@ -525,8 +502,6 @@ def run_bash_array_job(ctx,
525
502
  nextflow_version=None,
526
503
  instance_type=instance_type,
527
504
  instance_disk=instance_disk,
528
- storage_mode=storage_mode,
529
- lustre_size=lustre_size,
530
505
  execution_platform=execution_platform,
531
506
  hpc_id=None,
532
507
  cost_limit=cost_limit,
@@ -0,0 +1,75 @@
1
+ """Global constants for CloudOS CLI."""
2
+
3
+ # Job status constants
4
+ JOB_COMPLETED = 'completed'
5
+ JOB_FAILED = 'failed'
6
+ JOB_ABORTED = 'aborted'
7
+
8
+ # Nextflow version constants
9
+ AWS_NEXTFLOW_VERSIONS = ['22.10.8', '24.04.4', '25.04.8', '25.10.4']
10
+ AZURE_NEXTFLOW_VERSIONS = ['22.11.1-edge']
11
+ HPC_NEXTFLOW_VERSIONS = ['22.10.8']
12
+ AWS_NEXTFLOW_LATEST = '25.10.4'
13
+ AZURE_NEXTFLOW_LATEST = '22.11.1-edge'
14
+ HPC_NEXTFLOW_LATEST = '22.10.8'
15
+
16
+ # Nextflow version defaults by workflow type
17
+ PLATFORM_WORKFLOW_NEXTFLOW_VERSION = '22.10.8' # For Lifebit Platform workflows (modules)
18
+ USER_WORKFLOW_NEXTFLOW_VERSION = '24.04.4' # For user-imported workflows
19
+
20
+ # Job abort states
21
+ ABORT_JOB_STATES = ['running', 'initializing']
22
+
23
+ # Request interval for Cromwell
24
+ REQUEST_INTERVAL_CROMWELL = 30
25
+
26
+ # Global constants for CloudOS CLI
27
+ CLOUDOS_URL = 'https://cloudos.lifebit.ai'
28
+ INIT_PROFILE = 'initialisingProfile'
29
+
30
+ # Job status symbol mapping
31
+ JOB_STATUS_SYMBOLS = {
32
+ "completed": "[bold green]✓[/bold green]",
33
+ "running": "[bold bright_black]◐[/bold bright_black]",
34
+ "failed": "[bold red]✗[/bold red]",
35
+ "aborted": "[bold orange3]■[/bold orange3]",
36
+ "aborting": "[bold orange3]⊡[/bold orange3]",
37
+ "initialising": "[bold bright_black]○[/bold bright_black]",
38
+ "scheduled": "[bold cyan]◷[/bold cyan]",
39
+ "n/a": "[bold bright_black]?[/bold bright_black]"
40
+ }
41
+
42
+ # Column priority groups for responsive table display
43
+ COLUMN_PRIORITY_GROUPS = {
44
+ 'minimal': ['status', 'id', 'name'],
45
+ 'essential': ['status', 'id', 'name', 'pipeline'],
46
+ 'important': ['project', 'owner', 'run_time', 'cost'],
47
+ 'useful': ['submit_time', 'end_time', 'commit'],
48
+ 'extended': ['resources', 'storage_type']
49
+ }
50
+
51
+ # Essential columns priority order for auto-selection
52
+ ESSENTIAL_COLUMN_PRIORITY = ['status', 'id', 'name', 'pipeline']
53
+
54
+ # Additional columns priority order for auto-selection
55
+ ADDITIONAL_COLUMN_PRIORITY = [
56
+ 'project', 'owner', 'run_time', 'cost',
57
+ 'submit_time', 'end_time', 'commit', 'resources', 'storage_type'
58
+ ]
59
+
60
+ # Column configurations for job list table
61
+ COLUMN_CONFIGS = {
62
+ 'status': {"header": "Status", "style": "cyan", "no_wrap": True, "min_width": 6, "max_width": 6},
63
+ 'name': {"header": "Name", "style": "green", "overflow": "fold", "no_wrap": False, "min_width": 6, "max_width": 14},
64
+ 'project': {"header": "Project", "style": "magenta", "overflow": "fold", "no_wrap": False, "min_width": 6, "max_width": 18},
65
+ 'owner': {"header": "Owner", "style": "blue", "overflow": "fold", "no_wrap": False, "min_width": 4, "max_width": 14},
66
+ 'pipeline': {"header": "Pipeline", "style": "yellow", "overflow": "fold", "no_wrap": False, "min_width": 8, "max_width": 14},
67
+ 'id': {"header": "ID", "style": "white", "overflow": "ellipsis", "no_wrap": True, "min_width": 24, "max_width": 24},
68
+ 'submit_time': {"header": "Submit", "style": "cyan", "no_wrap": True, "min_width": 12, "max_width": 16},
69
+ 'end_time': {"header": "End", "style": "cyan", "no_wrap": True, "min_width": 12, "max_width": 16},
70
+ 'run_time': {"header": "Runtime", "style": "green", "no_wrap": True, "min_width": 8, "max_width": 12},
71
+ 'commit': {"header": "Commit", "style": "magenta", "no_wrap": True, "min_width": 9, "max_width": 10},
72
+ 'cost': {"header": "Cost", "style": "yellow", "no_wrap": True, "min_width": 8, "max_width": 12},
73
+ 'resources': {"header": "Resources", "style": "blue", "overflow": "ellipsis", "no_wrap": True, "min_width": 8, "max_width": 16},
74
+ 'storage_type': {"header": "Storage", "style": "white", "no_wrap": True, "min_width": 8, "max_width": 10}
75
+ }
@@ -119,15 +119,6 @@ def job():
119
119
  help='The disk space of the master node instance, in GB. Default=500.',
120
120
  type=int,
121
121
  default=500)
122
- @click.option('--storage-mode',
123
- help=('Either \'lustre\' or \'regular\'. Indicates if the user wants to select ' +
124
- 'regular or lustre storage. Default=regular.'),
125
- default='regular')
126
- @click.option('--lustre-size',
127
- help=('The lustre storage to be used when --storage-mode=lustre, in GB. It should ' +
128
- 'be 1200 or a multiple of it. Default=1200.'),
129
- type=int,
130
- default=1200)
131
122
  @click.option('--wait-completion',
132
123
  help=('Whether to wait to job completion and report final ' +
133
124
  'job status.'),
@@ -219,8 +210,6 @@ def run(ctx,
219
210
  nextflow_version,
220
211
  instance_type,
221
212
  instance_disk,
222
- storage_mode,
223
- lustre_size,
224
213
  wait_completion,
225
214
  wait_time,
226
215
  wdl_mainfile,
@@ -267,11 +256,9 @@ def run(ctx,
267
256
  '\t--job-queue\n' +
268
257
  '\t--resumable | --do-not-save-logs\n' +
269
258
  '\t--instance-type | --instance-disk | --cost-limit\n' +
270
- '\t--storage-mode | --lustre-size\n' +
271
259
  '\t--wdl-mainfile | --wdl-importsfile | --cromwell-token\n')
272
260
  wdl_mainfile = None
273
261
  wdl_importsfile = None
274
- storage_mode = 'regular'
275
262
  save_logs = False
276
263
  if accelerate_file_staging:
277
264
  if execution_platform != 'aws':
@@ -377,7 +364,7 @@ def run(ctx,
377
364
  'Docker account to CloudOS before using ' +
378
365
  '--use-private-docker-repository option.')
379
366
  print('Use private Docker repository has been selected. A custom job ' +
380
- 'queue to support private Docker containers and/or Lustre FSx will be created for ' +
367
+ 'queue to support private Docker containers will be created for ' +
381
368
  'your job. The selected job queue will serve as a template.')
382
369
  docker_login = True
383
370
  else:
@@ -402,8 +389,6 @@ def run(ctx,
402
389
  nextflow_version=nextflow_version,
403
390
  instance_type=instance_type,
404
391
  instance_disk=instance_disk,
405
- storage_mode=storage_mode,
406
- lustre_size=lustre_size,
407
392
  execution_platform=execution_platform,
408
393
  hpc_id=hpc_id,
409
394
  workflow_type=workflow_type,
@@ -309,8 +309,6 @@ class Job(Cloudos):
309
309
  nextflow_version,
310
310
  instance_type,
311
311
  instance_disk,
312
- storage_mode,
313
- lustre_size,
314
312
  execution_platform,
315
313
  hpc_id,
316
314
  workflow_type,
@@ -381,12 +379,6 @@ class Job(Cloudos):
381
379
  Name of the instance type to be used for the job master node, for example for AWS EC2 c5.xlarge
382
380
  instance_disk : int
383
381
  The disk space of the master node instance, in GB.
384
- storage_mode : string
385
- Either 'lustre' or 'regular'. Indicates if the user wants to select regular
386
- or lustre storage.
387
- lustre_size : int
388
- The lustre storage to be used when --storage-mode=lustre, in GB. It should be 1200 or
389
- a multiple of it.
390
382
  execution_platform : string ['aws'|'azure'|'hpc']
391
383
  The execution platform implemented in your CloudOS.
392
384
  hpc_id : string
@@ -511,15 +503,6 @@ class Job(Cloudos):
511
503
  if len(example_parameters) > 0:
512
504
  for example_param in example_parameters:
513
505
  workflow_params.append(example_param)
514
- if storage_mode == "lustre":
515
- click.secho('\nLustre storage has been selected. Please, be sure that this kind of ' +
516
- 'storage is available in your CloudOS workspace.\n', fg='yellow', bold=True)
517
- if lustre_size % 1200:
518
- raise ValueError('Please, specify a lustre storage size of 1200 or a multiple of it. ' +
519
- f'{lustre_size} is not a valid number.')
520
- if storage_mode not in ['lustre', 'regular']:
521
- raise ValueError('Please, use either \'lustre\' or \'regular\' for --storage-mode ' +
522
- f'{storage_mode} is not allowed')
523
506
  params = {
524
507
  "parameters": workflow_params,
525
508
  "project": project_id,
@@ -534,8 +517,6 @@ class Job(Cloudos):
534
517
  "computeCostLimit": cost_limit,
535
518
  "optim": "test"
536
519
  },
537
- "lusterFsxStorageSizeInGb": lustre_size,
538
- "storageMode": storage_mode,
539
520
  "instanceType": instance_type,
540
521
  "usesFusionFileSystem": use_mountpoints,
541
522
  "accelerateSavingResults": accelerate_saving_results
@@ -610,8 +591,6 @@ class Job(Cloudos):
610
591
  nextflow_version='22.10.8',
611
592
  instance_type='c5.xlarge',
612
593
  instance_disk=500,
613
- storage_mode='regular',
614
- lustre_size=1200,
615
594
  execution_platform='aws',
616
595
  hpc_id=None,
617
596
  workflow_type='nextflow',
@@ -676,12 +655,6 @@ class Job(Cloudos):
676
655
  Name of the instance type to be used for the job master node, for example for AWS EC2 c5.xlarge
677
656
  instance_disk : int
678
657
  The disk space of the master node instance, in GB.
679
- storage_mode : string
680
- Either 'lustre' or 'regular'. Indicates if the user wants to select regular
681
- or lustre storage.
682
- lustre_size : int
683
- The lustre storage to be used when --storage-mode=lustre, in GB. It should be 1200 or
684
- a multiple of it.
685
658
  execution_platform : string ['aws'|'azure'|'hpc']
686
659
  The execution platform implemented in your CloudOS.
687
660
  hpc_id : string
@@ -751,8 +724,6 @@ class Job(Cloudos):
751
724
  nextflow_version,
752
725
  instance_type,
753
726
  instance_disk,
754
- storage_mode,
755
- lustre_size,
756
727
  execution_platform,
757
728
  hpc_id,
758
729
  workflow_type,