@hostafrica/ha-sdk-typescript 1.0.12 → 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 (124) 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 +2 -1
  47. package/dist/esm/runtime.js +1 -3
  48. package/dist/models/CreateSnapshotJobRequestContent.d.ts +76 -0
  49. package/dist/models/CreateSnapshotJobRequestContent.js +70 -0
  50. package/dist/models/CreateSnapshotJobResponseContent.d.ts +40 -0
  51. package/dist/models/CreateSnapshotJobResponseContent.js +56 -0
  52. package/dist/models/CreateSnapshotRequestContent.d.ts +7 -1
  53. package/dist/models/CreateSnapshotRequestContent.js +6 -2
  54. package/dist/models/DeleteSnapshotJobRequestContent.d.ts +38 -0
  55. package/dist/models/DeleteSnapshotJobRequestContent.js +54 -0
  56. package/dist/models/DeleteSnapshotJobResponseContent.d.ts +40 -0
  57. package/dist/models/DeleteSnapshotJobResponseContent.js +56 -0
  58. package/dist/models/ListSnapshotJobsRequestContent.d.ts +32 -0
  59. package/dist/models/ListSnapshotJobsRequestContent.js +50 -0
  60. package/dist/models/ListSnapshotJobsResponseContent.d.ts +40 -0
  61. package/dist/models/ListSnapshotJobsResponseContent.js +56 -0
  62. package/dist/models/SnapshotJob.d.ts +88 -0
  63. package/dist/models/SnapshotJob.js +74 -0
  64. package/dist/models/SnapshotJobDeleteResponseData.d.ts +39 -0
  65. package/dist/models/SnapshotJobDeleteResponseData.js +55 -0
  66. package/dist/models/SnapshotJobLimits.d.ts +44 -0
  67. package/dist/models/SnapshotJobLimits.js +58 -0
  68. package/dist/models/SnapshotJobListResponseData.d.ts +52 -0
  69. package/dist/models/SnapshotJobListResponseData.js +62 -0
  70. package/dist/models/SnapshotJobMutationResponseData.d.ts +46 -0
  71. package/dist/models/SnapshotJobMutationResponseData.js +60 -0
  72. package/dist/models/SnapshotJobPeriod.d.ts +25 -0
  73. package/dist/models/SnapshotJobPeriod.js +51 -0
  74. package/dist/models/SnapshotJobUpdateResponseData.d.ts +39 -0
  75. package/dist/models/SnapshotJobUpdateResponseData.js +55 -0
  76. package/dist/models/UpdateSnapshotJobRequestContent.d.ts +82 -0
  77. package/dist/models/UpdateSnapshotJobRequestContent.js +70 -0
  78. package/dist/models/UpdateSnapshotJobResponseContent.d.ts +40 -0
  79. package/dist/models/UpdateSnapshotJobResponseContent.js +56 -0
  80. package/dist/models/index.d.ts +15 -0
  81. package/dist/models/index.js +15 -0
  82. package/dist/retryablePaths.js +2 -1
  83. package/dist/runtime.js +1 -3
  84. package/dist.zip +0 -0
  85. package/docs/CreateSnapshotJobRequestContent.md +48 -0
  86. package/docs/CreateSnapshotJobResponseContent.md +36 -0
  87. package/docs/CreateSnapshotRequestContent.md +4 -2
  88. package/docs/DeleteSnapshotJobRequestContent.md +36 -0
  89. package/docs/DeleteSnapshotJobResponseContent.md +36 -0
  90. package/docs/ListSnapshotJobsRequestContent.md +34 -0
  91. package/docs/ListSnapshotJobsResponseContent.md +36 -0
  92. package/docs/SnapshotJob.md +53 -0
  93. package/docs/SnapshotJobDeleteResponseData.md +37 -0
  94. package/docs/SnapshotJobLimits.md +39 -0
  95. package/docs/SnapshotJobListResponseData.md +41 -0
  96. package/docs/SnapshotJobMutationResponseData.md +39 -0
  97. package/docs/SnapshotJobPeriod.md +33 -0
  98. package/docs/SnapshotJobUpdateResponseData.md +37 -0
  99. package/docs/SnapshotsApi.md +321 -1
  100. package/docs/UpdateSnapshotJobRequestContent.md +50 -0
  101. package/docs/UpdateSnapshotJobResponseContent.md +36 -0
  102. package/docs/VPSManagementApi.md +1 -1
  103. package/package.json +1 -1
  104. package/src/apis/SnapshotsApi.ts +262 -2
  105. package/src/apis/VPSManagementApi.ts +2 -2
  106. package/src/models/CreateSnapshotJobRequestContent.ts +141 -0
  107. package/src/models/CreateSnapshotJobResponseContent.ts +92 -0
  108. package/src/models/CreateSnapshotRequestContent.ts +12 -3
  109. package/src/models/DeleteSnapshotJobRequestContent.ts +75 -0
  110. package/src/models/DeleteSnapshotJobResponseContent.ts +92 -0
  111. package/src/models/ListSnapshotJobsRequestContent.ts +66 -0
  112. package/src/models/ListSnapshotJobsResponseContent.ts +92 -0
  113. package/src/models/SnapshotJob.ts +157 -0
  114. package/src/models/SnapshotJobDeleteResponseData.ts +83 -0
  115. package/src/models/SnapshotJobLimits.ts +84 -0
  116. package/src/models/SnapshotJobListResponseData.ts +107 -0
  117. package/src/models/SnapshotJobMutationResponseData.ts +99 -0
  118. package/src/models/SnapshotJobPeriod.ts +53 -0
  119. package/src/models/SnapshotJobUpdateResponseData.ts +83 -0
  120. package/src/models/UpdateSnapshotJobRequestContent.ts +148 -0
  121. package/src/models/UpdateSnapshotJobResponseContent.ts +92 -0
  122. package/src/models/index.ts +15 -0
  123. package/src/retryablePaths.ts +2 -1
  124. package/src/runtime.ts +5 -3
