lark-billing 0.1.0 → 0.1.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.
Files changed (42) hide show
  1. package/dist/cjs/Client.js +2 -2
  2. package/dist/cjs/api/resources/checkout/client/requests/CreateSubscriptionCheckoutSessionRequest.d.ts +1 -1
  3. package/dist/cjs/api/resources/customerPortal/client/requests/CreateCustomerPortalSessionRequest.d.ts +1 -1
  4. package/dist/cjs/api/resources/invoices/client/requests/ListInvoicesInvoicesGetRequest.d.ts +1 -1
  5. package/dist/cjs/api/resources/pricingMetrics/client/requests/CreatePricingMetricSummaryRequest.d.ts +1 -1
  6. package/dist/cjs/api/resources/subscriptions/client/requests/CreateSubscriptionRequest.d.ts +1 -1
  7. package/dist/cjs/api/resources/subscriptions/client/requests/ListSubscriptionsSubscriptionsGetRequest.d.ts +1 -1
  8. package/dist/cjs/api/resources/usageEvents/client/Client.d.ts +2 -2
  9. package/dist/cjs/api/resources/usageEvents/client/Client.js +2 -2
  10. package/dist/cjs/api/resources/usageEvents/client/requests/CreateUsageEventRequest.d.ts +3 -3
  11. package/dist/cjs/api/types/ActiveSubscription.d.ts +7 -0
  12. package/dist/cjs/api/types/ActiveSubscription.js +5 -0
  13. package/dist/cjs/api/types/BillingStateResponse.d.ts +5 -0
  14. package/dist/cjs/api/types/CreateCustomerPortalSessionResponse.d.ts +2 -0
  15. package/dist/cjs/api/types/UsageDataForRate.d.ts +9 -0
  16. package/dist/cjs/api/types/UsageDataForRate.js +5 -0
  17. package/dist/cjs/api/types/index.d.ts +2 -0
  18. package/dist/cjs/api/types/index.js +2 -0
  19. package/dist/cjs/version.d.ts +1 -1
  20. package/dist/cjs/version.js +1 -1
  21. package/dist/esm/Client.mjs +2 -2
  22. package/dist/esm/api/resources/checkout/client/requests/CreateSubscriptionCheckoutSessionRequest.d.mts +1 -1
  23. package/dist/esm/api/resources/customerPortal/client/requests/CreateCustomerPortalSessionRequest.d.mts +1 -1
  24. package/dist/esm/api/resources/invoices/client/requests/ListInvoicesInvoicesGetRequest.d.mts +1 -1
  25. package/dist/esm/api/resources/pricingMetrics/client/requests/CreatePricingMetricSummaryRequest.d.mts +1 -1
  26. package/dist/esm/api/resources/subscriptions/client/requests/CreateSubscriptionRequest.d.mts +1 -1
  27. package/dist/esm/api/resources/subscriptions/client/requests/ListSubscriptionsSubscriptionsGetRequest.d.mts +1 -1
  28. package/dist/esm/api/resources/usageEvents/client/Client.d.mts +2 -2
  29. package/dist/esm/api/resources/usageEvents/client/Client.mjs +2 -2
  30. package/dist/esm/api/resources/usageEvents/client/requests/CreateUsageEventRequest.d.mts +3 -3
  31. package/dist/esm/api/types/ActiveSubscription.d.mts +7 -0
  32. package/dist/esm/api/types/ActiveSubscription.mjs +4 -0
  33. package/dist/esm/api/types/BillingStateResponse.d.mts +5 -0
  34. package/dist/esm/api/types/CreateCustomerPortalSessionResponse.d.mts +2 -0
  35. package/dist/esm/api/types/UsageDataForRate.d.mts +9 -0
  36. package/dist/esm/api/types/UsageDataForRate.mjs +4 -0
  37. package/dist/esm/api/types/index.d.mts +2 -0
  38. package/dist/esm/api/types/index.mjs +2 -0
  39. package/dist/esm/version.d.mts +1 -1
  40. package/dist/esm/version.mjs +1 -1
  41. package/package.json +1 -1
  42. package/reference.md +2 -2
