@hostafrica/ha-sdk-typescript 1.0.13 → 1.0.14

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 (121) hide show
  1. package/.github/workflows/codeql.yml +3 -3
  2. package/.github/workflows/release.yml +3 -3
  3. package/.github/workflows/semgrep.yml +1 -1
  4. package/dist/apis/SnapshotsApi.d.ts +63 -3
  5. package/dist/apis/SnapshotsApi.js +190 -2
  6. package/dist/apis/VPSManagementApi.d.ts +2 -2
  7. package/dist/apis/VPSManagementApi.js +2 -2
  8. package/dist/esm/apis/SnapshotsApi.d.ts +63 -3
  9. package/dist/esm/apis/SnapshotsApi.js +191 -3
  10. package/dist/esm/apis/VPSManagementApi.d.ts +2 -2
  11. package/dist/esm/apis/VPSManagementApi.js +2 -2
  12. package/dist/esm/models/CreateSnapshotJobRequestContent.d.ts +76 -0
  13. package/dist/esm/models/CreateSnapshotJobRequestContent.js +63 -0
  14. package/dist/esm/models/CreateSnapshotJobResponseContent.d.ts +40 -0
  15. package/dist/esm/models/CreateSnapshotJobResponseContent.js +49 -0
  16. package/dist/esm/models/CreateSnapshotRequestContent.d.ts +7 -1
  17. package/dist/esm/models/CreateSnapshotRequestContent.js +6 -2
  18. package/dist/esm/models/DeleteSnapshotJobRequestContent.d.ts +38 -0
  19. package/dist/esm/models/DeleteSnapshotJobRequestContent.js +47 -0
  20. package/dist/esm/models/DeleteSnapshotJobResponseContent.d.ts +40 -0
  21. package/dist/esm/models/DeleteSnapshotJobResponseContent.js +49 -0
  22. package/dist/esm/models/ListSnapshotJobsRequestContent.d.ts +32 -0
  23. package/dist/esm/models/ListSnapshotJobsRequestContent.js +43 -0
  24. package/dist/esm/models/ListSnapshotJobsResponseContent.d.ts +40 -0
  25. package/dist/esm/models/ListSnapshotJobsResponseContent.js +49 -0
  26. package/dist/esm/models/SnapshotJob.d.ts +88 -0
  27. package/dist/esm/models/SnapshotJob.js +67 -0
  28. package/dist/esm/models/SnapshotJobDeleteResponseData.d.ts +39 -0
  29. package/dist/esm/models/SnapshotJobDeleteResponseData.js +48 -0
  30. package/dist/esm/models/SnapshotJobLimits.d.ts +44 -0
  31. package/dist/esm/models/SnapshotJobLimits.js +51 -0
  32. package/dist/esm/models/SnapshotJobListResponseData.d.ts +52 -0
  33. package/dist/esm/models/SnapshotJobListResponseData.js +55 -0
  34. package/dist/esm/models/SnapshotJobMutationResponseData.d.ts +46 -0
  35. package/dist/esm/models/SnapshotJobMutationResponseData.js +53 -0
  36. package/dist/esm/models/SnapshotJobPeriod.d.ts +25 -0
  37. package/dist/esm/models/SnapshotJobPeriod.js +43 -0
  38. package/dist/esm/models/SnapshotJobUpdateResponseData.d.ts +39 -0
  39. package/dist/esm/models/SnapshotJobUpdateResponseData.js +48 -0
  40. package/dist/esm/models/UpdateSnapshotJobRequestContent.d.ts +82 -0
  41. package/dist/esm/models/UpdateSnapshotJobRequestContent.js +63 -0
  42. package/dist/esm/models/UpdateSnapshotJobResponseContent.d.ts +40 -0
  43. package/dist/esm/models/UpdateSnapshotJobResponseContent.js +49 -0
  44. package/dist/esm/models/index.d.ts +15 -0
  45. package/dist/esm/models/index.js +15 -0
  46. package/dist/esm/retryablePaths.js +1 -0
  47. package/dist/models/CreateSnapshotJobRequestContent.d.ts +76 -0
  48. package/dist/models/CreateSnapshotJobRequestContent.js +70 -0
  49. package/dist/models/CreateSnapshotJobResponseContent.d.ts +40 -0
  50. package/dist/models/CreateSnapshotJobResponseContent.js +56 -0
  51. package/dist/models/CreateSnapshotRequestContent.d.ts +7 -1
  52. package/dist/models/CreateSnapshotRequestContent.js +6 -2
  53. package/dist/models/DeleteSnapshotJobRequestContent.d.ts +38 -0
  54. package/dist/models/DeleteSnapshotJobRequestContent.js +54 -0
  55. package/dist/models/DeleteSnapshotJobResponseContent.d.ts +40 -0
  56. package/dist/models/DeleteSnapshotJobResponseContent.js +56 -0
  57. package/dist/models/ListSnapshotJobsRequestContent.d.ts +32 -0
  58. package/dist/models/ListSnapshotJobsRequestContent.js +50 -0
  59. package/dist/models/ListSnapshotJobsResponseContent.d.ts +40 -0
  60. package/dist/models/ListSnapshotJobsResponseContent.js +56 -0
  61. package/dist/models/SnapshotJob.d.ts +88 -0
  62. package/dist/models/SnapshotJob.js +74 -0
  63. package/dist/models/SnapshotJobDeleteResponseData.d.ts +39 -0
  64. package/dist/models/SnapshotJobDeleteResponseData.js +55 -0
  65. package/dist/models/SnapshotJobLimits.d.ts +44 -0
  66. package/dist/models/SnapshotJobLimits.js +58 -0
  67. package/dist/models/SnapshotJobListResponseData.d.ts +52 -0
  68. package/dist/models/SnapshotJobListResponseData.js +62 -0
  69. package/dist/models/SnapshotJobMutationResponseData.d.ts +46 -0
  70. package/dist/models/SnapshotJobMutationResponseData.js +60 -0
  71. package/dist/models/SnapshotJobPeriod.d.ts +25 -0
  72. package/dist/models/SnapshotJobPeriod.js +51 -0
  73. package/dist/models/SnapshotJobUpdateResponseData.d.ts +39 -0
  74. package/dist/models/SnapshotJobUpdateResponseData.js +55 -0
  75. package/dist/models/UpdateSnapshotJobRequestContent.d.ts +82 -0
  76. package/dist/models/UpdateSnapshotJobRequestContent.js +70 -0
  77. package/dist/models/UpdateSnapshotJobResponseContent.d.ts +40 -0
  78. package/dist/models/UpdateSnapshotJobResponseContent.js +56 -0
  79. package/dist/models/index.d.ts +15 -0
  80. package/dist/models/index.js +15 -0
  81. package/dist/retryablePaths.js +1 -0
  82. package/dist.zip +0 -0
  83. package/docs/CreateSnapshotJobRequestContent.md +48 -0
  84. package/docs/CreateSnapshotJobResponseContent.md +36 -0
  85. package/docs/CreateSnapshotRequestContent.md +4 -2
  86. package/docs/DeleteSnapshotJobRequestContent.md +36 -0
  87. package/docs/DeleteSnapshotJobResponseContent.md +36 -0
  88. package/docs/ListSnapshotJobsRequestContent.md +34 -0
  89. package/docs/ListSnapshotJobsResponseContent.md +36 -0
  90. package/docs/SnapshotJob.md +53 -0
  91. package/docs/SnapshotJobDeleteResponseData.md +37 -0
  92. package/docs/SnapshotJobLimits.md +39 -0
  93. package/docs/SnapshotJobListResponseData.md +41 -0
  94. package/docs/SnapshotJobMutationResponseData.md +39 -0
  95. package/docs/SnapshotJobPeriod.md +33 -0
  96. package/docs/SnapshotJobUpdateResponseData.md +37 -0
  97. package/docs/SnapshotsApi.md +321 -1
  98. package/docs/UpdateSnapshotJobRequestContent.md +50 -0
  99. package/docs/UpdateSnapshotJobResponseContent.md +36 -0
  100. package/docs/VPSManagementApi.md +1 -1
  101. package/package.json +1 -1
  102. package/src/apis/SnapshotsApi.ts +262 -2
  103. package/src/apis/VPSManagementApi.ts +2 -2
  104. package/src/models/CreateSnapshotJobRequestContent.ts +141 -0
  105. package/src/models/CreateSnapshotJobResponseContent.ts +92 -0
  106. package/src/models/CreateSnapshotRequestContent.ts +12 -3
  107. package/src/models/DeleteSnapshotJobRequestContent.ts +75 -0
  108. package/src/models/DeleteSnapshotJobResponseContent.ts +92 -0
  109. package/src/models/ListSnapshotJobsRequestContent.ts +66 -0
  110. package/src/models/ListSnapshotJobsResponseContent.ts +92 -0
  111. package/src/models/SnapshotJob.ts +157 -0
  112. package/src/models/SnapshotJobDeleteResponseData.ts +83 -0
  113. package/src/models/SnapshotJobLimits.ts +84 -0
  114. package/src/models/SnapshotJobListResponseData.ts +107 -0
  115. package/src/models/SnapshotJobMutationResponseData.ts +99 -0
  116. package/src/models/SnapshotJobPeriod.ts +53 -0
  117. package/src/models/SnapshotJobUpdateResponseData.ts +83 -0
  118. package/src/models/UpdateSnapshotJobRequestContent.ts +148 -0
  119. package/src/models/UpdateSnapshotJobResponseContent.ts +92 -0
  120. package/src/models/index.ts +15 -0
  121. package/src/retryablePaths.ts +1 -0