@@ -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
+
@@ -0,0 +1,83 @@
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 { SnapshotJobLimits } from './SnapshotJobLimits.js';
17
+ import {
18
+ SnapshotJobLimitsFromJSON,
19
+ SnapshotJobLimitsFromJSONTyped,
20
+ SnapshotJobLimitsToJSON,
21
+ SnapshotJobLimitsToJSONTyped,
22
+ } from './SnapshotJobLimits.js';
23
+
24
+ /**
25
+ * Response data for snapshot job delete operation
26
+ * @export
27
+ * @interface SnapshotJobDeleteResponseData
28
+ */
29
+ export interface SnapshotJobDeleteResponseData {
30
+ /**
31
+ * Status message indicating the result
32
+ * @type {string}
33
+ * @memberof SnapshotJobDeleteResponseData
34
+ */
35
+ message: string;
36
+ /**
37
+ *
38
+ * @type {SnapshotJobLimits}
39
+ * @memberof SnapshotJobDeleteResponseData
40
+ */
41
+ limits: SnapshotJobLimits;
42
+ }
43
+
44
+ /**
45
+ * Check if a given object implements the SnapshotJobDeleteResponseData interface.
46
+ */
47
+ export function instanceOfSnapshotJobDeleteResponseData(value: object): value is SnapshotJobDeleteResponseData {
48
+ if (!('message' in value) || value['message'] === undefined) return false;
49
+ if (!('limits' in value) || value['limits'] === undefined) return false;
50
+ return true;
51
+ }
52
+
53
+ export function SnapshotJobDeleteResponseDataFromJSON(json: any): SnapshotJobDeleteResponseData {
54
+ return SnapshotJobDeleteResponseDataFromJSONTyped(json, false);
55
+ }
56
+
57
+ export function SnapshotJobDeleteResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): SnapshotJobDeleteResponseData {
58
+ if (json == null) {
59
+ return json;
60
+ }
61
+ return {
62
+
63
+ 'message': json['message'],
64
+ 'limits': SnapshotJobLimitsFromJSON(json['limits']),
65
+ };
66
+ }
67
+
68
+ export function SnapshotJobDeleteResponseDataToJSON(json: any): SnapshotJobDeleteResponseData {
69
+ return SnapshotJobDeleteResponseDataToJSONTyped(json, false);
70
+ }
71
+
72
+ export function SnapshotJobDeleteResponseDataToJSONTyped(value?: SnapshotJobDeleteResponseData | null, ignoreDiscriminator: boolean = false): any {
73
+ if (value == null) {
74
+ return value;
75
+ }
76
+
77
+ return {
78
+
79
+ 'message': value['message'],
80
+ 'limits': SnapshotJobLimitsToJSON(value['limits']),
81
+ };
82
+ }
83
+
@@ -0,0 +1,84 @@
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
+ * Limits and quota information for snapshot jobs
18
+ * @export
19
+ * @interface SnapshotJobLimits
20
+ */
21
+ export interface SnapshotJobLimits {
22
+ /**
23
+ * Maximum number of snapshot jobs allowed
24
+ * @type {number}
25
+ * @memberof SnapshotJobLimits
26
+ */
27
+ maxJobs: number;
28
+ /**
29
+ * Current number of snapshot jobs
30
+ * @type {number}
31
+ * @memberof SnapshotJobLimits
32
+ */
33
+ jobCount: number;
34
+ /**
35
+ * Whether more jobs can be added
36
+ * @type {boolean}
37
+ * @memberof SnapshotJobLimits
38
+ */
39
+ canAddMore: boolean;
40
+ }
41
+
42
+ /**
43
+ * Check if a given object implements the SnapshotJobLimits interface.
44
+ */
45
+ export function instanceOfSnapshotJobLimits(value: object): value is SnapshotJobLimits {
46
+ if (!('maxJobs' in value) || value['maxJobs'] === undefined) return false;
47
+ if (!('jobCount' in value) || value['jobCount'] === undefined) return false;
48
+ if (!('canAddMore' in value) || value['canAddMore'] === undefined) return false;
49
+ return true;
50
+ }
51
+
52
+ export function SnapshotJobLimitsFromJSON(json: any): SnapshotJobLimits {
53
+ return SnapshotJobLimitsFromJSONTyped(json, false);
54
+ }
55
+
56
+ export function SnapshotJobLimitsFromJSONTyped(json: any, ignoreDiscriminator: boolean): SnapshotJobLimits {
57
+ if (json == null) {
58
+ return json;
59
+ }
60
+ return {
61
+
62
+ 'maxJobs': json['max_jobs'],
63
+ 'jobCount': json['job_count'],
64
+ 'canAddMore': json['can_add_more'],
65
+ };
66
+ }
67
+
68
+ export function SnapshotJobLimitsToJSON(json: any): SnapshotJobLimits {
69
+ return SnapshotJobLimitsToJSONTyped(json, false);
70
+ }
71
+
72
+ export function SnapshotJobLimitsToJSONTyped(value?: SnapshotJobLimits | null, ignoreDiscriminator: boolean = false): any {
73
+ if (value == null) {
74
+ return value;
75
+ }
76
+
77
+ return {
78
+
79
+ 'max_jobs': value['maxJobs'],
80
+ 'job_count': value['jobCount'],
81
+ 'can_add_more': value['canAddMore'],
82
+ };
83
+ }
84
+