@@ -53,8 +53,8 @@ class LarkClient {
53
53
  this._options = Object.assign(Object.assign({}, _options), { headers: (0, headers_js_1.mergeHeaders)({
54
54
  "X-Fern-Language": "JavaScript",
55
55
  "X-Fern-SDK-Name": "lark-billing",
56
- "X-Fern-SDK-Version": "0.1.0",
57
- "User-Agent": "lark-billing/0.1.0",
56
+ "X-Fern-SDK-Version": "0.1.1",
57
+ "User-Agent": "lark-billing/0.1.1",
58
58
  "X-Fern-Runtime": core.RUNTIME.type,
59
59
  "X-Fern-Runtime-Version": core.RUNTIME.version,
60
60
  }, _options === null || _options === void 0 ? void 0 : _options.headers) });
@@ -10,7 +10,7 @@
10
10
  * }
11
11
  */
12
12
  export interface CreateSubscriptionCheckoutSessionRequest {
13
- /** The ID of the subject to create the checkout for. */
13
+ /** The ID or external ID of the subject to create the checkout for. */
14
14
  subject_id: string;
15
15
  /** The ID of the rate card to subscribe to. */
16
16
  rate_card_id: string;
@@ -8,6 +8,6 @@
8
8
  * }
9
9
  */
10
10
  export interface CreateCustomerPortalSessionRequest {
11
- /** The ID of the subject to create the customer portal session for. */
11
+ /** The ID or external ID of the subject to create the customer portal session for. */
12
12
  subject_id: string;
13
13
  }
@@ -10,7 +10,7 @@
10
10
  * }
11
11
  */
12
12
  export interface ListInvoicesInvoicesGetRequest {
13
- /** The ID of the subject to list invoices for. */
13
+ /** The ID or external ID of the subject to list invoices for. */
14
14
  subject_id: string;
15
15
  limit?: number;
16
16
  offset?: number;
@@ -13,7 +13,7 @@ import * as Lark from "../../../../index.js";
13
13
  * }
14
14
  */
