namirasoft-cost 1.4.38 → 1.4.40

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 (81) hide show
  1. package/.ns-sdkg-dir-deep +3 -3
  2. package/.ns-sdkg-file-keep +27 -27
  3. package/dist/NamirasoftCostServer.js +1 -1
  4. package/dist/NamirasoftCostServerCost.d.ts +4 -0
  5. package/dist/NamirasoftCostServerCost.js +10 -0
  6. package/dist/NamirasoftCostServerCost.js.map +1 -1
  7. package/dist/command/CostCommand.js +2 -0
  8. package/dist/command/CostCommand.js.map +1 -1
  9. package/dist/command/CostGroupedCommand.d.ts +5 -0
  10. package/dist/command/CostGroupedCommand.js +38 -0
  11. package/dist/command/CostGroupedCommand.js.map +1 -0
  12. package/dist/index.d.ts +1 -0
  13. package/dist/index.js +1 -0
  14. package/dist/index.js.map +1 -1
  15. package/dist/type/Bonus.d.ts +0 -2
  16. package/dist/type/Bonus.js.map +1 -1
  17. package/package.json +28 -28
  18. package/src/NamirasoftCostServer.ts +59 -59
  19. package/src/NamirasoftCostServerBase.ts +29 -29
  20. package/src/NamirasoftCostServerBillWatchAWS.ts +47 -47
  21. package/src/NamirasoftCostServerBillWatchAzure.ts +47 -47
  22. package/src/NamirasoftCostServerBillWatchGCP.ts +47 -47
  23. package/src/NamirasoftCostServerCost.ts +50 -41
  24. package/src/NamirasoftCostServerFieldCategory.ts +47 -47
  25. package/src/NamirasoftCostServerFieldField.ts +47 -47
  26. package/src/NamirasoftCostServerHealthz.ts +35 -35
  27. package/src/NamirasoftCostServerMetrics.ts +35 -35
  28. package/src/NamirasoftCostServerSecretSecret.ts +61 -61
  29. package/src/NamirasoftCostServerValue.ts +36 -36
  30. package/src/bonus/BaseBonus.ts +13 -13
  31. package/src/bonus/DeactiveBonus.ts +14 -14
  32. package/src/bonus/FreeCountBonus.ts +14 -14
  33. package/src/bonus/FreeTotalValueBonus.ts +28 -28
  34. package/src/bonus/FreeValueBonus.ts +24 -24
  35. package/src/bonus/LowAmountBonus.ts +14 -14
  36. package/src/bonus/LowSecondsBonus.ts +14 -14
  37. package/src/bonus/LowTotalValueBonus.ts +14 -14
  38. package/src/bonus/LowValueBonus.ts +14 -14
  39. package/src/bonus/TrialBonus.ts +18 -18
  40. package/src/command/BillWatchAWSCommand.ts +33 -33
  41. package/src/command/BillWatchAWSEstimateRecordCommand.ts +109 -109
  42. package/src/command/BillWatchAWS_CreateForRecordCommand.ts +118 -118
  43. package/src/command/BillWatchAzureCommand.ts +33 -33
  44. package/src/command/BillWatchAzureEstimateRecordCommand.ts +109 -109
  45. package/src/command/BillWatchAzure_CreateForRecordCommand.ts +118 -118
  46. package/src/command/BillWatchGCPCommand.ts +33 -33
  47. package/src/command/BillWatchGCPEstimateRecordCommand.ts +109 -109
  48. package/src/command/BillWatchGCP_CreateForRecordCommand.ts +118 -118
  49. package/src/command/CostCommand.ts +33 -31
  50. package/src/command/CostGroupedCommand.ts +45 -0
  51. package/src/command/CostListCommand.ts +44 -44
  52. package/src/command/FieldCategoryCommand.ts +33 -33
  53. package/src/command/FieldCategoryEstimateRecordCommand.ts +109 -109
  54. package/src/command/FieldCategory_CreateForRecordCommand.ts +118 -118
  55. package/src/command/FieldFieldCommand.ts +33 -33
  56. package/src/command/FieldFieldEstimateRecordCommand.ts +109 -109
  57. package/src/command/FieldField_CreateForRecordCommand.ts +118 -118
  58. package/src/command/HealthzCommand.ts +31 -31
  59. package/src/command/HealthzGetCommand.ts +44 -44
  60. package/src/command/MetricsCommand.ts +31 -31
  61. package/src/command/MetricsGetCommand.ts +44 -44
  62. package/src/command/SecretSecretCommand.ts +37 -37
  63. package/src/command/SecretSecretEstimateReadCommand.ts +109 -109
  64. package/src/command/SecretSecretEstimateRecordCommand.ts +109 -109
  65. package/src/command/SecretSecret_CreateForReadCommand.ts +118 -118
  66. package/src/command/SecretSecret_CreateForRecordCommand.ts +118 -118
  67. package/src/command/ValueCommand.ts +31 -31
  68. package/src/command/ValueListCommand.ts +44 -44
  69. package/src/command/cli.ts +50 -50
  70. package/src/index.ts +91 -90
  71. package/src/meta/CostMetaTable.ts +81 -81
  72. package/src/meta/NamirasoftCostMetaDatabase.ts +50 -50
  73. package/src/row/CostRow.ts +40 -40
  74. package/src/type/Bonus.ts +18 -20
  75. package/src/type/CalculationOption.ts +33 -33
  76. package/src/type/Estimation.ts +34 -34
  77. package/src/type/EstimationOption.ts +31 -31
  78. package/src/type/EstimationUsage.ts +22 -22
  79. package/src/type/Period.ts +108 -108
  80. package/src/type/SimulationOption.ts +29 -29
  81. package/src/type/Usage.ts +24 -24
