clever-tools 4.9.0 → 4.10.0

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clever-tools",
3
- "version": "4.9.0",
3
+ "version": "4.10.0",
4
4
  "description": "Command Line Interface for Clever Cloud.",
5
5
  "keywords": [
6
6
  "cli",
@@ -113,6 +113,7 @@ clever addon providers [options]
113
113
  |Name|Description|
114
114
  |---|---|
115
115
  |`-F`, `--format` `<format>`|Output format (human, json) (default: human)|
116
+ |`-o`, `--org`, `--owner` `<org-id\|org-name>`|Organisation to target by its ID (or name, if unambiguous)|
116
117
 
117
118
  ## ➡️ `clever addon providers show` <kbd>Since 0.2.3</kbd>
118
119
 
@@ -133,6 +134,7 @@ clever addon providers show <addon-provider> [options]
133
134
  |Name|Description|
134
135
  |---|---|
135
136
  |`-F`, `--format` `<format>`|Output format (human, json) (default: human)|
137
+ |`-o`, `--org`, `--owner` `<org-id\|org-name>`|Organisation to target by its ID (or name, if unambiguous)|
136
138
 
137
139
  ## ➡️ `clever addon rename` <kbd>Since 0.3.0</kbd>
138
140
 
@@ -3,19 +3,22 @@ import { defineCommand } from '../../lib/define-command.js';
3
3
  import { styleText } from '../../lib/style-text.js';
4
4
  import { Logger } from '../../logger.js';
5
5
  import * as Addon from '../../models/addon.js';
6
- import { humanJsonOutputFormatOption } from '../global.options.js';
6
+ import { getOwnerIdFromOrgIdOrName } from '../../models/ids-resolver.js';
7
+ import { humanJsonOutputFormatOption, orgaIdOrNameOption } from '../global.options.js';
7
8
 
8
9
  export const addonProvidersCommand = defineCommand({
9
10
  description: 'List available add-on providers',
10
11
  since: '0.2.3',
11
12
  options: {
13
+ org: orgaIdOrNameOption,
12
14
  format: humanJsonOutputFormatOption,
13
15
  },
14
16
  args: [],
15
17
  async handler(options) {
16
- const { format } = options;
18
+ const { org: orgaIdOrName, format } = options;
17
19
 
18
- const providers = await Addon.listProviders();
20
+ const ownerId = await getOwnerIdFromOrgIdOrName(orgaIdOrName);
21
+ const providers = await Addon.listProviders(ownerId);
19
22
 
20
23
  switch (format) {
21
24
  case 'json': {
@@ -2,20 +2,23 @@ import { defineCommand } from '../../lib/define-command.js';
2
2
  import { styleText } from '../../lib/style-text.js';
3
3
  import { Logger } from '../../logger.js';
4
4
  import * as Addon from '../../models/addon.js';
5
- import { humanJsonOutputFormatOption } from '../global.options.js';
5
+ import { getOwnerIdFromOrgIdOrName } from '../../models/ids-resolver.js';
6
+ import { humanJsonOutputFormatOption, orgaIdOrNameOption } from '../global.options.js';
6
7
  import { addonProviderArg } from './addon.args.js';
7
8
 
8
9
  export const addonProvidersShowCommand = defineCommand({
9
10
  description: 'Show information about an add-on provider',
10
11
  since: '0.2.3',
11
12
  options: {
13
+ org: orgaIdOrNameOption,
12
14
  format: humanJsonOutputFormatOption,
13
15
  },
14
16
  args: [addonProviderArg],
15
17
  async handler(options, providerName) {
16
- const { format } = options;
18
+ const { org: orgaIdOrName, format } = options;
17
19
 
18
- const provider = await Addon.getProvider(providerName);
20
+ const ownerId = await getOwnerIdFromOrgIdOrName(orgaIdOrName);
21
+ const provider = await Addon.getProvider(providerName, ownerId);
19
22
  const providerInfos = await Addon.getProviderInfos(providerName);
20
23
 
21
24
  const formattedPlans = [...provider.plans]
@@ -15,12 +15,12 @@ import { Logger } from '../logger.js';
15
15
  import { resolveOwnerId } from './ids-resolver.js';
16
16
  import { sendToApi } from './send-to-api.js';
17
17
 
18
- export function listProviders() {
19
- return getAllAddonProviders({}).then(sendToApi);
18
+ export function listProviders(orgaId) {
19
+ return getAllAddonProviders({ orgaId }).then(sendToApi);
20
20
  }
21
21
 
22
- export async function getProvider(providerName) {
23
- const providers = await listProviders();
22
+ export async function getProvider(providerName, orgaId) {
23
+ const providers = await listProviders(orgaId);
24
24
  const provider = providers.find((p) => p.id === providerName);
25
25
  if (provider == null) {
26
26
  throw new Error(`Invalid provider name. Available providers: ${providers.map((p) => p.id).join(', ')}`);
@@ -129,7 +129,7 @@ function validateAddonVersionAndOptions(region, version, addonOptions, providerI
129
129
 
130
130
  export async function create({ ownerId, name, providerName, planName, region, version, addonOptions }) {
131
131
  // TODO: We should be able to use it without {}
132
- const provider = await getProvider(providerName);
132
+ const provider = await getProvider(providerName, ownerId);
133
133
 
134
134
  if (!provider.regions.includes(region)) {
135
135
  throw new Error(`Invalid region name. Available regions: ${provider.regions.join(', ')}`);