@openmeter/sdk 1.0.0-alpha.4 → 1.0.0-beta.2

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 (88) hide show
  1. package/README.md +42 -46
  2. package/clients/client.ts +153 -0
  3. package/clients/event.ts +109 -0
  4. package/clients/meter.ts +84 -0
  5. package/dist/clients/client.d.ts +40 -0
  6. package/dist/clients/client.js +101 -0
  7. package/dist/clients/event.d.ts +65 -0
  8. package/dist/clients/event.js +38 -0
  9. package/dist/clients/meter.d.ts +52 -0
  10. package/dist/clients/meter.js +52 -0
  11. package/dist/index.d.ts +10 -22
  12. package/dist/index.js +7 -25
  13. package/dist/schemas/openapi.d.ts +414 -0
  14. package/dist/schemas/openapi.js +5 -0
  15. package/dist/test/agent.d.ts +2 -0
  16. package/dist/test/agent.js +105 -0
  17. package/dist/test/mocks.d.ts +11 -0
  18. package/dist/test/mocks.js +21 -0
  19. package/dist/tsconfig.tsbuildinfo +1 -1
  20. package/index.ts +13 -49
  21. package/package.json +53 -56
  22. package/schemas/openapi.ts +421 -0
  23. package/dist/generated/HttpService.d.ts +0 -14
  24. package/dist/generated/HttpService.js +0 -27
  25. package/dist/generated/core/ApiError.d.ts +0 -10
  26. package/dist/generated/core/ApiError.js +0 -17
  27. package/dist/generated/core/ApiRequestOptions.d.ts +0 -13
  28. package/dist/generated/core/ApiRequestOptions.js +0 -2
  29. package/dist/generated/core/ApiResult.d.ts +0 -7
  30. package/dist/generated/core/ApiResult.js +0 -2
  31. package/dist/generated/core/BaseHttpRequest.d.ts +0 -8
  32. package/dist/generated/core/BaseHttpRequest.js +0 -7
  33. package/dist/generated/core/CancelablePromise.d.ts +0 -20
  34. package/dist/generated/core/CancelablePromise.js +0 -93
  35. package/dist/generated/core/NodeHttpRequest.d.ts +0 -14
  36. package/dist/generated/core/NodeHttpRequest.js +0 -17
  37. package/dist/generated/core/OpenAPI.d.ts +0 -16
  38. package/dist/generated/core/OpenAPI.js +0 -12
  39. package/dist/generated/core/request.d.ts +0 -34
  40. package/dist/generated/core/request.js +0 -268
  41. package/dist/generated/index.d.ts +0 -29
  42. package/dist/generated/index.js +0 -22
  43. package/dist/generated/models/Event.d.ts +0 -49
  44. package/dist/generated/models/Event.js +0 -11
  45. package/dist/generated/models/IdOrSlug.d.ts +0 -1
  46. package/dist/generated/models/IdOrSlug.js +0 -2
  47. package/dist/generated/models/Meter.d.ts +0 -30
  48. package/dist/generated/models/Meter.js +0 -2
  49. package/dist/generated/models/MeterAggregation.d.ts +0 -10
  50. package/dist/generated/models/MeterAggregation.js +0 -12
  51. package/dist/generated/models/MeterValue.d.ts +0 -10
  52. package/dist/generated/models/MeterValue.js +0 -2
  53. package/dist/generated/models/Namespace.d.ts +0 -6
  54. package/dist/generated/models/Namespace.js +0 -2
  55. package/dist/generated/models/Problem.d.ts +0 -4
  56. package/dist/generated/models/Problem.js +0 -2
  57. package/dist/generated/models/WindowSize.d.ts +0 -5
  58. package/dist/generated/models/WindowSize.js +0 -7
  59. package/dist/generated/models/meterIdOrSlug.d.ts +0 -5
  60. package/dist/generated/models/meterIdOrSlug.js +0 -2
  61. package/dist/generated/models/namespaceParam.d.ts +0 -4
  62. package/dist/generated/models/namespaceParam.js +0 -2
  63. package/dist/generated/schemas/$Event.d.ts +0 -59
  64. package/dist/generated/schemas/$Event.js +0 -60
  65. package/dist/generated/schemas/$IdOrSlug.d.ts +0 -13
  66. package/dist/generated/schemas/$IdOrSlug.js +0 -14
  67. package/dist/generated/schemas/$Meter.d.ts +0 -44
  68. package/dist/generated/schemas/$Meter.js +0 -45
  69. package/dist/generated/schemas/$MeterAggregation.d.ts +0 -3
  70. package/dist/generated/schemas/$MeterAggregation.js +0 -4
  71. package/dist/generated/schemas/$MeterValue.d.ts +0 -26
  72. package/dist/generated/schemas/$MeterValue.js +0 -27
  73. package/dist/generated/schemas/$Namespace.d.ts +0 -9
  74. package/dist/generated/schemas/$Namespace.js +0 -10
  75. package/dist/generated/schemas/$Problem.d.ts +0 -6
  76. package/dist/generated/schemas/$Problem.js +0 -7
  77. package/dist/generated/schemas/$WindowSize.d.ts +0 -3
  78. package/dist/generated/schemas/$WindowSize.js +0 -4
  79. package/dist/generated/schemas/$meterIdOrSlug.d.ts +0 -4
  80. package/dist/generated/schemas/$meterIdOrSlug.js +0 -5
  81. package/dist/generated/schemas/$namespaceParam.d.ts +0 -5
  82. package/dist/generated/schemas/$namespaceParam.js +0 -6
  83. package/dist/generated/services/DefaultService.d.ts +0 -16
  84. package/dist/generated/services/DefaultService.js +0 -22
  85. package/dist/generated/services/EventsService.d.ts +0 -17
  86. package/dist/generated/services/EventsService.js +0 -29
  87. package/dist/generated/services/MetersService.d.ts +0 -75
  88. package/dist/generated/services/MetersService.js +0 -140