@@ -0,0 +1,92 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * HostAfricaApi
5
+ * HostAfrica API
6
+ *
7
+ * The version of the OpenAPI document: 2026-01-01
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime.js';
16
+ import type { SnapshotJobMutationResponseData } from './SnapshotJobMutationResponseData.js';
17
+ import {
18
+ SnapshotJobMutationResponseDataFromJSON,
19
+ SnapshotJobMutationResponseDataFromJSONTyped,
20
+ SnapshotJobMutationResponseDataToJSON,
21
+ SnapshotJobMutationResponseDataToJSONTyped,
22
+ } from './SnapshotJobMutationResponseData.js';
23
+ import type { OperationStatus } from './OperationStatus.js';
24
+ import {
25
+ OperationStatusFromJSON,
26
+ OperationStatusFromJSONTyped,
27
+ OperationStatusToJSON,
28
+ OperationStatusToJSONTyped,
29
+ } from './OperationStatus.js';
30
+
31
+ /**
32
+ *
33
+ * @export
34
+ * @interface CreateSnapshotJobResponseContent
35
+ */
36
+ export interface CreateSnapshotJobResponseContent {
37
+ /**
38
+ *
39
+ * @type {OperationStatus}
40
+ * @memberof CreateSnapshotJobResponseContent
41
+ */
42
+ status: OperationStatus;
43
+ /**
44
+ *
45
+ * @type {SnapshotJobMutationResponseData}
46
+ * @memberof CreateSnapshotJobResponseContent
47
+ */
48
+ data: SnapshotJobMutationResponseData;
49
+ }
50
+
51
+
52
+
53
+ /**
54
+ * Check if a given object implements the CreateSnapshotJobResponseContent interface.
55
+ */
56
+ export function instanceOfCreateSnapshotJobResponseContent(value: object): value is CreateSnapshotJobResponseContent {
57
+ if (!('status' in value) || value['status'] === undefined) return false;
58
+ if (!('data' in value) || value['data'] === undefined) return false;
59
+ return true;
60
+ }
61
+
62
+ export function CreateSnapshotJobResponseContentFromJSON(json: any): CreateSnapshotJobResponseContent {
63
+ return CreateSnapshotJobResponseContentFromJSONTyped(json, false);
64
+ }
65
+
66
+ export function CreateSnapshotJobResponseContentFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateSnapshotJobResponseContent {
67
+ if (json == null) {
68
+ return json;
69
+ }
70
+ return {
71
+
72
+ 'status': OperationStatusFromJSON(json['status']),
73
+ 'data': SnapshotJobMutationResponseDataFromJSON(json['data']),
74
+ };
75
+ }
76
+
77
+ export function CreateSnapshotJobResponseContentToJSON(json: any): CreateSnapshotJobResponseContent {
78
+ return CreateSnapshotJobResponseContentToJSONTyped(json, false);
79
+ }
80
+
81
+ export function CreateSnapshotJobResponseContentToJSONTyped(value?: CreateSnapshotJobResponseContent | null, ignoreDiscriminator: boolean = false): any {
82
+ if (value == null) {
83
+ return value;
84
+ }
85
+
86
+ return {
87
+
88
+ 'status': OperationStatusToJSON(value['status']),
89
+ 'data': SnapshotJobMutationResponseDataToJSON(value['data']),
90
+ };
91
+ }
92
+
@@ -30,13 +30,19 @@ export interface CreateSnapshotRequestContent {
30
30
  * @type {string}
31
31
  * @memberof CreateSnapshotRequestContent
32
32
  */
33
- snapname?: string;
33
+ name: string;
34
34
  /**
35
35
  * Description for the snapshot
36
36
  * @type {string}
37
37
  * @memberof CreateSnapshotRequestContent
38
38
  */
39
39
  description?: string;
40
+ /**
41
+ * Whether to include RAM state in the snapshot. Defaults to false when omitted.
42
+ * @type {boolean}
43
+ * @memberof CreateSnapshotRequestContent
44
+ */
45
+ includeRam?: boolean;
40
46
  }