15
15
  export interface CreatePricingMetricSummaryRequest {
16
- /** The ID of the subject that the summary should be computed for. */
16
+ /** The ID or external ID of the subject that the summary should be computed for. */
17
17
  subject_id: string;
18
18
  /** The period that the summary should be computed over. */
19
19
  period: Lark.Period;
@@ -11,7 +11,7 @@
11
11
  export interface CreateSubscriptionRequest {
12
12
  /** The ID of the rate card to use for the subscription. */
13
13
  rate_card_id: string;
14
- /** The ID of the subject to create the subscription for. */
14
+ /** The ID or external ID of the subject to create the subscription for. */
15
15
  subject_id: string;
16
16
  /** Additional metadata about the subscription. You may use this to store any custom data about the subscription. */
17
17
  metadata?: Record<string, string>;
@@ -11,7 +11,7 @@
11
11
  */
12
12
  export interface ListSubscriptionsSubscriptionsGetRequest {
13
13
  limit?: number;
14
- /** The ID of the subject to list subscriptions for. Cannot be used with rate_card_id. */
14
+ /** The ID or external ID of the subject to list subscriptions for. Cannot be used with rate_card_id. */
15
15
  subject_id?: string;
16
16
  /** The ID of the rate card to list subscriptions for. Cannot be used with subject_id. */
17
17
  rate_card_id?: string;
@@ -37,10 +37,10 @@ export declare class UsageEvents {
37
37
  *
38
38
  * @example
39
39
  * await client.usageEvents.createUsageEvent({
40
- * idempotency_key: "6b4ef298-4566-427d-b2ca-cd8fbe38ec60",
40
+ * idempotency_key: "f283b3d1-41b2-43b1-9d00-dd7935cb6263",
41
41
  * event_name: "compute_hours",
42
42
  * subject_id: "subj_VyX6Q96h5avMho8O7QWlKeXE",
43
- * timestamp: "2025-10-31T20:29:47Z",
43
+ * timestamp: "2025-11-03T18:37:02Z",
44
44
  * data: {
45
45
  * "compute_hours": 100,
46
46
  * "instance_type": "t2.micro",
@@ -63,10 +63,10 @@ class UsageEvents {
63
63
  *
64
64
  * @example
65
65
  * await client.usageEvents.createUsageEvent({
66
- * idempotency_key: "6b4ef298-4566-427d-b2ca-cd8fbe38ec60",
66
+ * idempotency_key: "f283b3d1-41b2-43b1-9d00-dd7935cb6263",
67
67
  * event_name: "compute_hours",
68
68
  * subject_id: "subj_VyX6Q96h5avMho8O7QWlKeXE",
69
- * timestamp: "2025-10-31T20:29:47Z",
69
+ * timestamp: "2025-11-03T18:37:02Z",
70
70
  * data: {
71
71
  * "compute_hours": 100,
72
72
  * "instance_type": "t2.micro",
@@ -4,10 +4,10 @@
4
4
  /**
5
5
  * @example
6
6
  * {
7
- * idempotency_key: "6b4ef298-4566-427d-b2ca-cd8fbe38ec60",
7
+ * idempotency_key: "f283b3d1-41b2-43b1-9d00-dd7935cb6263",
8
8
  * event_name: "compute_hours",
9
9
  * subject_id: "subj_VyX6Q96h5avMho8O7QWlKeXE",
10
- * timestamp: "2025-10-31T20:29:47Z",
10
+ * timestamp: "2025-11-03T18:37:02Z",
11
11
  * data: {
12
12
  * "compute_hours": 100,
13
13
  * "instance_type": "t2.micro",
@@ -20,7 +20,7 @@ export interface CreateUsageEventRequest {
20
20
  idempotency_key: string;
21
21
  /** The name of the event. This is used by pricing metrics to aggregate usage events. */
22
22
  event_name: string;
23
- /** The ID of the subject that the usage event is for. */
23
+ /** The ID or external ID of the subject that the usage event is for. */
24
24
  subject_id: string;
25
25
  /** The timestamp of the usage event. It is highly recommended to provide a timestamp. If not provided, the current timestamp will be used. */
26
26
  timestamp?: string;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * This file was auto-generated by Fern from our API Definition.
3
+ */
4
+ export interface ActiveSubscription {
5
+ subscription_id: string;
6
+ rate_card_id: string;
7
+ }
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ /**
3
+ * This file was auto-generated by Fern from our API Definition.
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,9 +1,14 @@
1
1
  /**
2
2
  * This file was auto-generated by Fern from our API Definition.
3
3
  */
4
+ import * as Lark from "../index.js";
4
5
  export interface BillingStateResponse {
5
6
  /** Whether the subject has an active subscription. */
6
7
  has_active_subscription: boolean;
7
8
  /** Whether the subject has exceeded the included usage (if any) on a usage-based rate they are subscribed to. */
8
9
  has_overage_for_usage: boolean;
10
+ /** List of active subscriptions the subject is subscribed to. */
11
+ active_subscriptions: Lark.ActiveSubscription[];
12
+ /** The usage data for the usage-based rates the subject is subscribed to. */
13
+ usage_data: Lark.UsageDataForRate[];
9
14
  }
@@ -6,4 +6,6 @@ export interface CreateCustomerPortalSessionResponse {
6
6
  subject_id: string;
7
7
  /** The URL to redirect to the customer portal session. */
8
8
  url: string;
9
+ /** The date and time the customer portal session expires. */
10
+ expires_at: string;
9
11
  }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * This file was auto-generated by Fern from our API Definition.
3
+ */
4
+ export interface UsageDataForRate {
5
+ rate_name: string;
6
+ pricing_metric_id: string;
7
+ included_units: number;
8
+ used_units: string;
9
+ }
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ /**
3
+ * This file was auto-generated by Fern from our API Definition.
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,3 +1,4 @@
1
+ export * from "./ActiveSubscription.js";
1
2
  export * from "./Amount.js";
2
3
  export * from "./BillingStateResponse.js";
3
4
  export * from "./CountAggregationPricingMetricInterface.js";
@@ -36,4 +37,5 @@ export * from "./SubjectResource.js";
36
37
  export * from "./SubscriptionResource.js";
37
38
  export * from "./SumAggregationPricingMetricInterface.js";
38
39
  export * from "./SumAggregationPricingMetricResource.js";
40
+ export * from "./UsageDataForRate.js";
39
41
  export * from "./ValidationError.js";
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./ActiveSubscription.js"), exports);
17
18
  __exportStar(require("./Amount.js"), exports);
18
19
  __exportStar(require("./BillingStateResponse.js"), exports);
19
20
  __exportStar(require("./CountAggregationPricingMetricInterface.js"), exports);
@@ -52,4 +53,5 @@ __exportStar(require("./SubjectResource.js"), exports);
52
53
  __exportStar(require("./SubscriptionResource.js"), exports);
53
54
  __exportStar(require("./SumAggregationPricingMetricInterface.js"), exports);
54
55
  __exportStar(require("./SumAggregationPricingMetricResource.js"), exports);
56
+ __exportStar(require("./UsageDataForRate.js"), exports);
55
57
  __exportStar(require("./ValidationError.js"), exports);
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "0.1.0";
1
+ export declare const SDK_VERSION = "0.1.1";
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SDK_VERSION = void 0;
4
- exports.SDK_VERSION = "0.1.0";
4
+ exports.SDK_VERSION = "0.1.1";
@@ -17,8 +17,8 @@ export class LarkClient {
17
17
  this._options = Object.assign(Object.assign({}, _options), { headers: mergeHeaders({
18
18
  "X-Fern-Language": "JavaScript",
19
19
  "X-Fern-SDK-Name": "lark-billing",
20
- "X-Fern-SDK-Version": "0.1.0",
21
- "User-Agent": "lark-billing/0.1.0",
20
+ "X-Fern-SDK-Version": "0.1.1",
21
+ "User-Agent": "lark-billing/0.1.1",
22
22
  "X-Fern-Runtime": core.RUNTIME.type,
23
23
  "X-Fern-Runtime-Version": core.RUNTIME.version,
24
24
  }, _options === null || _options === void 0 ? void 0 : _options.headers) });
@@ -10,7 +10,7 @@
10
10
  * }
11
11
  */
12
12
  export interface CreateSubscriptionCheckoutSessionRequest {
13
- /** The ID of the subject to create the checkout for. */
13
+ /** The ID or external ID of the subject to create the checkout for. */
14
14
  subject_id: string;
15
15
  /** The ID of the rate card to subscribe to. */
16
16
  rate_card_id: string;
@@ -8,6 +8,6 @@
8
8
  * }
9
9
  */
10
10
  export interface CreateCustomerPortalSessionRequest {
11
- /** The ID of the subject to create the customer portal session for. */
11
+ /** The ID or external ID of the subject to create the customer portal session for. */
12
12
  subject_id: string;
13
13
  }
@@ -10,7 +10,7 @@
10
10
  * }
11
11
  */
12
12
  export interface ListInvoicesInvoicesGetRequest {
13
- /** The ID of the subject to list invoices for. */
13
+ /** The ID or external ID of the subject to list invoices for. */
14
14
  subject_id: string;
15
15
  limit?: number;
16
16
  offset?: number;
@@ -13,7 +13,7 @@ import * as Lark from "../../../../index.mjs";
13
13
  * }
14
14
  */
15
15
  export interface CreatePricingMetricSummaryRequest {
16
- /** The ID of the subject that the summary should be computed for. */
16
+ /** The ID or external ID of the subject that the summary should be computed for. */
17
17
  subject_id: string;
18
18
  /** The period that the summary should be computed over. */
19
19
  period: Lark.Period;
@@ -11,7 +11,7 @@
11
11
  export interface CreateSubscriptionRequest {
12
12
  /** The ID of the rate card to use for the subscription. */
13
13
  rate_card_id: string;
14
- /** The ID of the subject to create the subscription for. */
14
+ /** The ID or external ID of the subject to create the subscription for. */
15
15
  subject_id: string;
16
16
  /** Additional metadata about the subscription. You may use this to store any custom data about the subscription. */
17
17
  metadata?: Record<string, string>;
@@ -11,7 +11,7 @@
11
11
  */
12
12
  export interface ListSubscriptionsSubscriptionsGetRequest {
13
13
  limit?: number;
14
- /** The ID of the subject to list subscriptions for. Cannot be used with rate_card_id. */
14
+ /** The ID or external ID of the subject to list subscriptions for. Cannot be used with rate_card_id. */
15
15
  subject_id?: string;
16
16
  /** The ID of the rate card to list subscriptions for. Cannot be used with subject_id. */
17
17
  rate_card_id?: string;
@@ -37,10 +37,10 @@ export declare class UsageEvents {
37
37
  *
38
38
  * @example
39
39
  * await client.usageEvents.createUsageEvent({
40
- * idempotency_key: "6b4ef298-4566-427d-b2ca-cd8fbe38ec60",
40
+ * idempotency_key: "f283b3d1-41b2-43b1-9d00-dd7935cb6263",
41
41
  * event_name: "compute_hours",
42
42
  * subject_id: "subj_VyX6Q96h5avMho8O7QWlKeXE",
43
- * timestamp: "2025-10-31T20:29:47Z",
43
+ * timestamp: "2025-11-03T18:37:02Z",
44
44
  * data: {
45
45
  * "compute_hours": 100,
46
46
  * "instance_type": "t2.micro",
@@ -27,10 +27,10 @@ export class UsageEvents {
27
27
  *
28
28
  * @example
29
29
  * await client.usageEvents.createUsageEvent({
30
- * idempotency_key: "6b4ef298-4566-427d-b2ca-cd8fbe38ec60",
30
+ * idempotency_key: "f283b3d1-41b2-43b1-9d00-dd7935cb6263",
31
31
  * event_name: "compute_hours",
32
32
  * subject_id: "subj_VyX6Q96h5avMho8O7QWlKeXE",
33
- * timestamp: "2025-10-31T20:29:47Z",
33
+ * timestamp: "2025-11-03T18:37:02Z",
34
34
  * data: {
35
35
  * "compute_hours": 100,
36
36
  * "instance_type": "t2.micro",
@@ -4,10 +4,10 @@
4
4
  /**
5
5
  * @example
6
6
  * {
7
- * idempotency_key: "6b4ef298-4566-427d-b2ca-cd8fbe38ec60",
7
+ * idempotency_key: "f283b3d1-41b2-43b1-9d00-dd7935cb6263",
8
8
  * event_name: "compute_hours",
9
9
  * subject_id: "subj_VyX6Q96h5avMho8O7QWlKeXE",
10
- * timestamp: "2025-10-31T20:29:47Z",
10
+ * timestamp: "2025-11-03T18:37:02Z",
11
11
  * data: {
12
12
  * "compute_hours": 100,
13
13
  * "instance_type": "t2.micro",
@@ -20,7 +20,7 @@ export interface CreateUsageEventRequest {
20
20
  idempotency_key: string;
21
21
  /** The name of the event. This is used by pricing metrics to aggregate usage events. */
22
22
  event_name: string;
23
- /** The ID of the subject that the usage event is for. */
23
+ /** The ID or external ID of the subject that the usage event is for. */
24
24
  subject_id: string;
25
25
  /** The timestamp of the usage event. It is highly recommended to provide a timestamp. If not provided, the current timestamp will be used. */
26
26
  timestamp?: string;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * This file was auto-generated by Fern from our API Definition.
3
+ */
4
+ export interface ActiveSubscription {
5
+ subscription_id: string;
6
+ rate_card_id: string;
7
+ }
@@ -0,0 +1,4 @@
1
+ /**
2
+ * This file was auto-generated by Fern from our API Definition.
3
+ */
4
+ export {};
@@ -1,9 +1,14 @@
1
1
  /**
2
2
  * This file was auto-generated by Fern from our API Definition.
3
3
  */
4
+ import * as Lark from "../index.mjs";
4
5
  export interface BillingStateResponse {
5
6
  /** Whether the subject has an active subscription. */
6
7
  has_active_subscription: boolean;
7
8
  /** Whether the subject has exceeded the included usage (if any) on a usage-based rate they are subscribed to. */
8
9
  has_overage_for_usage: boolean;
10
+ /** List of active subscriptions the subject is subscribed to. */
11
+ active_subscriptions: Lark.ActiveSubscription[];
12
+ /** The usage data for the usage-based rates the subject is subscribed to. */
13
+ usage_data: Lark.UsageDataForRate[];
9
14
  }
@@ -6,4 +6,6 @@ export interface CreateCustomerPortalSessionResponse {
6
6
  subject_id: string;
7
7
  /** The URL to redirect to the customer portal session. */
8
8
  url: string;
9
+ /** The date and time the customer portal session expires. */
10
+ expires_at: string;
9
11
  }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * This file was auto-generated by Fern from our API Definition.
3
+ */
4
+ export interface UsageDataForRate {
5
+ rate_name: string;
6
+ pricing_metric_id: string;
7
+ included_units: number;
8
+ used_units: string;
9
+ }
@@ -0,0 +1,4 @@
1
+ /**
2
+ * This file was auto-generated by Fern from our API Definition.
3
+ */
4
+ export {};
@@ -1,3 +1,4 @@
1
+ export * from "./ActiveSubscription.mjs";
1
2
  export * from "./Amount.mjs";
2
3
  export * from "./BillingStateResponse.mjs";
3
4
  export * from "./CountAggregationPricingMetricInterface.mjs";
@@ -36,4 +37,5 @@ export * from "./SubjectResource.mjs";
36
37
  export * from "./SubscriptionResource.mjs";
37
38
  export * from "./SumAggregationPricingMetricInterface.mjs";
38
39
  export * from "./SumAggregationPricingMetricResource.mjs";
40
+ export * from "./UsageDataForRate.mjs";
39
41
  export * from "./ValidationError.mjs";
@@ -1,3 +1,4 @@
1
+ export * from "./ActiveSubscription.mjs";
1
2
  export * from "./Amount.mjs";
2
3
  export * from "./BillingStateResponse.mjs";
3
4
  export * from "./CountAggregationPricingMetricInterface.mjs";
@@ -36,4 +37,5 @@ export * from "./SubjectResource.mjs";
36
37
  export * from "./SubscriptionResource.mjs";
37
38
  export * from "./SumAggregationPricingMetricInterface.mjs";
38
39
  export * from "./SumAggregationPricingMetricResource.mjs";
40
+ export * from "./UsageDataForRate.mjs";
39
41
  export * from "./ValidationError.mjs";
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "0.1.0";
1
+ export declare const SDK_VERSION = "0.1.1";
@@ -1 +1 @@
1
- export const SDK_VERSION = "0.1.0";
1
+ export const SDK_VERSION = "0.1.1";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lark-billing",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "private": false,
5
5
  "repository": "github:fern-demo/lark-ts-sdk",
6
6
  "type": "commonjs",
package/reference.md CHANGED
@@ -303,10 +303,10 @@ await client.rateCards.getRateCard("rate_card_id");
303
303
 
304
304
  ```typescript
305
305
  await client.usageEvents.createUsageEvent({
306
- idempotency_key: "6b4ef298-4566-427d-b2ca-cd8fbe38ec60",
306
+ idempotency_key: "f283b3d1-41b2-43b1-9d00-dd7935cb6263",
307
307
  event_name: "compute_hours",
308
308
  subject_id: "subj_VyX6Q96h5avMho8O7QWlKeXE",
309
- timestamp: "2025-10-31T20:29:47Z",
309
+ timestamp: "2025-11-03T18:37:02Z",
310
310
  data: {
311
311
  compute_hours: 100,
312
312
  instance_type: "t2.micro",