Skip to content

Commit 4359252

Browse files
faspex5: expand all recipient lists
Signed-off-by: Laurent Martin <laurent.martin.l@gmail.com>
1 parent bbe8043 commit 4359252

4 files changed

Lines changed: 165 additions & 72 deletions

File tree

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ Released: [Place date of release here]
88

99
### New Features
1010

11+
* `faspex5`: when sending a package, recipients specified in fields `private_recipients`, `notified_on_upload`, `notified_on_download` and `notified_on_receipt` are now also expanded like field `recipients`.
12+
1113
### Issues Fixed
1214

1315
### Breaking Changes

docs/README.erb.md

Lines changed: 70 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
# Command Line Interface for IBM Aspera products
22
<!--
33
<%=doc_warn('Yes edit this file!')%>
4-
PANDOC_META_BEGIN
5-
subtitle: "<%=cmd%> <%=build_version%>"
6-
author: "<%=gemspec.authors.join(', ')%>"
7-
PANDOC_META_END
4+
PANDOC_DEFAULTS_BEGIN
5+
metadata:
6+
subtitle: "<%=cmd%> <%=build_version%>"
7+
author: "<%=gemspec.authors.join(', ')%>"
8+
PANDOC_DEFAULTS_END
89
-->
910

1011
<!-- NOTE CAUTION WARNING IMPORTANT TIP INFO -->
@@ -13,8 +14,6 @@ PANDOC_META_END
1314
<!-- markdownlint-disable MD024 -->
1415
<!-- markdownlint-disable MD060 -->
1516

16-
## Introduction
17-
1817
![Hootput the Owl](<%=link_repo('docs/mascot.svg')%>)
1918

2019
"Hey, I’m <%=tool%> - your data’s personal courier.
@@ -29,18 +28,49 @@ Need to debug? I’ll show you what’s going on under the hood.
2928

3029
Think of me as Aspera’s command-line sidekick: quick, reliable, and a little no-nonsense. You bring the files; I’ll bring the horsepower."
3130

32-
<%=gemspec.authors.join(', ')%>/2016-<%=Time.new.year%>
31+
## Introduction
3332

34-
The <%=gemspec.name%> Ruby gem offers a powerful command-line interface (CLI, <%=tool%>) for IBM Aspera software, enabling seamless interaction with Aspera APIs and high-performance file transfers.
35-
It also serves as a useful resource for developers who want to explore and understand the Aspera API ecosystem.
33+
### Overview
3634

37-
Ruby gem: [<%=gemspec.metadata['rubygems_uri']%>](<%=gemspec.metadata['rubygems_uri']%>)
35+
The IBM Aspera Command Line Interface (<%=tool%>) is an enterprise-grade tool that provides comprehensive command-line access to IBM Aspera's suite of high-speed file transfer products and services.
36+
Designed for automation, scripting, and integration scenarios, <%=tool%> enables organizations to leverage Aspera's FASP technology within their existing workflows and DevOps pipelines.
3837

39-
Ruby Doc: [<%=gemspec.metadata['documentation_uri']%>](<%=gemspec.metadata['documentation_uri']%>)
38+
### Key Features
4039

41-
Minimum required Ruby version is <%=ruby_version%>.
40+
**Multi-Product Integration**
41+
: Unified interface supporting Aspera on Cloud, Faspex (v4 and v5), Shares, Node API, Console, Orchestrator, and High-Speed Transfer Server (HSTS).
4242