41
47
 
42
48
  /**
@@ -44,6 +50,7 @@ export interface CreateSnapshotRequestContent {
44
50
  */
45
51
  export function instanceOfCreateSnapshotRequestContent(value: object): value is CreateSnapshotRequestContent {
46
52
  if (!('serviceId' in value) || value['serviceId'] === undefined) return false;
53
+ if (!('name' in value) || value['name'] === undefined) return false;
47
54
  return true;
48
55
  }
49
56
 
@@ -58,8 +65,9 @@ export function CreateSnapshotRequestContentFromJSONTyped(json: any, ignoreDiscr
58
65
  return {
59
66
 
60
67
  'serviceId': json['service_id'],
61
- 'snapname': json['snapname'] == null ? undefined : json['snapname'],
68
+ 'name': json['name'],
62
69
  'description': json['description'] == null ? undefined : json['description'],
70
+ 'includeRam': json['include_ram'] == null ? undefined : json['include_ram'],
63
71
  };
64
72
  }
65
73
 
@@ -75,8 +83,9 @@ export function CreateSnapshotRequestContentToJSONTyped(value?: CreateSnapshotRe
75
83
  return {
76
84
 
77
85
  'service_id': value['serviceId'],
78
- 'snapname': value['snapname'],
86
+ 'name': value['name'],
79
87
  'description': value['description'],
88
+ 'include_ram': value['includeRam'],
80
89
  };
81
90
  }