@@ -1,60 +0,0 @@
1
- /* generated using openapi-typescript-codegen -- do no edit */
2
- export const $Event = {
3
- description: `CloudEvents Specification JSON Schema`,
4
- properties: {
5
- id: {
6
- type: 'string',
7
- description: `Identifies the event.`,
8
- isRequired: true,
9
- minLength: 1,
10
- },
11
- source: {
12
- type: 'string',
13
- description: `Identifies the context in which an event happened.`,
14
- isRequired: true,
15
- format: 'uri-reference',
16
- minLength: 1,
17
- },
18
- specversion: {
19
- type: 'string',
20
- description: `The version of the CloudEvents specification which the event uses.`,
21
- isRequired: true,
22
- minLength: 1,
23
- },
24
- type: {
25
- type: 'string',
26
- description: `Describes the type of event related to the originating occurrence.`,
27
- isRequired: true,
28
- },
29
- datacontenttype: {
30
- type: 'Enum',
31
- isNullable: true,
32
- },
33
- dataschema: {
34
- type: 'string',
35
- description: `Identifies the schema that data adheres to.`,
36
- isNullable: true,
37
- format: 'uri',
38
- minLength: 1,
39
- },
40
- subject: {
41
- type: 'string',
42
- description: `Describes the subject of the event in the context of the event producer (identified by source).`,
43
- isRequired: true,
44
- minLength: 1,
45
- },
46
- time: {
47
- type: 'string',
48
- description: `Timestamp of when the occurrence happened. Must adhere to RFC 3339.`,
49
- isNullable: true,
50
- format: 'date-time',
51
- minLength: 1,
52
- },
53
- data: {
54
- type: 'dictionary',
55
- contains: {
56
- properties: {},
57
- },
58
- },
59
- },
60
- };
@@ -1,13 +0,0 @@
1
- export declare const $IdOrSlug: {
2
- readonly type: "one-of";
3
- readonly contains: readonly [{
4
- readonly type: "string";
5
- readonly maxLength: 26;
6
- readonly minLength: 26;
7
- }, {
8
- readonly type: "string";
9
- readonly maxLength: 63;
10
- readonly minLength: 1;
11
- readonly pattern: "^[a-z0-9]+(?:_[a-z0-9]+)*$";
12
- }];
13
- };
@@ -1,14 +0,0 @@
1
- /* generated using openapi-typescript-codegen -- do no edit */
2
- export const $IdOrSlug = {
3
- type: 'one-of',
4
- contains: [{
5
- type: 'string',
6
- maxLength: 26,
7
- minLength: 26,
8
- }, {
9
- type: 'string',
10
- maxLength: 63,
11
- minLength: 1,
12
- pattern: '^[a-z0-9]+(?:_[a-z0-9]+)*$',
13
- }],
14
- };
@@ -1,44 +0,0 @@
1
- export declare const $Meter: {
2
- readonly properties: {
3
- readonly id: {
4
- readonly type: "string";
5
- readonly description: "A unique identifier for the meter.";
6
- readonly isReadOnly: true;
7
- };
8
- readonly slug: {
9
- readonly type: "string";
10
- readonly description: "A unique identifier for the meter.";
11
- readonly isRequired: true;
12
- readonly pattern: "^[a-z0-9]+(?:_[a-z0-9]+)*$";
13
- };
14
- readonly description: {
15
- readonly type: "string";
16
- readonly description: "A description of the meter.";
17
- readonly isNullable: true;
18
- };
19
- readonly aggregation: {
20
- readonly type: "MeterAggregation";
21
- readonly isRequired: true;
22
- };
23
- readonly eventType: {
24
- readonly type: "string";
25
- readonly description: "The event type to aggregate.";
26
- readonly isRequired: true;
27
- };
28
- readonly valueProperty: {
29
- readonly type: "string";
30
- readonly description: "JSONPath expression to extract the value from the event data.";
31
- readonly isRequired: true;
32
- };
33
- readonly groupBy: {
34
- readonly type: "dictionary";
35
- readonly contains: {
36
- readonly type: "string";
37
- };
38
- };
39
- readonly windowSize: {
40
- readonly type: "WindowSize";
41
- readonly isRequired: true;
42
- };
43
- };
44
- };
@@ -1,45 +0,0 @@
1
- /* generated using openapi-typescript-codegen -- do no edit */
2
- export const $Meter = {
3
- properties: {
4
- id: {
5
- type: 'string',
6
- description: `A unique identifier for the meter.`,
7
- isReadOnly: true,
8
- },
9
- slug: {
10
- type: 'string',
11
- description: `A unique identifier for the meter.`,
12
- isRequired: true,
13
- pattern: '^[a-z0-9]+(?:_[a-z0-9]+)*$',
14
- },
15
- description: {
16
- type: 'string',
17
- description: `A description of the meter.`,
18
- isNullable: true,
19
- },
20
- aggregation: {
21
- type: 'MeterAggregation',
22
- isRequired: true,
23
- },
24
- eventType: {
25
- type: 'string',
26
- description: `The event type to aggregate.`,
27
- isRequired: true,
28
- },
29
- valueProperty: {
30
- type: 'string',
31
- description: `JSONPath expression to extract the value from the event data.`,
32
- isRequired: true,
33
- },
34
- groupBy: {
35
- type: 'dictionary',
36
- contains: {
37
- type: 'string',
38
- },
39
- },
40
- windowSize: {
41
- type: 'WindowSize',
42
- isRequired: true,
43
- },
44
- },
45
- };
@@ -1,3 +0,0 @@
1
- export declare const $MeterAggregation: {
2
- readonly type: "Enum";
3
- };
@@ -1,4 +0,0 @@
1
- /* generated using openapi-typescript-codegen -- do no edit */
2
- export const $MeterAggregation = {
3
- type: 'Enum',
4
- };
@@ -1,26 +0,0 @@
1
- export declare const $MeterValue: {
2
- readonly properties: {
3
- readonly subject: {
4
- readonly type: "string";
5
- readonly description: "The subject of the meter value.";
6
- };
7
- readonly windowStart: {
8
- readonly type: "string";
9
- readonly format: "date-time";
10
- };
11
- readonly windowEnd: {
12
- readonly type: "string";
13
- readonly format: "date-time";
14
- };
15
- readonly value: {
16
- readonly type: "number";
17
- };
18
- readonly groupBy: {
19
- readonly type: "dictionary";
20
- readonly contains: {
21
- readonly type: "string";
22
- };
23
- readonly isNullable: true;
24
- };
25
- };
26
- };
@@ -1,27 +0,0 @@
1
- /* generated using openapi-typescript-codegen -- do no edit */
2
- export const $MeterValue = {
3
- properties: {
4
- subject: {
5
- type: 'string',
6
- description: `The subject of the meter value.`,
7
- },
8
- windowStart: {
9
- type: 'string',
10
- format: 'date-time',
11
- },
12
- windowEnd: {
13
- type: 'string',
14
- format: 'date-time',
15
- },
16
- value: {
17
- type: 'number',
18
- },
19
- groupBy: {
20
- type: 'dictionary',
21
- contains: {
22
- type: 'string',
23
- },
24
- isNullable: true,
25
- },
26
- },
27
- };
@@ -1,9 +0,0 @@
1
- export declare const $Namespace: {
2
- readonly properties: {
3
- readonly namespace: {
4
- readonly type: "string";
5
- readonly description: "A namespace";
6
- readonly isRequired: true;
7
- };
8
- };
9
- };
@@ -1,10 +0,0 @@
1
- /* generated using openapi-typescript-codegen -- do no edit */
2
- export const $Namespace = {
3
- properties: {
4
- namespace: {
5
- type: 'string',
6
- description: `A namespace`,
7
- isRequired: true,
8
- },
9
- },
10
- };
@@ -1,6 +0,0 @@
1
- export declare const $Problem: {
2
- readonly type: "dictionary";
3
- readonly contains: {
4
- readonly properties: {};
5
- };
6
- };
@@ -1,7 +0,0 @@
1
- /* generated using openapi-typescript-codegen -- do no edit */
2
- export const $Problem = {
3
- type: 'dictionary',
4
- contains: {
5
- properties: {},
6
- },
7
- };
@@ -1,3 +0,0 @@
1
- export declare const $WindowSize: {
2
- readonly type: "Enum";
3
- };
@@ -1,4 +0,0 @@
1
- /* generated using openapi-typescript-codegen -- do no edit */
2
- export const $WindowSize = {
3
- type: 'Enum',
4
- };
@@ -1,4 +0,0 @@
1
- export declare const $meterIdOrSlug: {
2
- readonly type: "IdOrSlug";
3
- readonly description: "A unique identifier for the meter.";
4
- };
@@ -1,5 +0,0 @@
1
- /* generated using openapi-typescript-codegen -- do no edit */
2
- export const $meterIdOrSlug = {
3
- type: 'IdOrSlug',
4
- description: `A unique identifier for the meter.`,
5
- };
@@ -1,5 +0,0 @@
1
- export declare const $namespaceParam: {
2
- readonly type: "string";
3
- readonly description: "Optional namespace";
4
- readonly pattern: "^[A-Za-z0-9]+(?:_[A-Za-z0-9]+)*$";
5
- };
@@ -1,6 +0,0 @@
1
- /* generated using openapi-typescript-codegen -- do no edit */
2
- export const $namespaceParam = {
3
- type: 'string',
4
- description: `Optional namespace`,
5
- pattern: '^[A-Za-z0-9]+(?:_[A-Za-z0-9]+)*$',
6
- };
@@ -1,16 +0,0 @@
1
- import type { BaseHttpRequest } from '../core/BaseHttpRequest.js';
2
- import type { CancelablePromise } from '../core/CancelablePromise.js';
3
- import type { Namespace } from '../models/Namespace.js';
4
- import type { Problem } from '../models/Problem.js';
5
- export declare class DefaultService {
6
- readonly httpRequest: BaseHttpRequest;
7
- constructor(httpRequest: BaseHttpRequest);
8
- /**
9
- * Create namespace
10
- * @param requestBody
11
- * @returns Problem Unexpected error
12
- * @returns Namespace Created
13
- * @throws ApiError
14
- */
15
- createNamespace(requestBody: Namespace): CancelablePromise<Problem | Namespace>;
16
- }
@@ -1,22 +0,0 @@
1
- /* generated using openapi-typescript-codegen -- do no edit */
2
- export class DefaultService {
3
- httpRequest;
4
- constructor(httpRequest) {
5
- this.httpRequest = httpRequest;
6
- }
7
- /**
8
- * Create namespace
9
- * @param requestBody
10
- * @returns Problem Unexpected error
11
- * @returns Namespace Created
12
- * @throws ApiError
13
- */
14
- createNamespace(requestBody) {
15
- return this.httpRequest.request({
16
- method: 'POST',
17
- url: '/api/v1/namespaces',
18
- body: requestBody,
19
- mediaType: 'application/json',
20
- });
21
- }
22
- }
@@ -1,17 +0,0 @@
1
- import type { BaseHttpRequest } from '../core/BaseHttpRequest.js';
2
- import type { CancelablePromise } from '../core/CancelablePromise.js';
3
- import type { Event } from '../models/Event.js';
4
- import type { Problem } from '../models/Problem.js';
5
- export declare class EventsService {
6
- readonly httpRequest: BaseHttpRequest;
7
- constructor(httpRequest: BaseHttpRequest);
8
- /**
9
- * Ingest events
10
- * @param requestBody
11
- * @param omNamespace Optional namespace
12
- * @returns any OK
13
- * @returns Problem Unexpected error
14
- * @throws ApiError
15
- */
16
- ingestEvents(requestBody: Event, omNamespace?: string): CancelablePromise<any | Problem>;
17
- }
@@ -1,29 +0,0 @@
1
- /* generated using openapi-typescript-codegen -- do no edit */
2
- export class EventsService {
3
- httpRequest;
4
- constructor(httpRequest) {
5
- this.httpRequest = httpRequest;
6
- }
7
- /**
8
- * Ingest events
9
- * @param requestBody
10
- * @param omNamespace Optional namespace
11
- * @returns any OK
12
- * @returns Problem Unexpected error
13
- * @throws ApiError
14
- */
15
- ingestEvents(requestBody, omNamespace) {
16
- return this.httpRequest.request({
17
- method: 'POST',
18
- url: '/api/v1/events',
19
- headers: {
20
- 'OM-Namespace': omNamespace,
21
- },
22
- body: requestBody,
23
- mediaType: 'application/cloudevents+json',
24
- errors: {
25
- 400: `Bad Request`,
26
- },
27
- });
28
- }
29
- }
@@ -1,75 +0,0 @@
1
- import type { BaseHttpRequest } from '../core/BaseHttpRequest.js';
2
- import type { CancelablePromise } from '../core/CancelablePromise.js';
3
- import type { IdOrSlug } from '../models/IdOrSlug.js';
4
- import type { Meter } from '../models/Meter.js';
5
- import type { MeterAggregation } from '../models/MeterAggregation.js';
6
- import type { MeterValue } from '../models/MeterValue.js';
7
- import type { Problem } from '../models/Problem.js';
8
- import type { WindowSize } from '../models/WindowSize.js';
9
- export declare class MetersService {
10
- readonly httpRequest: BaseHttpRequest;
11
- constructor(httpRequest: BaseHttpRequest);
12
- /**
13
- * List meters
14
- * @param omNamespace Optional namespace
15
- * @returns Meter Meters response
16
- * @returns Problem Unexpected error
17
- * @throws ApiError
18
- */
19
- listMeters(omNamespace?: string): CancelablePromise<Array<Meter> | Problem>;
20
- /**
21
- * Create meter
22
- * @param requestBody
23
- * @param omNamespace Optional namespace
24
- * @returns Problem Unexpected error
25
- * @returns Meter Created
26
- * @throws ApiError
27
- */
28
- createMeter(requestBody: Meter, omNamespace?: string): CancelablePromise<Problem | Meter>;
29
- /**
30
- * Get meter by slugs
31
- * @param meterIdOrSlug A unique identifier for the meter.
32
- * @param omNamespace Optional namespace
33
- * @returns Meter OK
34
- * @returns Problem Unexpected error
35
- * @throws ApiError
36
- */
37
- getMeter(meterIdOrSlug: IdOrSlug, omNamespace?: string): CancelablePromise<Meter | Problem>;
38
- /**
39
- * Delete meter by slug
40
- * @param meterIdOrSlug A unique identifier for the meter.
41
- * @param omNamespace Optional namespace
42
- * @returns Problem Unexpected error
43
- * @throws ApiError
44
- */
45
- deleteMeter(meterIdOrSlug: IdOrSlug, omNamespace?: string): CancelablePromise<Problem>;
46
- /**
47
- * Get meter values
48
- * @param meterIdOrSlug A unique identifier for the meter.
49
- * @param omNamespace Optional namespace
50
- * @param subject
51
- * @param from Start date-time in RFC 3339 format.
52
- * Must be aligned with the window size.
53
- * Inclusive.
54
- *
55
- * @param to End date-time in RFC 3339 format.
56
- * Must be aligned with the window size.
57
- * Inclusive.
58
- *
59
- * @param windowSize If not specified, a single usage aggregate will be returned for the entirety of the specified period for each subject and group.
60
- *
61
- * @param aggregation If not specified, OpenMeter will use the default aggregation type.
62
- * As OpenMeter stores aggregates defined by meter config, passing a different aggregate can lead to inaccurate results.
63
- * For example getting the MIN of SUMs.
64
- *
65
- * @param groupBy If not specified a single aggregate will be returned for each subject and time window.
66
- *
67
- * @returns any OK
68
- * @returns Problem Unexpected error
69
- * @throws ApiError
70
- */
71
- getMeterValues(meterIdOrSlug: IdOrSlug, omNamespace?: string, subject?: string, from?: string, to?: string, windowSize?: WindowSize, aggregation?: MeterAggregation, groupBy?: string): CancelablePromise<{
72
- windowSize?: WindowSize;
73
- data: Array<MeterValue>;
74
- } | Problem>;
75
- }
@@ -1,140 +0,0 @@
1
- /* generated using openapi-typescript-codegen -- do no edit */
2
- export class MetersService {
3
- httpRequest;
4
- constructor(httpRequest) {
5
- this.httpRequest = httpRequest;
6
- }
7
- /**
8
- * List meters
9
- * @param omNamespace Optional namespace
10
- * @returns Meter Meters response
11
- * @returns Problem Unexpected error
12
- * @throws ApiError
13
- */
14
- listMeters(omNamespace) {
15
- return this.httpRequest.request({
16
- method: 'GET',
17
- url: '/api/v1/meters',
18
- headers: {
19
- 'OM-Namespace': omNamespace,
20
- },
21
- });
22
- }
23
- /**
24
- * Create meter
25
- * @param requestBody
26
- * @param omNamespace Optional namespace
27
- * @returns Problem Unexpected error
28
- * @returns Meter Created
29
- * @throws ApiError
30
- */
31
- createMeter(requestBody, omNamespace) {
32
- return this.httpRequest.request({
33
- method: 'POST',
34
- url: '/api/v1/meters',
35
- headers: {
36
- 'OM-Namespace': omNamespace,
37
- },
38
- body: requestBody,
39
- mediaType: 'application/json',
40
- errors: {
41
- 400: `Bad Request`,
42
- 501: `Not Implemented`,
43
- },
44
- });
45
- }
46
- /**
47
- * Get meter by slugs
48
- * @param meterIdOrSlug A unique identifier for the meter.
49
- * @param omNamespace Optional namespace
50
- * @returns Meter OK
51
- * @returns Problem Unexpected error
52
- * @throws ApiError
53
- */
54
- getMeter(meterIdOrSlug, omNamespace) {
55
- return this.httpRequest.request({
56
- method: 'GET',
57
- url: '/api/v1/meters/{meterIdOrSlug}',
58
- path: {
59
- 'meterIdOrSlug': meterIdOrSlug,
60
- },
61
- headers: {
62
- 'OM-Namespace': omNamespace,
63
- },
64
- errors: {
65
- 404: `Not Found`,
66
- },
67
- });
68
- }
69
- /**
70
- * Delete meter by slug
71
- * @param meterIdOrSlug A unique identifier for the meter.
72
- * @param omNamespace Optional namespace
73
- * @returns Problem Unexpected error
74
- * @throws ApiError
75
- */
76
- deleteMeter(meterIdOrSlug, omNamespace) {
77
- return this.httpRequest.request({
78
- method: 'DELETE',
79
- url: '/api/v1/meters/{meterIdOrSlug}',
80
- path: {
81
- 'meterIdOrSlug': meterIdOrSlug,
82
- },
83
- headers: {
84
- 'OM-Namespace': omNamespace,
85
- },
86
- errors: {
87
- 404: `Not Found`,
88
- 501: `Not Implemented`,
89
- },
90
- });
91
- }
92
- /**
93
- * Get meter values
94
- * @param meterIdOrSlug A unique identifier for the meter.
95
- * @param omNamespace Optional namespace
96
- * @param subject
97
- * @param from Start date-time in RFC 3339 format.
98
- * Must be aligned with the window size.
99
- * Inclusive.
100
- *
101
- * @param to End date-time in RFC 3339 format.
102
- * Must be aligned with the window size.
103
- * Inclusive.
104
- *
105
- * @param windowSize If not specified, a single usage aggregate will be returned for the entirety of the specified period for each subject and group.
106
- *
107
- * @param aggregation If not specified, OpenMeter will use the default aggregation type.
108
- * As OpenMeter stores aggregates defined by meter config, passing a different aggregate can lead to inaccurate results.
109
- * For example getting the MIN of SUMs.
110
- *
111
- * @param groupBy If not specified a single aggregate will be returned for each subject and time window.
112
- *
113
- * @returns any OK
114
- * @returns Problem Unexpected error
115
- * @throws ApiError
116
- */
117
- getMeterValues(meterIdOrSlug, omNamespace, subject, from, to, windowSize, aggregation, groupBy) {
118
- return this.httpRequest.request({
119
- method: 'GET',
120
- url: '/api/v1/meters/{meterIdOrSlug}/values',
121
- path: {
122
- 'meterIdOrSlug': meterIdOrSlug,
123
- },
124
- headers: {
125
- 'OM-Namespace': omNamespace,
126
- },
127
- query: {
128
- 'subject': subject,
129
- 'from': from,
130
- 'to': to,
131
- 'windowSize': windowSize,
132
- 'aggregation': aggregation,
133
- 'groupBy': groupBy,
134
- },
135
- errors: {
136
- 400: `Bad Request`,
137
- },
138
- });
139
- }
140
- }