@@ -1,45 +1,45 @@
1
- /****************************************************************/
2
- /* */
3
- /* This is an Auto-Generated File */
4
- /* Made By */
5
- /* Namirasoft SDK Generator NPM Package */
6
- /* */
7
- /****************************************************************/
8
- /****************************************************************/
9
- /* */
10
- /* Please do not make any change to this file */
11
- /* If any change is required, ns-sdkg command must be used */
12
- /* */
13
- /****************************************************************/
14
- /****************************************************************/
15
- /* */
16
- /* Namira Software Corporation */
17
- /* https://namirasoft.com */
18
- /* */
19
- /****************************************************************/
20
-
21
- import { BaseFinalCommand } from "namirasoft-node-cli";
22
- import { IStorageMemoryDedicated } from "namirasoft-core";
23
- import { NamirasoftCostServer } from "../NamirasoftCostServer";
24
- import { TokenManager } from "namirasoft-account";
25
-
26
- export class CostListCommand extends BaseFinalCommand
27
- {
28
- constructor(argv: string[])
29
- {
30
- super(argv, ["filters", "page", "size", "sorts"], []);
31
- }
32
- override async exec()
33
- {
34
- let token = this.app.storage.getNSAToken();
35
- if (token == null)
36
- throw new Error("Token is not available. Please login first using:\nns-cost account config \nor \nns-cost account login.");
37
- let storage = new IStorageMemoryDedicated();
38
- let manager = new TokenManager(storage, () => { });
39
- manager.setValue(token, false);
40
- let url = this.app.storage.getItem("ns-cost-server-url");
41
- let server = new NamirasoftCostServer(url, manager, e => this.app.logger.error(e.message));
42
- let ans = await server.cost.List(this.arg_values[0], this.arg_values[1], this.arg_values[2], this.arg_values[3]);
43
- this.app.logger.success(JSON.stringify(ans));
44
- }
1
+ /****************************************************************/
2
+ /* */
3
+ /* This is an Auto-Generated File */
4
+ /* Made By */
5
+ /* Namirasoft SDK Generator NPM Package */
6
+ /* */
7
+ /****************************************************************/
8
+ /****************************************************************/
9
+ /* */
10
+ /* Please do not make any change to this file */
11
+ /* If any change is required, ns-sdkg command must be used */
12
+ /* */
13
+ /****************************************************************/
14
+ /****************************************************************/
15
+ /* */
16
+ /* Namira Software Corporation */
17
+ /* https://namirasoft.com */
18
+ /* */
19
+ /****************************************************************/
20
+
21
+ import { BaseFinalCommand } from "namirasoft-node-cli";
22
+ import { IStorageMemoryDedicated } from "namirasoft-core";
23
+ import { NamirasoftCostServer } from "../NamirasoftCostServer";
24
+ import { TokenManager } from "namirasoft-account";
25
+
26
+ export class CostListCommand extends BaseFinalCommand
27
+ {
28
+ constructor(argv: string[])
29
+ {
30
+ super(argv, ["filters", "page", "size", "sorts"], []);
31
+ }
32
+ override async exec()
33
+ {
34
+ let token = this.app.storage.getNSAToken();
35
+ if (token == null)
36
+ throw new Error("Token is not available. Please login first using:\nns-cost account config \nor \nns-cost account login.");
37
+ let storage = new IStorageMemoryDedicated();
38
+ let manager = new TokenManager(storage, () => { });
39
+ manager.setValue(token, false);
40
+ let url = this.app.storage.getItem("ns-cost-server-url");
41
+ let server = new NamirasoftCostServer(url, manager, e => this.app.logger.error(e.message));
42
+ let ans = await server.cost.List(this.arg_values[0], this.arg_values[1], this.arg_values[2], this.arg_values[3]);
43
+ this.app.logger.success(JSON.stringify(ans));
44
+ }
45
45
  };
@@ -1,34 +1,34 @@
1
- /****************************************************************/
2
- /* */
3
- /* This is an Auto-Generated File */
4
- /* Made By */
5
- /* Namirasoft SDK Generator NPM Package */
6
- /* */
7
- /****************************************************************/
8
- /****************************************************************/
9
- /* */
10
- /* Please do not make any change to this file */
11
- /* If any change is required, ns-sdkg command must be used */
12
- /* */
13
- /****************************************************************/
14
- /****************************************************************/
15
- /* */
16
- /* Namira Software Corporation */
17
- /* https://namirasoft.com */
18
- /* */
19
- /****************************************************************/
20
-
21
- import { BaseNavigatorCommand } from "namirasoft-node-cli";
22
- import { FieldCategoryEstimateRecordCommand } from "./FieldCategoryEstimateRecordCommand";
23
- import { FieldCategory_CreateForRecordCommand } from "./FieldCategory_CreateForRecordCommand";
24
-
25
- export class FieldCategoryCommand extends BaseNavigatorCommand
26
- {
27
- constructor(argv: string[])
28
- {
29
- super(argv, {
30
- "estimaterecord": FieldCategoryEstimateRecordCommand,
31
- "_createforrecord": FieldCategory_CreateForRecordCommand,
32
- });
33
- }
1
+ /****************************************************************/
2
+ /* */
3
+ /* This is an Auto-Generated File */
4
+ /* Made By */
5
+ /* Namirasoft SDK Generator NPM Package */
6
+ /* */
7
+ /****************************************************************/
8
+ /****************************************************************/
9
+ /* */
10
+ /* Please do not make any change to this file */
11
+ /* If any change is required, ns-sdkg command must be used */
12
+ /* */
13
+ /****************************************************************/
14
+ /****************************************************************/
15
+ /* */
16
+ /* Namira Software Corporation */
17
+ /* https://namirasoft.com */
18
+ /* */
19
+ /****************************************************************/
20
+
21
+ import { BaseNavigatorCommand } from "namirasoft-node-cli";
22
+ import { FieldCategoryEstimateRecordCommand } from "./FieldCategoryEstimateRecordCommand";
23
+ import { FieldCategory_CreateForRecordCommand } from "./FieldCategory_CreateForRecordCommand";
24
+
25
+ export class FieldCategoryCommand extends BaseNavigatorCommand
26
+ {
27
+ constructor(argv: string[])
28
+ {
29
+ super(argv, {
30
+ "estimaterecord": FieldCategoryEstimateRecordCommand,
31
+ "_createforrecord": FieldCategory_CreateForRecordCommand,
32
+ });
33
+ }
34
34
  };
@@ -1,110 +1,110 @@
1
- /****************************************************************/
2
- /* */
3
- /* This is an Auto-Generated File */
4
- /* Made By */
5
- /* Namirasoft SDK Generator NPM Package */
6
- /* */
7
- /****************************************************************/
8
- /****************************************************************/
9
- /* */
10
- /* Please do not make any change to this file */
11
- /* If any change is required, ns-sdkg command must be used */
12
- /* */
13
- /****************************************************************/
14
- /****************************************************************/
15
- /* */
16
- /* Namira Software Corporation */
17
- /* https://namirasoft.com */
18
- /* */
19
- /****************************************************************/
20
-
21
- import { BaseFinalCommand } from "namirasoft-node-cli";
22
- import { IStorageMemoryDedicated } from "namirasoft-core";
23
- import { NamirasoftCostServer } from "../NamirasoftCostServer";
24
- import { TokenManager } from "namirasoft-account";
25
-
26
- export class FieldCategoryEstimateRecordCommand extends BaseFinalCommand
27
- {
28
- constructor(argv: string[])
29
- {
30
- super(argv, [], [
31
- {
32
- name: "period",
33
- short: "",
34
- description: "Provides the value of 'period' in body",
35
- optional: false,
36
- args: ["period"],
37
- defaults: [""]
38
- },
39
- {
40
- name: "total_count",
41
- short: "",
42
- description: "Provides the value of 'total_count' in body",
43
- optional: false,
44
- args: ["total_count"],
45
- defaults: [""]
46
- },
47
- {
48
- name: "number",
49
- short: "",
50
- description: "Provides the value of 'number' in body",
51
- optional: false,
52
- args: ["number"],
53
- defaults: [""]
54
- },
55
- {
56
- name: "total_value",
57
- short: "",
58
- description: "Provides the value of 'total_value' in body",
59
- optional: false,
60
- args: ["total_value"],
61
- defaults: [""]
62
- },
63
- {
64
- name: "value",
65
- short: "",
66
- description: "Provides the value of 'value' in body",
67
- optional: false,
68
- args: ["value"],
69
- defaults: [""]
70
- },
71
- {
72
- name: "active",
73
- short: "",
74
- description: "Provides the value of 'active' in body",
75
- optional: false,
76
- args: ["active"],
77
- defaults: [""]
78
- },
79
- {
80
- name: "trial_started_at",
81
- short: "",
82
- description: "Provides the value of 'trial_started_at' in body",
83
- optional: true,
84
- args: ["trial_started_at"],
85
- defaults: [""]
86
- }
87
- ]);
88
- }
89
- override async exec()
90
- {
91
- let token = this.app.storage.getNSAToken();
92
- if (token == null)
93
- throw new Error("Token is not available. Please login first using:\nns-cost account config \nor \nns-cost account login.");
94
- let storage = new IStorageMemoryDedicated();
95
- let manager = new TokenManager(storage, () => { });
96
- manager.setValue(token, false);
97
- let url = this.app.storage.getItem("ns-cost-server-url");
98
- let server = new NamirasoftCostServer(url, manager, e => this.app.logger.error(e.message));
99
- let ans = await server.field_category.EstimateRecord({
100
- period: this.option_values.period,
101
- total_count: this.option_values.total_count,
102
- number: this.option_values.number,
103
- total_value: this.option_values.total_value,
104
- value: this.option_values.value,
105
- active: this.option_values.active,
106
- trial_started_at: this.option_values.trial_started_at
107
- });
108
- this.app.logger.success(JSON.stringify(ans));
109
- }
1
+ /****************************************************************/
2
+ /* */
3
+ /* This is an Auto-Generated File */
4
+ /* Made By */
5
+ /* Namirasoft SDK Generator NPM Package */
6
+ /* */
7
+ /****************************************************************/
8
+ /****************************************************************/
9
+ /* */
10
+ /* Please do not make any change to this file */
11
+ /* If any change is required, ns-sdkg command must be used */
12
+ /* */
13
+ /****************************************************************/
14
+ /****************************************************************/
15
+ /* */
16
+ /* Namira Software Corporation */
17
+ /* https://namirasoft.com */
18
+ /* */
19
+ /****************************************************************/
20
+
21
+ import { BaseFinalCommand } from "namirasoft-node-cli";
22
+ import { IStorageMemoryDedicated } from "namirasoft-core";
23
+ import { NamirasoftCostServer } from "../NamirasoftCostServer";
24
+ import { TokenManager } from "namirasoft-account";
25
+
26
+ export class FieldCategoryEstimateRecordCommand extends BaseFinalCommand
27
+ {
28
+ constructor(argv: string[])
29
+ {
30
+ super(argv, [], [
31
+ {
32
+ name: "period",
33
+ short: "",
34
+ description: "Provides the value of 'period' in body",
35
+ optional: false,
36
+ args: ["period"],
37
+ defaults: [""]
38
+ },
39
+ {
40
+ name: "total_count",
41
+ short: "",
42
+ description: "Provides the value of 'total_count' in body",
43
+ optional: false,
44
+ args: ["total_count"],
45
+ defaults: [""]
46
+ },
47
+ {
48
+ name: "number",
49
+ short: "",
50
+ description: "Provides the value of 'number' in body",
51
+ optional: false,
52
+ args: ["number"],
53
+ defaults: [""]
54
+ },
55
+ {
56
+ name: "total_value",
57
+ short: "",
58
+ description: "Provides the value of 'total_value' in body",
59
+ optional: false,
60
+ args: ["total_value"],
61
+ defaults: [""]
62
+ },
63
+ {
64
+ name: "value",
65
+ short: "",
66
+ description: "Provides the value of 'value' in body",
67
+ optional: false,
68
+ args: ["value"],
69
+ defaults: [""]
70
+ },
71
+ {
72
+ name: "active",
73
+ short: "",
74
+ description: "Provides the value of 'active' in body",
75
+ optional: false,
76
+ args: ["active"],
77
+ defaults: [""]
78
+ },
79
+ {
80
+ name: "trial_started_at",
81
+ short: "",
82
+ description: "Provides the value of 'trial_started_at' in body",
83
+ optional: true,
84
+ args: ["trial_started_at"],
85
+ defaults: [""]
86
+ }
87
+ ]);
88
+ }
89
+ override async exec()
90
+ {
91
+ let token = this.app.storage.getNSAToken();
92
+ if (token == null)
93
+ throw new Error("Token is not available. Please login first using:\nns-cost account config \nor \nns-cost account login.");
94
+ let storage = new IStorageMemoryDedicated();
95
+ let manager = new TokenManager(storage, () => { });
96
+ manager.setValue(token, false);
97
+ let url = this.app.storage.getItem("ns-cost-server-url");
98
+ let server = new NamirasoftCostServer(url, manager, e => this.app.logger.error(e.message));
99
+ let ans = await server.field_category.EstimateRecord({
100
+ period: this.option_values.period,
101
+ total_count: this.option_values.total_count,
102
+ number: this.option_values.number,
103
+ total_value: this.option_values.total_value,
104
+ value: this.option_values.value,
105
+ active: this.option_values.active,
106
+ trial_started_at: this.option_values.trial_started_at
107
+ });
108
+ this.app.logger.success(JSON.stringify(ans));
109
+ }
110
110
  };
@@ -1,119 +1,119 @@
1
- /****************************************************************/
2
- /* */
3
- /* This is an Auto-Generated File */
4
- /* Made By */
5
- /* Namirasoft SDK Generator NPM Package */
6
- /* */
7
- /****************************************************************/
8
- /****************************************************************/
9
- /* */
10
- /* Please do not make any change to this file */
11
- /* If any change is required, ns-sdkg command must be used */
12
- /* */
13
- /****************************************************************/
14
- /****************************************************************/
15
- /* */
16
- /* Namira Software Corporation */
17
- /* https://namirasoft.com */
18
- /* */
19
- /****************************************************************/
20
-
21
- import { BaseFinalCommand } from "namirasoft-node-cli";
22
- import { IStorageMemoryDedicated } from "namirasoft-core";
23
- import { NamirasoftCostServer } from "../NamirasoftCostServer";
24
- import { TokenManager } from "namirasoft-account";
25
-
26
- export class FieldCategory_CreateForRecordCommand extends BaseFinalCommand
27
- {
28
- constructor(argv: string[])
29
- {
30
- super(argv, ["user_id"], [
31
- {
32
- name: "period",
33
- short: "",
34
- description: "Provides the value of 'period' in body",
35
- optional: false,
36
- args: ["period"],
37
- defaults: [""]
38
- },
39
- {
40
- name: "total_count",
41
- short: "",
42
- description: "Provides the value of 'total_count' in body",
43
- optional: false,
44
- args: ["total_count"],
45
- defaults: [""]
46
- },
47
- {
48
- name: "number",
49
- short: "",
50
- description: "Provides the value of 'number' in body",
51
- optional: false,
52
- args: ["number"],
53
- defaults: [""]
54
- },
55
- {
56
- name: "total_value",
57
- short: "",
58
- description: "Provides the value of 'total_value' in body",
59
- optional: false,
60
- args: ["total_value"],
61
- defaults: [""]
62
- },
63
- {
64
- name: "value",
65
- short: "",
66
- description: "Provides the value of 'value' in body",
67
- optional: false,
68
- args: ["value"],
69
- defaults: [""]
70
- },
71
- {
72
- name: "active",
73
- short: "",
74
- description: "Provides the value of 'active' in body",
75
- optional: false,
76
- args: ["active"],
77
- defaults: [""]
78
- },
79
- {
80
- name: "workspace_id",
81
- short: "",
82
- description: "Provides the value of 'workspace_id' in body",
83
- optional: true,
84
- args: ["workspace_id"],
85
- defaults: [""]
86
- },
87
- {
88
- name: "resource_id",
89
- short: "",
90
- description: "Provides the value of 'resource_id' in body",
91
- optional: true,
92
- args: ["resource_id"],
93
- defaults: [""]
94
- }
95
- ]);
96
- }
97
- override async exec()
98
- {
99
- let token = this.app.storage.getNSAToken();
100
- if (token == null)
101
- throw new Error("Token is not available. Please login first using:\nns-cost account config \nor \nns-cost account login.");
102
- let storage = new IStorageMemoryDedicated();
103
- let manager = new TokenManager(storage, () => { });
104
- manager.setValue(token, false);
105
- let url = this.app.storage.getItem("ns-cost-server-url");
106
- let server = new NamirasoftCostServer(url, manager, e => this.app.logger.error(e.message));
107
- let ans = await server.field_category._CreateForRecord(this.arg_values[0], {
108
- period: this.option_values.period,
109
- total_count: this.option_values.total_count,
110
- number: this.option_values.number,
111
- total_value: this.option_values.total_value,
112
- value: this.option_values.value,
113
- active: this.option_values.active,
114
- workspace_id: this.option_values.workspace_id,
115
- resource_id: this.option_values.resource_id
116
- });
117
- this.app.logger.success(JSON.stringify(ans));
118
- }
1
+ /****************************************************************/
2
+ /* */
3
+ /* This is an Auto-Generated File */
4
+ /* Made By */
5
+ /* Namirasoft SDK Generator NPM Package */
6
+ /* */
7
+ /****************************************************************/
8
+ /****************************************************************/
9
+ /* */
10
+ /* Please do not make any change to this file */
11
+ /* If any change is required, ns-sdkg command must be used */
12
+ /* */
13
+ /****************************************************************/
14
+ /****************************************************************/
15
+ /* */
16
+ /* Namira Software Corporation */
17
+ /* https://namirasoft.com */
18
+ /* */
19
+ /****************************************************************/
20
+
21
+ import { BaseFinalCommand } from "namirasoft-node-cli";
22
+ import { IStorageMemoryDedicated } from "namirasoft-core";
23
+ import { NamirasoftCostServer } from "../NamirasoftCostServer";
24
+ import { TokenManager } from "namirasoft-account";
25
+
26
+ export class FieldCategory_CreateForRecordCommand extends BaseFinalCommand
27
+ {
28
+ constructor(argv: string[])
29
+ {
30
+ super(argv, ["user_id"], [
31
+ {
32
+ name: "period",
33
+ short: "",
34
+ description: "Provides the value of 'period' in body",
35
+ optional: false,
36
+ args: ["period"],
37
+ defaults: [""]
38
+ },
39
+ {
40
+ name: "total_count",
41
+ short: "",
42
+ description: "Provides the value of 'total_count' in body",
43
+ optional: false,
44
+ args: ["total_count"],
45
+ defaults: [""]
46
+ },
47
+ {
48
+ name: "number",
49
+ short: "",
50
+ description: "Provides the value of 'number' in body",
51
+ optional: false,
52
+ args: ["number"],
53
+ defaults: [""]
54
+ },
55
+ {
56
+ name: "total_value",
57
+ short: "",
58
+ description: "Provides the value of 'total_value' in body",
59
+ optional: false,
60
+ args: ["total_value"],
61
+ defaults: [""]
62
+ },
63
+ {
64
+ name: "value",
65
+ short: "",
66
+ description: "Provides the value of 'value' in body",
67
+ optional: false,
68
+ args: ["value"],
69
+ defaults: [""]
70
+ },
71
+ {
72
+ name: "active",
73
+ short: "",
74
+ description: "Provides the value of 'active' in body",
75
+ optional: false,
76
+ args: ["active"],
77
+ defaults: [""]
78
+ },
79
+ {
80
+ name: "workspace_id",
81
+ short: "",
82
+ description: "Provides the value of 'workspace_id' in body",
83
+ optional: true,
84
+ args: ["workspace_id"],
85
+ defaults: [""]
86
+ },
87
+ {
88
+ name: "resource_id",
89
+ short: "",
90
+ description: "Provides the value of 'resource_id' in body",
91
+ optional: true,
92
+ args: ["resource_id"],
93
+ defaults: [""]
94
+ }
95
+ ]);
96
+ }
97
+ override async exec()
98
+ {
99
+ let token = this.app.storage.getNSAToken();
100
+ if (token == null)
101
+ throw new Error("Token is not available. Please login first using:\nns-cost account config \nor \nns-cost account login.");
102
+ let storage = new IStorageMemoryDedicated();
103
+ let manager = new TokenManager(storage, () => { });
104
+ manager.setValue(token, false);
105
+ let url = this.app.storage.getItem("ns-cost-server-url");
106
+ let server = new NamirasoftCostServer(url, manager, e => this.app.logger.error(e.message));
107
+ let ans = await server.field_category._CreateForRecord(this.arg_values[0], {
108
+ period: this.option_values.period,
109
+ total_count: this.option_values.total_count,
110
+ number: this.option_values.number,
111
+ total_value: this.option_values.total_value,
112
+ value: this.option_values.value,
113
+ active: this.option_values.active,
114
+ workspace_id: this.option_values.workspace_id,
115
+ resource_id: this.option_values.resource_id
116
+ });
117
+ this.app.logger.success(JSON.stringify(ans));
118
+ }
119
119
  };