82
91
 
@@ -0,0 +1,75 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * HostAfricaApi
5
+ * HostAfrica API
6
+ *
7
+ * The version of the OpenAPI document: 2026-01-01
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime.js';
16
+ /**
17
+ *
18
+ * @export
19
+ * @interface DeleteSnapshotJobRequestContent
20
+ */
21
+ export interface DeleteSnapshotJobRequestContent {
22
+ /**
23
+ * Service ID - must be sent as a string
24
+ * @type {string}
25
+ * @memberof DeleteSnapshotJobRequestContent
26
+ */
27
+ serviceId: string;
28
+ /**
29
+ * Snapshot job ID to delete
30
+ * @type {string}
31
+ * @memberof DeleteSnapshotJobRequestContent
32
+ */
33
+ jobId: string;
34
+ }
35
+
36
+ /**
37
+ * Check if a given object implements the DeleteSnapshotJobRequestContent interface.
38
+ */
39
+ export function instanceOfDeleteSnapshotJobRequestContent(value: object): value is DeleteSnapshotJobRequestContent {
40
+ if (!('serviceId' in value) || value['serviceId'] === undefined) return false;
41
+ if (!('jobId' in value) || value['jobId'] === undefined) return false;
42
+ return true;
43
+ }
44
+
45
+ export function DeleteSnapshotJobRequestContentFromJSON(json: any): DeleteSnapshotJobRequestContent {
46
+ return DeleteSnapshotJobRequestContentFromJSONTyped(json, false);
47
+ }
48
+
49
+ export function DeleteSnapshotJobRequestContentFromJSONTyped(json: any, ignoreDiscriminator: boolean): DeleteSnapshotJobRequestContent {
50
+ if (json == null) {
51
+ return json;
52
+ }
53
+ return {
54
+
55
+ 'serviceId': json['service_id'],
56
+ 'jobId': json['job_id'],
57
+ };
58
+ }
59
+
60
+ export function DeleteSnapshotJobRequestContentToJSON(json: any): DeleteSnapshotJobRequestContent {
61
+ return DeleteSnapshotJobRequestContentToJSONTyped(json, false);
62
+ }
63
+
64
+ export function DeleteSnapshotJobRequestContentToJSONTyped(value?: DeleteSnapshotJobRequestContent | null, ignoreDiscriminator: boolean = false): any {
65
+ if (value == null) {
66
+ return value;
67
+ }
68
+
69
+ return {
70
+
71
+ 'service_id': value['serviceId'],
72
+ 'job_id': value['jobId'],
73
+ };
74
+ }
75
+
@@ -0,0 +1,92 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * HostAfricaApi
5
+ * HostAfrica API
6
+ *
7
+ * The version of the OpenAPI document: 2026-01-01
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime.js';
16
+ import type { SnapshotJobDeleteResponseData } from './SnapshotJobDeleteResponseData.js';
17
+ import {
18
+ SnapshotJobDeleteResponseDataFromJSON,
19
+ SnapshotJobDeleteResponseDataFromJSONTyped,
20
+ SnapshotJobDeleteResponseDataToJSON,
21
+ SnapshotJobDeleteResponseDataToJSONTyped,
22
+ } from './SnapshotJobDeleteResponseData.js';
23
+ import type { OperationStatus } from './OperationStatus.js';
24
+ import {
25
+ OperationStatusFromJSON,
26
+ OperationStatusFromJSONTyped,
27
+ OperationStatusToJSON,
28
+ OperationStatusToJSONTyped,
29
+ } from './OperationStatus.js';
30
+
31
+ /**
32
+ *
33
+ * @export
34
+ * @interface DeleteSnapshotJobResponseContent
35
+ */
36
+ export interface DeleteSnapshotJobResponseContent {
37
+ /**
38
+ *
39
+ * @type {OperationStatus}
40
+ * @memberof DeleteSnapshotJobResponseContent
41
+ */
42
+ status: OperationStatus;
43
+ /**
44
+ *
45
+ * @type {SnapshotJobDeleteResponseData}
46
+ * @memberof DeleteSnapshotJobResponseContent
47
+ */
48
+ data: SnapshotJobDeleteResponseData;
49
+ }
50
+
51
+
52
+
53
+ /**
54
+ * Check if a given object implements the DeleteSnapshotJobResponseContent interface.
55
+ */
56
+ export function instanceOfDeleteSnapshotJobResponseContent(value: object): value is DeleteSnapshotJobResponseContent {
57
+ if (!('status' in value) || value['status'] === undefined) return false;
58
+ if (!('data' in value) || value['data'] === undefined) return false;
59
+ return true;
60
+ }
61
+
62
+ export function DeleteSnapshotJobResponseContentFromJSON(json: any): DeleteSnapshotJobResponseContent {
63
+ return DeleteSnapshotJobResponseContentFromJSONTyped(json, false);
64
+ }
65
+
66
+ export function DeleteSnapshotJobResponseContentFromJSONTyped(json: any, ignoreDiscriminator: boolean): DeleteSnapshotJobResponseContent {
67
+ if (json == null) {
68
+ return json;
69
+ }
70
+ return {
71
+
72
+ 'status': OperationStatusFromJSON(json['status']),
73
+ 'data': SnapshotJobDeleteResponseDataFromJSON(json['data']),
74
+ };
75
+ }
76
+
77
+ export function DeleteSnapshotJobResponseContentToJSON(json: any): DeleteSnapshotJobResponseContent {
78
+ return DeleteSnapshotJobResponseContentToJSONTyped(json, false);
79
+ }
80
+
81
+ export function DeleteSnapshotJobResponseContentToJSONTyped(value?: DeleteSnapshotJobResponseContent | null, ignoreDiscriminator: boolean = false): any {
82
+ if (value == null) {
83
+ return value;
84
+ }
85
+
86
+ return {
87
+
88
+ 'status': OperationStatusToJSON(value['status']),
89
+ 'data': SnapshotJobDeleteResponseDataToJSON(value['data']),
90
+ };
91
+ }
92
+
@@ -0,0 +1,66 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * HostAfricaApi
5
+ * HostAfrica API
6
+ *
7
+ * The version of the OpenAPI document: 2026-01-01
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime.js';
16
+ /**
17
+ *
18
+ * @export
19
+ * @interface ListSnapshotJobsRequestContent
20
+ */
21
+ export interface ListSnapshotJobsRequestContent {
22
+ /**
23
+ * Service ID - must be sent as a string
24
+ * @type {string}
25
+ * @memberof ListSnapshotJobsRequestContent
26
+ */
27
+ serviceId: string;
28
+ }
29
+
30
+ /**
31
+ * Check if a given object implements the ListSnapshotJobsRequestContent interface.
32
+ */
33
+ export function instanceOfListSnapshotJobsRequestContent(value: object): value is ListSnapshotJobsRequestContent {
34
+ if (!('serviceId' in value) || value['serviceId'] === undefined) return false;
35
+ return true;
36
+ }
37
+
38
+ export function ListSnapshotJobsRequestContentFromJSON(json: any): ListSnapshotJobsRequestContent {
39
+ return ListSnapshotJobsRequestContentFromJSONTyped(json, false);
40
+ }
41
+
42
+ export function ListSnapshotJobsRequestContentFromJSONTyped(json: any, ignoreDiscriminator: boolean): ListSnapshotJobsRequestContent {
43
+ if (json == null) {
44
+ return json;
45
+ }
46
+ return {
47
+
48
+ 'serviceId': json['service_id'],
49
+ };
50
+ }
51
+
52
+ export function ListSnapshotJobsRequestContentToJSON(json: any): ListSnapshotJobsRequestContent {
53
+ return ListSnapshotJobsRequestContentToJSONTyped(json, false);
54
+ }
55
+
56
+ export function ListSnapshotJobsRequestContentToJSONTyped(value?: ListSnapshotJobsRequestContent | null, ignoreDiscriminator: boolean = false): any {
57
+ if (value == null) {
58
+ return value;
59
+ }
60
+
61
+ return {
62
+
63
+ 'service_id': value['serviceId'],
64
+ };
65
+ }
66
+
@@ -0,0 +1,92 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * HostAfricaApi
5
+ * HostAfrica API
6
+ *
7
+ * The version of the OpenAPI document: 2026-01-01
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime.js';
16
+ import type { OperationStatus } from './OperationStatus.js';
17
+ import {
18
+ OperationStatusFromJSON,
19
+ OperationStatusFromJSONTyped,
20
+ OperationStatusToJSON,
21
+ OperationStatusToJSONTyped,
22
+ } from './OperationStatus.js';
23
+ import type { SnapshotJobListResponseData } from './SnapshotJobListResponseData.js';
24
+ import {
25
+ SnapshotJobListResponseDataFromJSON,
26
+ SnapshotJobListResponseDataFromJSONTyped,
27
+ SnapshotJobListResponseDataToJSON,
28
+ SnapshotJobListResponseDataToJSONTyped,
29
+ } from './SnapshotJobListResponseData.js';
30
+
31
+ /**
32
+ *
33
+ * @export
34
+ * @interface ListSnapshotJobsResponseContent
35
+ */
36
+ export interface ListSnapshotJobsResponseContent {
37
+ /**
38
+ *
39
+ * @type {OperationStatus}
40
+ * @memberof ListSnapshotJobsResponseContent
41
+ */
42
+ status: OperationStatus;
43
+ /**
44
+ *
45
+ * @type {SnapshotJobListResponseData}
46
+ * @memberof ListSnapshotJobsResponseContent
47
+ */
48
+ data: SnapshotJobListResponseData;
49
+ }
50
+
51
+
52
+
53
+ /**
54
+ * Check if a given object implements the ListSnapshotJobsResponseContent interface.
55
+ */
56
+ export function instanceOfListSnapshotJobsResponseContent(value: object): value is ListSnapshotJobsResponseContent {
57
+ if (!('status' in value) || value['status'] === undefined) return false;
58
+ if (!('data' in value) || value['data'] === undefined) return false;
59
+ return true;
60
+ }
61
+
62
+ export function ListSnapshotJobsResponseContentFromJSON(json: any): ListSnapshotJobsResponseContent {
63
+ return ListSnapshotJobsResponseContentFromJSONTyped(json, false);
64
+ }
65
+
66
+ export function ListSnapshotJobsResponseContentFromJSONTyped(json: any, ignoreDiscriminator: boolean): ListSnapshotJobsResponseContent {
67
+ if (json == null) {
68
+ return json;
69
+ }
70
+ return {
71
+
72
+ 'status': OperationStatusFromJSON(json['status']),
73
+ 'data': SnapshotJobListResponseDataFromJSON(json['data']),
74
+ };
75
+ }
76
+
77
+ export function ListSnapshotJobsResponseContentToJSON(json: any): ListSnapshotJobsResponseContent {
78
+ return ListSnapshotJobsResponseContentToJSONTyped(json, false);
79
+ }
80
+
81
+ export function ListSnapshotJobsResponseContentToJSONTyped(value?: ListSnapshotJobsResponseContent | null, ignoreDiscriminator: boolean = false): any {
82
+ if (value == null) {
83
+ return value;
84
+ }
85
+
86
+ return {
87
+
88
+ 'status': OperationStatusToJSON(value['status']),
89
+ 'data': SnapshotJobListResponseDataToJSON(value['data']),
90
+ };
91
+ }
92
+
@@ -0,0 +1,157 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * HostAfricaApi
5
+ * HostAfrica API
6
+ *
7
+ * The version of the OpenAPI document: 2026-01-01
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime.js';
16
+ import type { DayOfWeek } from './DayOfWeek.js';
17
+ import {
18
+ DayOfWeekFromJSON,
19
+ DayOfWeekFromJSONTyped,
20
+ DayOfWeekToJSON,
21
+ DayOfWeekToJSONTyped,
22
+ } from './DayOfWeek.js';
23
+ import type { SnapshotJobPeriod } from './SnapshotJobPeriod.js';
24
+ import {
25
+ SnapshotJobPeriodFromJSON,
26
+ SnapshotJobPeriodFromJSONTyped,
27
+ SnapshotJobPeriodToJSON,
28
+ SnapshotJobPeriodToJSONTyped,
29
+ } from './SnapshotJobPeriod.js';
30
+
31
+ /**
32
+ * Individual snapshot job item
33
+ * @export
34
+ * @interface SnapshotJob
35
+ */
36
+ export interface SnapshotJob {
37
+ /**
38
+ * Snapshot job ID
39
+ * @type {number}
40
+ * @memberof SnapshotJob
41
+ */
42
+ id: number;
43
+ /**
44
+ * Hosting account ID
45
+ * @type {number}
46
+ * @memberof SnapshotJob
47
+ */
48
+ hostingId?: number;
49
+ /**
50
+ * VM ID (null if not yet assigned)
51
+ * @type {number}
52
+ * @memberof SnapshotJob
53
+ */
54
+ vmId?: number;
55
+ /**
56
+ * Name of the snapshot job
57
+ * @type {string}
58
+ * @memberof SnapshotJob
59
+ */
60
+ name: string;
61
+ /**
62
+ * Description of the snapshot job
63
+ * @type {string}
64
+ * @memberof SnapshotJob
65
+ */
66
+ description?: string;
67
+ /**
68
+ * Whether VM state is included in the snapshot
69
+ * @type {boolean}
70
+ * @memberof SnapshotJob
71
+ */
72
+ vmstate?: boolean;
73
+ /**
74
+ *
75
+ * @type {SnapshotJobPeriod}
76
+ * @memberof SnapshotJob
77
+ */
78
+ period: SnapshotJobPeriod;
79
+ /**
80
+ * For hourly jobs: run every N hours
81
+ * @type {number}
82
+ * @memberof SnapshotJob
83
+ */
84
+ runEvery?: number;
85
+ /**
86
+ * For daily jobs: days of week
87
+ * @type {Array<DayOfWeek>}
88
+ * @memberof SnapshotJob
89
+ */
90
+ days?: Array<DayOfWeek>;
91
+ /**
92
+ * For daily jobs: start time in HH:MM format
93
+ * @type {string}
94
+ * @memberof SnapshotJob
95
+ */
96
+ startTime?: string;
97
+ }
98
+
99
+
100
+
101
+ /**
102
+ * Check if a given object implements the SnapshotJob interface.
103
+ */
104
+ export function instanceOfSnapshotJob(value: object): value is SnapshotJob {
105
+ if (!('id' in value) || value['id'] === undefined) return false;
106
+ if (!('name' in value) || value['name'] === undefined) return false;
107
+ if (!('period' in value) || value['period'] === undefined) return false;
108
+ return true;
109
+ }
110
+
111
+ export function SnapshotJobFromJSON(json: any): SnapshotJob {
112
+ return SnapshotJobFromJSONTyped(json, false);
113
+ }
114
+
115
+ export function SnapshotJobFromJSONTyped(json: any, ignoreDiscriminator: boolean): SnapshotJob {
116
+ if (json == null) {
117
+ return json;
118
+ }
119
+ return {
120
+
121
+ 'id': json['id'],
122
+ 'hostingId': json['hosting_id'] == null ? undefined : json['hosting_id'],
123
+ 'vmId': json['vm_id'] == null ? undefined : json['vm_id'],
124
+ 'name': json['name'],
125
+ 'description': json['description'] == null ? undefined : json['description'],
126
+ 'vmstate': json['vmstate'] == null ? undefined : json['vmstate'],
127
+ 'period': SnapshotJobPeriodFromJSON(json['period']),
128
+ 'runEvery': json['run_every'] == null ? undefined : json['run_every'],
129
+ 'days': json['days'] == null ? undefined : ((json['days'] as Array<any>).map(DayOfWeekFromJSON)),
130
+ 'startTime': json['start_time'] == null ? undefined : json['start_time'],
131
+ };
132
+ }
133
+
134
+ export function SnapshotJobToJSON(json: any): SnapshotJob {
135
+ return SnapshotJobToJSONTyped(json, false);
136
+ }
137
+
138
+ export function SnapshotJobToJSONTyped(value?: SnapshotJob | null, ignoreDiscriminator: boolean = false): any {
139
+ if (value == null) {
140
+ return value;
141
+ }
142
+
143
+ return {
144
+
145
+ 'id': value['id'],
146
+ 'hosting_id': value['hostingId'],
147
+ 'vm_id': value['vmId'],
148
+ 'name': value['name'],
149
+ 'description': value['description'],
150
+ 'vmstate': value['vmstate'],
151
+ 'period': SnapshotJobPeriodToJSON(value['period']),
152
+ 'run_every': value['runEvery'],
153
+ 'days': value['days'] == null ? undefined : ((value['days'] as Array<any>).map(DayOfWeekToJSON)),
154
+ 'start_time': value['startTime'],
155
+ };
156
+ }
157
+