aspera-cli 4.27.0 → 4.27.1
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.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +29 -0
- data/CONTRIBUTING.md +1 -7
- data/TODO.md +50 -0
- data/docs/README.md +708 -488
- data/lib/aspera/agent/base.rb +10 -2
- data/lib/aspera/agent/connect.rb +7 -7
- data/lib/aspera/agent/desktop.rb +3 -3
- data/lib/aspera/agent/direct.rb +48 -19
- data/lib/aspera/agent/factory.rb +3 -3
- data/lib/aspera/agent/httpgw.rb +55 -14
- data/lib/aspera/agent/node.rb +2 -2
- data/lib/aspera/agent/transferd.rb +12 -12
- data/lib/aspera/api/aoc.rb +28 -28
- data/lib/aspera/api/cos_node.rb +10 -9
- data/lib/aspera/api/faspex.rb +2 -2
- data/lib/aspera/api/httpgw.rb +20 -20
- data/lib/aspera/api/node.rb +31 -53
- data/lib/aspera/ascmd.rb +13 -13
- data/lib/aspera/ascp/installation.rb +43 -36
- data/lib/aspera/ascp/management.rb +6 -6
- data/lib/aspera/assert.rb +12 -13
- data/lib/aspera/cli/ascp_actions.rb +7 -7
- data/lib/aspera/cli/async_transfer_store.rb +49 -5
- data/lib/aspera/cli/bootstrapper.rb +9 -9
- data/lib/aspera/cli/command_registry.rb +1 -1
- data/lib/aspera/cli/command_spec.rb +6 -3
- data/lib/aspera/cli/context.rb +3 -3
- data/lib/aspera/cli/extended_value.rb +26 -26
- data/lib/aspera/cli/formatter.rb +76 -54
- data/lib/aspera/cli/gem_checker.rb +1 -1
- data/lib/aspera/cli/hints.rb +2 -2
- data/lib/aspera/cli/http.rb +22 -29
- data/lib/aspera/cli/mailer.rb +7 -7
- data/lib/aspera/cli/mcp_tool.rb +31 -4
- data/lib/aspera/cli/option_declarator.rb +77 -0
- data/lib/aspera/cli/options.schema.yaml +273 -3
- data/lib/aspera/cli/parser.rb +539 -280
- data/lib/aspera/cli/plugins/alee.rb +1 -1
- data/lib/aspera/cli/plugins/aoc.rb +297 -313
- data/lib/aspera/cli/plugins/ats.rb +25 -21
- data/lib/aspera/cli/plugins/base.rb +357 -186
- data/lib/aspera/cli/plugins/basic_auth.rb +0 -12
- data/lib/aspera/cli/plugins/config.rb +76 -73
- data/lib/aspera/cli/plugins/console.rb +8 -8
- data/lib/aspera/cli/plugins/cos.rb +4 -3
- data/lib/aspera/cli/plugins/factory.rb +2 -2
- data/lib/aspera/cli/plugins/faspex5.rb +259 -248
- data/lib/aspera/cli/plugins/faspio.rb +7 -2
- data/lib/aspera/cli/plugins/httpgw.rb +1 -1
- data/lib/aspera/cli/plugins/mcp.rb +11 -11
- data/lib/aspera/cli/plugins/node.rb +227 -283
- data/lib/aspera/cli/plugins/orchestrator.rb +23 -23
- data/lib/aspera/cli/plugins/preview.rb +61 -64
- data/lib/aspera/cli/plugins/server.rb +36 -31
- data/lib/aspera/cli/plugins/shares.rb +174 -135
- data/lib/aspera/cli/preset_actions.rb +39 -19
- data/lib/aspera/cli/preset_manager.rb +74 -32
- data/lib/aspera/cli/result.rb +18 -16
- data/lib/aspera/cli/runner.rb +75 -39
- data/lib/aspera/cli/secret_finder.rb +1 -1
- data/lib/aspera/cli/sync_actions.rb +36 -35
- data/lib/aspera/cli/terminal_formatter.rb +2 -2
- data/lib/aspera/cli/transfer_actions.rb +17 -10
- data/lib/aspera/cli/transfer_agent.rb +44 -44
- data/lib/aspera/cli/transfer_progress.rb +7 -7
- data/lib/aspera/cli/vault_manager.rb +34 -12
- data/lib/aspera/cli/version.rb +1 -1
- data/lib/aspera/cli/wizard.rb +17 -20
- data/lib/aspera/colors.rb +3 -3
- data/lib/aspera/command_line_builder.rb +16 -16
- data/lib/aspera/command_line_converter.rb +1 -1
- data/lib/aspera/coverage.rb +1 -2
- data/lib/aspera/data_repository.rb +1 -1
- data/lib/aspera/dot_container.rb +8 -8
- data/lib/aspera/environment.rb +12 -12
- data/lib/aspera/faspex_gw.rb +4 -4
- data/lib/aspera/faspex_postproc.rb +14 -9
- data/lib/aspera/graphql.rb +4 -2
- data/lib/aspera/hash_ext.rb +2 -2
- data/lib/aspera/json_rpc/client.rb +1 -1
- data/lib/aspera/keychain/base.rb +10 -3
- data/lib/aspera/keychain/encrypted_hash.rb +92 -17
- data/lib/aspera/keychain/factory.rb +17 -5
- data/lib/aspera/keychain/hashicorp_vault.rb +1 -1
- data/lib/aspera/keychain/macos_security.rb +23 -25
- data/lib/aspera/keychain/one_password_api.rb +86 -0
- data/lib/aspera/keychain/one_password_base.rb +34 -0
- data/lib/aspera/keychain/one_password_cli.rb +98 -0
- data/lib/aspera/link_header.rb +2 -2
- data/lib/aspera/log.rb +13 -13
- data/lib/aspera/markdown.rb +5 -5
- data/lib/aspera/nagios.rb +8 -8
- data/lib/aspera/node_simulator.rb +33 -27
- data/lib/aspera/oauth/base.rb +4 -5
- data/lib/aspera/oauth/boot.rb +3 -3
- data/lib/aspera/oauth/factory.rb +5 -5
- data/lib/aspera/oauth/jwt.rb +5 -7
- data/lib/aspera/oauth/web.rb +4 -4
- data/lib/aspera/persistency_action_once.rb +4 -4
- data/lib/aspera/persistency_folder.rb +8 -8
- data/lib/aspera/preview/file_types.rb +4 -4
- data/lib/aspera/preview/generator.rb +49 -46
- data/lib/aspera/preview/options.rb +3 -2
- data/lib/aspera/preview/terminal.rb +5 -5
- data/lib/aspera/preview/utils.rb +65 -18
- data/lib/aspera/products/connect.rb +2 -2
- data/lib/aspera/products/desktop.rb +1 -1
- data/lib/aspera/products/other.rb +2 -2
- data/lib/aspera/products/transferd.rb +3 -3
- data/lib/aspera/proxy_auto_config.rb +10 -10
- data/lib/aspera/rest.rb +149 -115
- data/lib/aspera/rest_error_analyzer.rb +3 -3
- data/lib/aspera/rest_list.rb +10 -9
- data/lib/aspera/schema/IBM Aspera Node API-4.4.6.yaml +6232 -0
- data/lib/aspera/schema/IBM Aspera faspio Gateway API-1.0.0.yaml +249 -0
- data/lib/aspera/schema/IBM_Aspera_Shares.yaml +4653 -0
- data/lib/aspera/schema/documentation.rb +17 -11
- data/lib/aspera/schema/reader.rb +78 -4
- data/lib/aspera/schema/registry.rb +26 -7
- data/lib/aspera/secret_hider.rb +5 -5
- data/lib/aspera/ssh.rb +64 -31
- data/lib/aspera/ssl.rb +3 -3
- data/lib/aspera/sync/database.rb +2 -2
- data/lib/aspera/sync/operations.rb +13 -13
- data/lib/aspera/temp_file_manager.rb +24 -4
- data/lib/aspera/transfer/faux_file.rb +2 -2
- data/lib/aspera/transfer/parameters.rb +15 -15
- data/lib/aspera/transfer/resumer.rb +9 -9
- data/lib/aspera/transfer/spec.rb +1 -1
- data/lib/aspera/uri_reader.rb +52 -15
- data/lib/aspera/web_auth.rb +6 -5
- data/lib/aspera/web_server_simple.rb +9 -9
- data/lib/aspera/yaml.rb +4 -4
- data.tar.gz.sig +0 -0
- metadata +10 -4
- metadata.gz.sig +0 -0
- data/lib/aspera/cli/plugins/faspex.rb +0 -576
- data/lib/aspera/transfer/uri.rb +0 -56
|
@@ -29,6 +29,69 @@ components:
|
|
|
29
29
|
type: boolean
|
|
30
30
|
description: Show passwords and secrets in logs.
|
|
31
31
|
default: false
|
|
32
|
+
McpServerOptions:
|
|
33
|
+
type: object
|
|
34
|
+
description: MCP server configuration for the `mcp server` command.
|
|
35
|
+
properties:
|
|
36
|
+
transport:
|
|
37
|
+
type: string
|
|
38
|
+
description: Transport used by the MCP server.
|
|
39
|
+
enum: [stdio, http]
|
|
40
|
+
default: stdio
|
|
41
|
+
extra_args:
|
|
42
|
+
type: array
|
|
43
|
+
description: Flags prepended to every `ascli` command.
|
|
44
|
+
items:
|
|
45
|
+
type: string
|
|
46
|
+
max_text_bytes:
|
|
47
|
+
type: integer
|
|
48
|
+
description: Maximum number of bytes for JSON text content in list results.
|
|
49
|
+
default: 100000
|
|
50
|
+
max_line_bytes:
|
|
51
|
+
type: integer
|
|
52
|
+
description: Maximum JSON frame size for stdio transport.
|
|
53
|
+
default: 4194304
|
|
54
|
+
port:
|
|
55
|
+
type: integer
|
|
56
|
+
description: TCP port for HTTP transport.
|
|
57
|
+
default: 3000
|
|
58
|
+
bind:
|
|
59
|
+
type: string
|
|
60
|
+
description: Bind address for HTTP transport.
|
|
61
|
+
default: 127.0.0.1
|
|
62
|
+
stateless:
|
|
63
|
+
type: boolean
|
|
64
|
+
description: Run HTTP transport in stateless mode.
|
|
65
|
+
default: false
|
|
66
|
+
allowed_origins:
|
|
67
|
+
type: array
|
|
68
|
+
description: Allowed HTTP origin values.
|
|
69
|
+
items:
|
|
70
|
+
type: string
|
|
71
|
+
allowed_hosts:
|
|
72
|
+
type: array
|
|
73
|
+
description: Allowed HTTP host values.
|
|
74
|
+
items:
|
|
75
|
+
type: string
|
|
76
|
+
session_idle_timeout:
|
|
77
|
+
type: integer
|
|
78
|
+
description: HTTP session idle timeout in seconds.
|
|
79
|
+
max_sessions:
|
|
80
|
+
type: integer
|
|
81
|
+
description: Maximum number of HTTP sessions.
|
|
82
|
+
instructions:
|
|
83
|
+
type: string
|
|
84
|
+
description: Instructions shown to the AI client.
|
|
85
|
+
description:
|
|
86
|
+
type: string
|
|
87
|
+
description: Description advertised by the MCP server.
|
|
88
|
+
protocol_version:
|
|
89
|
+
type: string
|
|
90
|
+
description: MCP protocol version, for example `2024-11-05`.
|
|
91
|
+
validate_tool_call_arguments:
|
|
92
|
+
type: boolean
|
|
93
|
+
description: Validate MCP tool call arguments.
|
|
94
|
+
default: true
|
|
32
95
|
DirectAgentOptions:
|
|
33
96
|
type: object
|
|
34
97
|
description: Parameters for the `ascp` transfer agent.
|
|
@@ -354,6 +417,38 @@ components:
|
|
|
354
417
|
name:
|
|
355
418
|
type: string
|
|
356
419
|
description: Name of the keychain to use.
|
|
420
|
+
VaultOnePasswordOptions:
|
|
421
|
+
type: object
|
|
422
|
+
description: 1Password secret store (Connect REST API or CLI).
|
|
423
|
+
required:
|
|
424
|
+
- type
|
|
425
|
+
- source
|
|
426
|
+
properties:
|
|
427
|
+
type:
|
|
428
|
+
type: string
|
|
429
|
+
description: Vault type selector.
|
|
430
|
+
enum: [1password]
|
|
431
|
+
source:
|
|
432
|
+
type: string
|
|
433
|
+
description: Backend source. Use `api` for the Connect REST API, `cli` for the `op` CLI.
|
|
434
|
+
enum: [api, cli]
|
|
435
|
+
default: api
|
|
436
|
+
url:
|
|
437
|
+
type: string
|
|
438
|
+
description: Base URL of the 1Password Connect server (required when `source` is `api`).
|
|
439
|
+
example: "http://localhost:8080"
|
|
440
|
+
vault_id:
|
|
441
|
+
type: string
|
|
442
|
+
description: ID of the 1Password vault to use (required when `source` is `api`).
|
|
443
|
+
token:
|
|
444
|
+
type: string
|
|
445
|
+
description: Bearer token for the Connect API (required when `source` is `api`). Defaults to the value of `vault_password`.
|
|
446
|
+
vault:
|
|
447
|
+
type: string
|
|
448
|
+
description: Name or ID of the 1Password vault to use with the CLI (used when `source` is `cli`). Uses the default vault if omitted.
|
|
449
|
+
account:
|
|
450
|
+
type: string
|
|
451
|
+
description: Account shorthand for `op` (used when `source` is `cli`). Uses the default account if omitted.
|
|
357
452
|
VaultFileOptions:
|
|
358
453
|
type: object
|
|
359
454
|
description: Encrypted file secret store.
|
|
@@ -370,6 +465,27 @@ components:
|
|
|
370
465
|
Path to the encrypted vault file.
|
|
371
466
|
Relative paths are resolved from the configuration folder.
|
|
372
467
|
default: vault.bin
|
|
468
|
+
VaultSecret:
|
|
469
|
+
type: object
|
|
470
|
+
description: Secret entry in the vault
|
|
471
|
+
required:
|
|
472
|
+
- label
|
|
473
|
+
properties:
|
|
474
|
+
label:
|
|
475
|
+
type: string
|
|
476
|
+
description: Unique identifier for this secret entry
|
|
477
|
+
username:
|
|
478
|
+
type: string
|
|
479
|
+
description: Username associated with the secret
|
|
480
|
+
password:
|
|
481
|
+
type: string
|
|
482
|
+
description: Secret value
|
|
483
|
+
url:
|
|
484
|
+
type: string
|
|
485
|
+
description: URL associated with the secret
|
|
486
|
+
description:
|
|
487
|
+
type: string
|
|
488
|
+
description: Human-readable description of this secret
|
|
373
489
|
VaultOptions:
|
|
374
490
|
title: Secret vault configuration
|
|
375
491
|
description: Secret vault configuration. Set `type` to select the vault backend.
|
|
@@ -377,12 +493,14 @@ components:
|
|
|
377
493
|
- $ref: "#/components/schemas/VaultHashicorpOptions"
|
|
378
494
|
- $ref: "#/components/schemas/VaultSystemOptions"
|
|
379
495
|
- $ref: "#/components/schemas/VaultFileOptions"
|
|
496
|
+
- $ref: "#/components/schemas/VaultOnePasswordOptions"
|
|
380
497
|
discriminator:
|
|
381
498
|
propertyName: type
|
|
382
499
|
mapping:
|
|
383
|
-
vault:
|
|
384
|
-
system:
|
|
385
|
-
file:
|
|
500
|
+
vault: "#/components/schemas/VaultHashicorpOptions"
|
|
501
|
+
system: "#/components/schemas/VaultSystemOptions"
|
|
502
|
+
file: "#/components/schemas/VaultFileOptions"
|
|
503
|
+
1password: "#/components/schemas/VaultOnePasswordOptions"
|
|
386
504
|
ImageOptions:
|
|
387
505
|
type: object
|
|
388
506
|
description: Options for displaying images and thumbnails in the terminal.
|
|
@@ -437,3 +555,155 @@ components:
|
|
|
437
555
|
If `true`, creates a `<ID>.info.json` sidecar file inside the folder
|
|
438
556
|
containing package metadata.
|
|
439
557
|
default: false
|
|
558
|
+
NodeBearerTokenOptions:
|
|
559
|
+
type: object
|
|
560
|
+
description: >-
|
|
561
|
+
JWT payload used to generate an Aspera Node bearer token (`node bearer_token`).
|
|
562
|
+
`user_id` is the only mandatory field.
|
|
563
|
+
The CLI strips the `_validity` and `_scope` convenience keys before signing;
|
|
564
|
+
remaining fields are embedded verbatim in the token.
|
|
565
|
+
required:
|
|
566
|
+
- user_id
|
|
567
|
+
properties:
|
|
568
|
+
user_id:
|
|
569
|
+
type: string
|
|
570
|
+
description: Identifier of the user for whom the token is generated.
|
|
571
|
+
example: jdoe
|
|
572
|
+
_validity:
|
|
573
|
+
type: integer
|
|
574
|
+
description: Token lifetime in seconds (convenience key, removed before signing).
|
|
575
|
+
default: 86400
|
|
576
|
+
_scope:
|
|
577
|
+
type: string
|
|
578
|
+
description: >-
|
|
579
|
+
Scope shorthand used to build the `scope` field (convenience key, removed before signing).
|
|
580
|
+
Maps to `node.<access_key>:<scope>`.
|
|
581
|
+
enum: [user, admin]
|
|
582
|
+
default: user
|
|
583
|
+
scope:
|
|
584
|
+
type: string
|
|
585
|
+
description: >-
|
|
586
|
+
Full scope string. Computed automatically from `_scope` when absent.
|
|
587
|
+
Example: `node::ik-00000000-0000-0000-0000-000000000000:user`.
|
|
588
|
+
auth_type:
|
|
589
|
+
type: string
|
|
590
|
+
description: Authentication type embedded in the token.
|
|
591
|
+
default: access_key
|
|
592
|
+
expires_at:
|
|
593
|
+
type: string
|
|
594
|
+
description: >-
|
|
595
|
+
Token expiry timestamp in ISO 8601 format (`YYYY-MM-DDTHH:MM:SSZ`).
|
|
596
|
+
Computed automatically from `_validity` when absent.
|
|
597
|
+
example: "2030-01-01T00:00:00Z"
|
|
598
|
+
NodeSimulatorOptions:
|
|
599
|
+
type: object
|
|
600
|
+
description: >-
|
|
601
|
+
Configuration for the embedded Node API simulator (`node simulator`).
|
|
602
|
+
The simulator starts a local WEBrick server that answers `/ops/transfers`,
|
|
603
|
+
`/ops/transfers/{id}`, `/files/browse`, and `/info` — sufficient to test
|
|
604
|
+
CLI commands against a live Node API without a real HSTS instance.
|
|
605
|
+
properties:
|
|
606
|
+
url:
|
|
607
|
+
type: string
|
|
608
|
+
description: >-
|
|
609
|
+
Address and port the simulator listens on.
|
|
610
|
+
Use `https://` with `cert`/`key` for TLS.
|
|
611
|
+
default: http://localhost:8080
|
|
612
|
+
cert:
|
|
613
|
+
type: string
|
|
614
|
+
description: >-
|
|
615
|
+
Path to the TLS certificate file.
|
|
616
|
+
Accepted formats: PEM (`.pem`) or PKCS12 (`.p12` / `.pfx`).
|
|
617
|
+
example: /path/to/cert.pem
|
|
618
|
+
key:
|
|
619
|
+
type: string
|
|
620
|
+
description: >-
|
|
621
|
+
Path to the PEM private key file, or the PKCS12 passphrase when `cert` is a `.p12`/`.pfx` file.
|
|
622
|
+
example: /path/to/key.pem
|
|
623
|
+
chain:
|
|
624
|
+
type: string
|
|
625
|
+
description: Path to the PEM certificate chain file (appended as extra chain certificates).
|
|
626
|
+
example: /path/to/chain.pem
|
|
627
|
+
browse_root:
|
|
628
|
+
type: string
|
|
629
|
+
description: >-
|
|
630
|
+
Root directory the simulator is allowed to expose via `/files/browse`.
|
|
631
|
+
Requests for paths outside this directory are rejected.
|
|
632
|
+
Defaults to the current working directory.
|
|
633
|
+
example: /data/aspera
|
|
634
|
+
NodeTelemetryOptions:
|
|
635
|
+
type: object
|
|
636
|
+
description: >-
|
|
637
|
+
Configuration for the telemetry reporter (`node telemetry`).
|
|
638
|
+
The command periodically queries `ops/transfers?active_only=true` and sends
|
|
639
|
+
an OpenTelemetry gauge metric to an Instana backend.
|
|
640
|
+
required:
|
|
641
|
+
- url
|
|
642
|
+
- key
|
|
643
|
+
properties:
|
|
644
|
+
url:
|
|
645
|
+
type: string
|
|
646
|
+
description: Base URL of the Instana backend (without `/v1`).
|
|
647
|
+
example: https://my-instana.example.com
|
|
648
|
+
key:
|
|
649
|
+
type: string
|
|
650
|
+
description: Instana API key sent in the `x-instana-key` header.
|
|
651
|
+
example: my-instana-api-key
|
|
652
|
+
interval:
|
|
653
|
+
type: number
|
|
654
|
+
format: float
|
|
655
|
+
description: >-
|
|
656
|
+
Polling interval in seconds. Use `0` for a single-shot run (no loop).
|
|
657
|
+
default: 10
|
|
658
|
+
hostname:
|
|
659
|
+
type: string
|
|
660
|
+
description: >-
|
|
661
|
+
Value sent in the `x-instana-host` header.
|
|
662
|
+
Defaults to the local machine's hostname.
|
|
663
|
+
example: hsts-prod-01
|
|
664
|
+
TableOptions:
|
|
665
|
+
type: object
|
|
666
|
+
description: Terminal table rendering options.
|
|
667
|
+
properties:
|
|
668
|
+
pivot:
|
|
669
|
+
type: string
|
|
670
|
+
description: Control how an object list is displayed (no/yes/single).
|
|
671
|
+
enum: ['no', 'yes', 'single']
|
|
672
|
+
default: 'no'
|
|
673
|
+
OutOptions:
|
|
674
|
+
type: object
|
|
675
|
+
description: Output rendering options (dot-notation sub-properties).
|
|
676
|
+
properties:
|
|
677
|
+
format:
|
|
678
|
+
type: string
|
|
679
|
+
description: Output format.
|
|
680
|
+
enum: [text, nagios, ruby, json, jsonpp, yaml, table, csv, image]
|
|
681
|
+
default: table
|
|
682
|
+
level:
|
|
683
|
+
type: string
|
|
684
|
+
description: Output verbosity level (which information to display).
|
|
685
|
+
enum: [info, data, error]
|
|
686
|
+
default: data
|
|
687
|
+
file:
|
|
688
|
+
type: string
|
|
689
|
+
description: Destination file for results (use `-` for stdout).
|
|
690
|
+
fields:
|
|
691
|
+
description: >-
|
|
692
|
+
Comma-separated list of fields to display, or a special value:
|
|
693
|
+
`ALL` for all fields, `DEF` for default fields.
|
|
694
|
+
Prefix a field name with `-` to exclude it.
|
|
695
|
+
select:
|
|
696
|
+
type: object
|
|
697
|
+
description: Select only matching items from a list (field/value filter or lambda).
|
|
698
|
+
table:
|
|
699
|
+
$ref: "#/components/schemas/TableOptions"
|
|
700
|
+
flat:
|
|
701
|
+
type: boolean
|
|
702
|
+
description: Display deep hash values as additional top-level keys.
|
|
703
|
+
default: true
|
|
704
|
+
secrets:
|
|
705
|
+
type: boolean
|
|
706
|
+
description: Show secrets in command output.
|
|
707
|
+
default: false
|
|
708
|
+
img:
|
|
709
|
+
$ref: "#/components/schemas/ImageOptions"
|