43-
[Aspera APIs on IBM developer](https://developer.ibm.com/apis/catalog/?search=aspera)
43+
**Flexible Authentication**
44+
: Support for OAuth 2.0, JWT, Basic Authentication, and SSH key-based authentication across different Aspera products.
45+
46+
**Transfer Automation**
47+
: High-speed FASP transfers with multiple agent support (Direct, Connect, Node, HTTP Gateway, Transfer Daemon).
48+
49+
**Configuration Management**
50+
: Persistent configuration presets, environment variables, and flexible option handling for streamlined operations.
51+
52+
**Developer Friendly**
53+
: Comprehensive logging, debugging capabilities, and API exploration tools for development and troubleshooting.
54+
55+
### Target Audience
56+
57+
This manual is intended for:
58+
59+
- **System Administrators** managing Aspera infrastructure
60+
- **DevOps Engineers** integrating Aspera into CI/CD pipelines
61+
- **Developers** building automation scripts and workflows
62+
- **IT Professionals** performing file transfer operations
63+
64+
### Document Structure
65+
66+
This manual is organized into the following sections:
67+
68+
1. **Quick Start** - Getting started with basic operations
69+
1. **Installation** - Setup procedures for various platforms
70+
1. **Command Line Interface** - Syntax, options, and usage patterns
71+
1. **Plugins** - Product-specific operations and examples
72+
1. **Troubleshooting** - Common issues and solutions
73+
1. **Reference** - Technical specifications and advanced topics
4474

4575
### When to use and when not to use
4676

@@ -82,10 +112,9 @@ While `ascp` can be used directly, it is limited to basic send/receive operation
82112
Examples of command-line operations are shown using a shell such as: `bash` (Linux) or `zsh` (macOS).
83113
Using [Windows PowerShell or cmd](#shell-parsing-for-windows) is also possible.
84114

85-
> [!NOTE]
86-
> All command line examples in sections titled **<%=sample_commands_title(:_plugin_name_)%>** are verified during version validation.
115+
Command line examples listed in sections titled **<%=sample_commands_title(:_plugin_name_)%>** are verified during version validation.
87116

88-
Command line arguments like `<%=ph :name%>` in examples, represent user-provided values, not fixed value commands.
117+
Command line arguments formatted as `<%=ph :name%>` in examples represent user-provided values, not fixed value commands.
89118

90119
<%=tool%> is an API **Client** toward the remote Aspera application **Server** (Faspex, HSTS, etc.)
91120

@@ -4823,15 +4852,15 @@ Items: 4/4
48234852
╭────────────┬─────────────────────╮
48244853
│ id │ name │
48254854
╞════════════╪═════════════════════╡
4826-
│ oXPUyJ7JpQ │ PRI Sydney
4827-
<%=ph :name%>ascli_test_web
4828-
│ TDNl2bLZqw │ ascli_web
4829-
│ VTh92i5OfQ │ shannon
4855+
│ oXPUyJ7JpQ │ ALM
4856+
<%=ph :id%>web_client
4857+
│ TDNl2bLZqw │ jwt_client
4858+
│ VTh92i5OfQ │ iPaaS
48304859
╰────────────┴─────────────────────╯
48314860
```
48324861
48334862
```shell
4834-
<%=cmd%> aoc admin client modify <%=ph :name%> @json:'{"jwt_grant_enabled":true,"explicit_authorization_required":false}'
4863+
<%=cmd%> aoc admin client modify <%=ph :id%> @json:'{"jwt_grant_enabled":true,"explicit_authorization_required":false}'
48354864
```
48364865
48374866
```text
@@ -7125,10 +7154,10 @@ To select another inbox, use option `box` with one of the following values:
71257154
Use the following command to send a package:
71267155
71277156
```shell
7128-
<%=cmd%> faspex5 packages send [extended value: Hash with package info] [files...]
7157+
<%=cmd%> faspex5 packages send <%=ph :package_data%> <%=ph :file_list%> ...
71297158
```
71307159
7131-
The `Hash` passed as a command parameter corresponds to the Faspex 5 API endpoint `POST /packages`.
7160+
The `Hash` passed as a command parameter corresponds to the Faspex 5 API endpoint [`POST /packages`](https://developer.ibm.com/apis/catalog/aspera--ibm-aspera-faspex-5-0-api/api/API--aspera--ibm-aspera-faspex-api#createPackageRecord).
71327161
Refer to the API reference for a full list of supported fields, or inspect such request when interacting with a browser.
71337162
71347163
The following fields are required:
@@ -7162,6 +7191,15 @@ Valid values for `recipient_type` are (API):
71627191
- `distribution_list`
71637192
- `shared_inbox`
71647193
7194+
Other "recipient" fields are also defined in the API and can be used:
7195+
7196+
- `private_recipients`
7197+
- `notified_on_upload`
7198+
- `notified_on_download`
7199+
- `notified_on_receipt`
7200+
7201+
If the provided list is only an `Array` of `String`, then fields `name` and `recipient_type` are resolved automatically using the user's `contacts`.
7202+
71657203
#### Simplified recipient format
71667204
71677205
As a convenience, <%=tool%> also accepts plain `String`s in the recipients `Array` rather than `Hash`es:
@@ -8194,7 +8232,7 @@ If the preview generator does not have access to files on the file system (it is
81948232
81958233
## Operational Utilities
81968234
8197-
This section covers the specialized modules and utilities used to integrate ascli into your broader operational infrastructure. While the core plugins handle data movement, these tools provide the "connective tissue" for enterprise environments: Aspera Sync and Hot Folder enable automated, folder-based synchronization; Nagios and SMTP modules provide health monitoring and automated email alerting for transfer status; and asession and module manage internal session states and environment configurations. Together, these features transform the CLI from a manual tool into a fully integrated component of an automated, monitored data workflow.
8235+
This section covers the specialized modules and utilities used to integrate <%=tool%> into your broader operational infrastructure. While the core plugins handle data movement, these tools provide the "connective tissue" for enterprise environments: Aspera Sync and Hot Folder enable automated, folder-based synchronization; Nagios and SMTP modules provide health monitoring and automated email alerting for transfer status; and `asession` and module manage internal session states and environment configurations. Together, these features transform the CLI from a manual tool into a fully integrated component of an automated, monitored data workflow.
81988236
81998237
### IBM Aspera Sync
82008238
@@ -8847,3 +8885,11 @@ Enjoy a coffee on me:
88478885
<%=cmd%> config coffee --ui=text --image=@json:'{"text":true}'
88488886
<%=cmd%> config coffee
88498887
```
8888+
8889+
### References
8890+
8891+
Ruby gem: [<%=gemspec.metadata['rubygems_uri']%>](<%=gemspec.metadata['rubygems_uri']%>)
8892+
8893+
Ruby Doc: [<%=gemspec.metadata['documentation_uri']%>](<%=gemspec.metadata['documentation_uri']%>)
8894+
8895+
[Aspera APIs on IBM developer](https://developer.ibm.com/apis/catalog/?search=aspera)

0 commit comments

Comments
 (0)