@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,49 @@
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
+ import { SnapshotJobDeleteResponseDataFromJSON, SnapshotJobDeleteResponseDataToJSON, } from './SnapshotJobDeleteResponseData.js';
15
+ import { OperationStatusFromJSON, OperationStatusToJSON, } from './OperationStatus.js';
16
+ /**
17
+ * Check if a given object implements the DeleteSnapshotJobResponseContent interface.
18
+ */
19
+ export function instanceOfDeleteSnapshotJobResponseContent(value) {
20
+ if (!('status' in value) || value['status'] === undefined)
21
+ return false;
22
+ if (!('data' in value) || value['data'] === undefined)
23
+ return false;
24
+ return true;
25
+ }
26
+ export function DeleteSnapshotJobResponseContentFromJSON(json) {
27
+ return DeleteSnapshotJobResponseContentFromJSONTyped(json, false);
28
+ }
29
+ export function DeleteSnapshotJobResponseContentFromJSONTyped(json, ignoreDiscriminator) {
30
+ if (json == null) {
31
+ return json;
32
+ }
33
+ return {
34
+ 'status': OperationStatusFromJSON(json['status']),
35
+ 'data': SnapshotJobDeleteResponseDataFromJSON(json['data']),
36
+ };
37
+ }
38
+ export function DeleteSnapshotJobResponseContentToJSON(json) {
39
+ return DeleteSnapshotJobResponseContentToJSONTyped(json, false);
40
+ }
41
+ export function DeleteSnapshotJobResponseContentToJSONTyped(value, ignoreDiscriminator = false) {
42
+ if (value == null) {
43
+ return value;
44
+ }
45
+ return {
46
+ 'status': OperationStatusToJSON(value['status']),
47
+ 'data': SnapshotJobDeleteResponseDataToJSON(value['data']),
48
+ };
49
+ }
@@ -0,0 +1,32 @@
1
+ /**
2
+ * HostAfricaApi
3
+ * HostAfrica API
4
+ *
5
+ * The version of the OpenAPI document: 2026-01-01
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ *
14
+ * @export
15
+ * @interface ListSnapshotJobsRequestContent
16
+ */
17
+ export interface ListSnapshotJobsRequestContent {
18
+ /**
19
+ * Service ID - must be sent as a string
20
+ * @type {string}
21
+ * @memberof ListSnapshotJobsRequestContent
22
+ */
23
+ serviceId: string;
24
+ }
25
+ /**
26
+ * Check if a given object implements the ListSnapshotJobsRequestContent interface.
27
+ */
28
+ export declare function instanceOfListSnapshotJobsRequestContent(value: object): value is ListSnapshotJobsRequestContent;
29
+ export declare function ListSnapshotJobsRequestContentFromJSON(json: any): ListSnapshotJobsRequestContent;
30
+ export declare function ListSnapshotJobsRequestContentFromJSONTyped(json: any, ignoreDiscriminator: boolean): ListSnapshotJobsRequestContent;
31
+ export declare function ListSnapshotJobsRequestContentToJSON(json: any): ListSnapshotJobsRequestContent;
32
+ export declare function ListSnapshotJobsRequestContentToJSONTyped(value?: ListSnapshotJobsRequestContent | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,43 @@
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
+ * Check if a given object implements the ListSnapshotJobsRequestContent interface.
16
+ */
17
+ export function instanceOfListSnapshotJobsRequestContent(value) {
18
+ if (!('serviceId' in value) || value['serviceId'] === undefined)
19
+ return false;
20
+ return true;
21
+ }
22
+ export function ListSnapshotJobsRequestContentFromJSON(json) {
23
+ return ListSnapshotJobsRequestContentFromJSONTyped(json, false);
24
+ }
25
+ export function ListSnapshotJobsRequestContentFromJSONTyped(json, ignoreDiscriminator) {
26
+ if (json == null) {
27
+ return json;
28
+ }
29
+ return {
30
+ 'serviceId': json['service_id'],
31
+ };
32
+ }
33
+ export function ListSnapshotJobsRequestContentToJSON(json) {
34
+ return ListSnapshotJobsRequestContentToJSONTyped(json, false);
35
+ }
36
+ export function ListSnapshotJobsRequestContentToJSONTyped(value, ignoreDiscriminator = false) {
37
+ if (value == null) {
38
+ return value;
39
+ }
40
+ return {
41
+ 'service_id': value['serviceId'],
42
+ };
43
+ }
@@ -0,0 +1,40 @@
1
+ /**
2
+ * HostAfricaApi
3
+ * HostAfrica API
4
+ *
5
+ * The version of the OpenAPI document: 2026-01-01
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import type { OperationStatus } from './OperationStatus.js';
13
+ import type { SnapshotJobListResponseData } from './SnapshotJobListResponseData.js';
14
+ /**
15
+ *
16
+ * @export
17
+ * @interface ListSnapshotJobsResponseContent
18
+ */
19
+ export interface ListSnapshotJobsResponseContent {
20
+ /**
21
+ *
22
+ * @type {OperationStatus}
23
+ * @memberof ListSnapshotJobsResponseContent
24
+ */
25
+ status: OperationStatus;
26
+ /**
27
+ *
28
+ * @type {SnapshotJobListResponseData}
29
+ * @memberof ListSnapshotJobsResponseContent
30
+ */
31
+ data: SnapshotJobListResponseData;
32
+ }
33
+ /**
34
+ * Check if a given object implements the ListSnapshotJobsResponseContent interface.
35
+ */
36
+ export declare function instanceOfListSnapshotJobsResponseContent(value: object): value is ListSnapshotJobsResponseContent;
37
+ export declare function ListSnapshotJobsResponseContentFromJSON(json: any): ListSnapshotJobsResponseContent;
38
+ export declare function ListSnapshotJobsResponseContentFromJSONTyped(json: any, ignoreDiscriminator: boolean): ListSnapshotJobsResponseContent;
39
+ export declare function ListSnapshotJobsResponseContentToJSON(json: any): ListSnapshotJobsResponseContent;
40
+ export declare function ListSnapshotJobsResponseContentToJSONTyped(value?: ListSnapshotJobsResponseContent | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,49 @@
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
+ import { OperationStatusFromJSON, OperationStatusToJSON, } from './OperationStatus.js';
15
+ import { SnapshotJobListResponseDataFromJSON, SnapshotJobListResponseDataToJSON, } from './SnapshotJobListResponseData.js';
16
+ /**
17
+ * Check if a given object implements the ListSnapshotJobsResponseContent interface.
18
+ */
19
+ export function instanceOfListSnapshotJobsResponseContent(value) {
20
+ if (!('status' in value) || value['status'] === undefined)
21
+ return false;
22
+ if (!('data' in value) || value['data'] === undefined)
23
+ return false;
24
+ return true;
25
+ }
26
+ export function ListSnapshotJobsResponseContentFromJSON(json) {
27
+ return ListSnapshotJobsResponseContentFromJSONTyped(json, false);
28
+ }
29
+ export function ListSnapshotJobsResponseContentFromJSONTyped(json, ignoreDiscriminator) {
30
+ if (json == null) {
31
+ return json;
32
+ }
33
+ return {
34
+ 'status': OperationStatusFromJSON(json['status']),
35
+ 'data': SnapshotJobListResponseDataFromJSON(json['data']),
36
+ };
37
+ }
38
+ export function ListSnapshotJobsResponseContentToJSON(json) {
39
+ return ListSnapshotJobsResponseContentToJSONTyped(json, false);
40
+ }
41
+ export function ListSnapshotJobsResponseContentToJSONTyped(value, ignoreDiscriminator = false) {
42
+ if (value == null) {
43
+ return value;
44
+ }
45
+ return {
46
+ 'status': OperationStatusToJSON(value['status']),
47
+ 'data': SnapshotJobListResponseDataToJSON(value['data']),
48
+ };
49
+ }
@@ -0,0 +1,88 @@
1
+ /**
2
+ * HostAfricaApi
3
+ * HostAfrica API
4
+ *
5
+ * The version of the OpenAPI document: 2026-01-01
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import type { DayOfWeek } from './DayOfWeek.js';
13
+ import type { SnapshotJobPeriod } from './SnapshotJobPeriod.js';
14
+ /**
15
+ * Individual snapshot job item
16
+ * @export
17
+ * @interface SnapshotJob
18
+ */
19
+ export interface SnapshotJob {
20
+ /**
21
+ * Snapshot job ID
22
+ * @type {number}
23
+ * @memberof SnapshotJob
24
+ */
25
+ id: number;
26
+ /**
27
+ * Hosting account ID
28
+ * @type {number}
29
+ * @memberof SnapshotJob
30
+ */
31
+ hostingId?: number;
32
+ /**
33
+ * VM ID (null if not yet assigned)
34
+ * @type {number}
35
+ * @memberof SnapshotJob
36
+ */
37
+ vmId?: number;
38
+ /**
39
+ * Name of the snapshot job
40
+ * @type {string}
41
+ * @memberof SnapshotJob
42
+ */
43
+ name: string;
44
+ /**
45
+ * Description of the snapshot job
46
+ * @type {string}
47
+ * @memberof SnapshotJob
48
+ */
49
+ description?: string;
50
+ /**
51
+ * Whether VM state is included in the snapshot
52
+ * @type {boolean}
53
+ * @memberof SnapshotJob
54
+ */
55
+ vmstate?: boolean;
56
+ /**
57
+ *
58
+ * @type {SnapshotJobPeriod}
59
+ * @memberof SnapshotJob
60
+ */
61
+ period: SnapshotJobPeriod;
62
+ /**
63
+ * For hourly jobs: run every N hours
64
+ * @type {number}
65
+ * @memberof SnapshotJob
66
+ */
67
+ runEvery?: number;
68
+ /**
69
+ * For daily jobs: days of week
70
+ * @type {Array<DayOfWeek>}
71
+ * @memberof SnapshotJob
72
+ */
73
+ days?: Array<DayOfWeek>;
74
+ /**
75
+ * For daily jobs: start time in HH:MM format
76
+ * @type {string}
77
+ * @memberof SnapshotJob
78
+ */
79
+ startTime?: string;
80
+ }
81
+ /**
82
+ * Check if a given object implements the SnapshotJob interface.
83
+ */
84
+ export declare function instanceOfSnapshotJob(value: object): value is SnapshotJob;
85
+ export declare function SnapshotJobFromJSON(json: any): SnapshotJob;
86
+ export declare function SnapshotJobFromJSONTyped(json: any, ignoreDiscriminator: boolean): SnapshotJob;
87
+ export declare function SnapshotJobToJSON(json: any): SnapshotJob;
88
+ export declare function SnapshotJobToJSONTyped(value?: SnapshotJob | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,67 @@
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
+ import { DayOfWeekFromJSON, DayOfWeekToJSON, } from './DayOfWeek.js';
15
+ import { SnapshotJobPeriodFromJSON, SnapshotJobPeriodToJSON, } from './SnapshotJobPeriod.js';
16
+ /**
17
+ * Check if a given object implements the SnapshotJob interface.
18
+ */
19
+ export function instanceOfSnapshotJob(value) {
20
+ if (!('id' in value) || value['id'] === undefined)
21
+ return false;
22
+ if (!('name' in value) || value['name'] === undefined)
23
+ return false;
24
+ if (!('period' in value) || value['period'] === undefined)
25
+ return false;
26
+ return true;
27
+ }
28
+ export function SnapshotJobFromJSON(json) {
29
+ return SnapshotJobFromJSONTyped(json, false);
30
+ }
31
+ export function SnapshotJobFromJSONTyped(json, ignoreDiscriminator) {
32
+ if (json == null) {
33
+ return json;
34
+ }
35
+ return {
36
+ 'id': json['id'],
37
+ 'hostingId': json['hosting_id'] == null ? undefined : json['hosting_id'],
38
+ 'vmId': json['vm_id'] == null ? undefined : json['vm_id'],
39
+ 'name': json['name'],
40
+ 'description': json['description'] == null ? undefined : json['description'],
41
+ 'vmstate': json['vmstate'] == null ? undefined : json['vmstate'],
42
+ 'period': SnapshotJobPeriodFromJSON(json['period']),
43
+ 'runEvery': json['run_every'] == null ? undefined : json['run_every'],
44
+ 'days': json['days'] == null ? undefined : (json['days'].map(DayOfWeekFromJSON)),
45
+ 'startTime': json['start_time'] == null ? undefined : json['start_time'],
46
+ };
47
+ }
48
+ export function SnapshotJobToJSON(json) {
49
+ return SnapshotJobToJSONTyped(json, false);
50
+ }
51
+ export function SnapshotJobToJSONTyped(value, ignoreDiscriminator = false) {
52
+ if (value == null) {
53
+ return value;
54
+ }
55
+ return {
56
+ 'id': value['id'],
57
+ 'hosting_id': value['hostingId'],
58
+ 'vm_id': value['vmId'],
59
+ 'name': value['name'],
60
+ 'description': value['description'],
61
+ 'vmstate': value['vmstate'],
62
+ 'period': SnapshotJobPeriodToJSON(value['period']),
63
+ 'run_every': value['runEvery'],
64
+ 'days': value['days'] == null ? undefined : (value['days'].map(DayOfWeekToJSON)),
65
+ 'start_time': value['startTime'],
66
+ };
67
+ }
@@ -0,0 +1,39 @@
1
+ /**
2
+ * HostAfricaApi
3
+ * HostAfrica API
4
+ *
5
+ * The version of the OpenAPI document: 2026-01-01
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import type { SnapshotJobLimits } from './SnapshotJobLimits.js';
13
+ /**
14
+ * Response data for snapshot job delete operation
15
+ * @export
16
+ * @interface SnapshotJobDeleteResponseData
17
+ */
18
+ export interface SnapshotJobDeleteResponseData {
19
+ /**
20
+ * Status message indicating the result
21
+ * @type {string}
22
+ * @memberof SnapshotJobDeleteResponseData
23
+ */
24
+ message: string;
25
+ /**
26
+ *
27
+ * @type {SnapshotJobLimits}
28
+ * @memberof SnapshotJobDeleteResponseData
29
+ */
30
+ limits: SnapshotJobLimits;
31
+ }
32
+ /**
33
+ * Check if a given object implements the SnapshotJobDeleteResponseData interface.
34
+ */
35
+ export declare function instanceOfSnapshotJobDeleteResponseData(value: object): value is SnapshotJobDeleteResponseData;
36
+ export declare function SnapshotJobDeleteResponseDataFromJSON(json: any): SnapshotJobDeleteResponseData;
37
+ export declare function SnapshotJobDeleteResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): SnapshotJobDeleteResponseData;
38
+ export declare function SnapshotJobDeleteResponseDataToJSON(json: any): SnapshotJobDeleteResponseData;
39
+ export declare function SnapshotJobDeleteResponseDataToJSONTyped(value?: SnapshotJobDeleteResponseData | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,48 @@
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
+ import { SnapshotJobLimitsFromJSON, SnapshotJobLimitsToJSON, } from './SnapshotJobLimits.js';
15
+ /**
16
+ * Check if a given object implements the SnapshotJobDeleteResponseData interface.
17
+ */
18
+ export function instanceOfSnapshotJobDeleteResponseData(value) {
19
+ if (!('message' in value) || value['message'] === undefined)
20
+ return false;
21
+ if (!('limits' in value) || value['limits'] === undefined)
22
+ return false;
23
+ return true;
24
+ }
25
+ export function SnapshotJobDeleteResponseDataFromJSON(json) {
26
+ return SnapshotJobDeleteResponseDataFromJSONTyped(json, false);
27
+ }
28
+ export function SnapshotJobDeleteResponseDataFromJSONTyped(json, ignoreDiscriminator) {
29
+ if (json == null) {
30
+ return json;
31
+ }
32
+ return {
33
+ 'message': json['message'],
34
+ 'limits': SnapshotJobLimitsFromJSON(json['limits']),
35
+ };
36
+ }
37
+ export function SnapshotJobDeleteResponseDataToJSON(json) {
38
+ return SnapshotJobDeleteResponseDataToJSONTyped(json, false);
39
+ }
40
+ export function SnapshotJobDeleteResponseDataToJSONTyped(value, ignoreDiscriminator = false) {
41
+ if (value == null) {
42
+ return value;
43
+ }
44
+ return {
45
+ 'message': value['message'],
46
+ 'limits': SnapshotJobLimitsToJSON(value['limits']),
47
+ };
48
+ }
@@ -0,0 +1,44 @@
1
+ /**
2
+ * HostAfricaApi
3
+ * HostAfrica API
4
+ *
5
+ * The version of the OpenAPI document: 2026-01-01
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ * Limits and quota information for snapshot jobs
14
+ * @export
15
+ * @interface SnapshotJobLimits
16
+ */
17
+ export interface SnapshotJobLimits {
18
+ /**
19
+ * Maximum number of snapshot jobs allowed
20
+ * @type {number}
21
+ * @memberof SnapshotJobLimits
22
+ */
23
+ maxJobs: number;
24
+ /**
25
+ * Current number of snapshot jobs
26
+ * @type {number}
27
+ * @memberof SnapshotJobLimits
28
+ */
29
+ jobCount: number;
30
+ /**
31
+ * Whether more jobs can be added
32
+ * @type {boolean}
33
+ * @memberof SnapshotJobLimits
34
+ */
35
+ canAddMore: boolean;
36
+ }
37
+ /**
38
+ * Check if a given object implements the SnapshotJobLimits interface.
39
+ */
40
+ export declare function instanceOfSnapshotJobLimits(value: object): value is SnapshotJobLimits;
41
+ export declare function SnapshotJobLimitsFromJSON(json: any): SnapshotJobLimits;
42
+ export declare function SnapshotJobLimitsFromJSONTyped(json: any, ignoreDiscriminator: boolean): SnapshotJobLimits;
43
+ export declare function SnapshotJobLimitsToJSON(json: any): SnapshotJobLimits;
44
+ export declare function SnapshotJobLimitsToJSONTyped(value?: SnapshotJobLimits | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,51 @@
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
+ * Check if a given object implements the SnapshotJobLimits interface.
16
+ */
17
+ export function instanceOfSnapshotJobLimits(value) {
18
+ if (!('maxJobs' in value) || value['maxJobs'] === undefined)
19
+ return false;
20
+ if (!('jobCount' in value) || value['jobCount'] === undefined)
21
+ return false;
22
+ if (!('canAddMore' in value) || value['canAddMore'] === undefined)
23
+ return false;
24
+ return true;
25
+ }
26
+ export function SnapshotJobLimitsFromJSON(json) {
27
+ return SnapshotJobLimitsFromJSONTyped(json, false);
28
+ }
29
+ export function SnapshotJobLimitsFromJSONTyped(json, ignoreDiscriminator) {
30
+ if (json == null) {
31
+ return json;
32
+ }
33
+ return {
34
+ 'maxJobs': json['max_jobs'],
35
+ 'jobCount': json['job_count'],
36
+ 'canAddMore': json['can_add_more'],
37
+ };
38
+ }
39
+ export function SnapshotJobLimitsToJSON(json) {
40
+ return SnapshotJobLimitsToJSONTyped(json, false);
41
+ }
42
+ export function SnapshotJobLimitsToJSONTyped(value, ignoreDiscriminator = false) {
43
+ if (value == null) {
44
+ return value;
45
+ }
46
+ return {
47
+ 'max_jobs': value['maxJobs'],
48
+ 'job_count': value['jobCount'],
49
+ 'can_add_more': value['canAddMore'],
50
+ };
51
+ }
@@ -0,0 +1,52 @@
1
+ /**
2
+ * HostAfricaApi
3
+ * HostAfrica API
4
+ *
5
+ * The version of the OpenAPI document: 2026-01-01
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import type { SnapshotJob } from './SnapshotJob.js';
13
+ import type { SnapshotJobLimits } from './SnapshotJobLimits.js';
14
+ /**
15
+ * Response data for snapshot job list operation
16
+ * @export
17
+ * @interface SnapshotJobListResponseData
18
+ */
19
+ export interface SnapshotJobListResponseData {
20
+ /**
21
+ * Status message indicating the result
22
+ * @type {string}
23
+ * @memberof SnapshotJobListResponseData
24
+ */
25
+ message: string;
26
+ /**
27
+ * List of snapshot jobs
28
+ * @type {Array<SnapshotJob>}
29
+ * @memberof SnapshotJobListResponseData
30
+ */
31
+ jobs: Array<SnapshotJob>;
32
+ /**
33
+ *
34
+ * @type {SnapshotJobLimits}
35
+ * @memberof SnapshotJobListResponseData
36
+ */
37
+ limits: SnapshotJobLimits;
38
+ /**
39
+ * Allowed schedule periods for snapshot jobs
40
+ * @type {Array<string>}
41
+ * @memberof SnapshotJobListResponseData
42
+ */
43
+ allowedPeriods?: Array<string>;
44
+ }
45
+ /**
46
+ * Check if a given object implements the SnapshotJobListResponseData interface.
47
+ */
48
+ export declare function instanceOfSnapshotJobListResponseData(value: object): value is SnapshotJobListResponseData;
49
+ export declare function SnapshotJobListResponseDataFromJSON(json: any): SnapshotJobListResponseData;
50
+ export declare function SnapshotJobListResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): SnapshotJobListResponseData;
51
+ export declare function SnapshotJobListResponseDataToJSON(json: any): SnapshotJobListResponseData;
52
+ export declare function SnapshotJobListResponseDataToJSONTyped(value?: SnapshotJobListResponseData | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,55 @@
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
+ import { SnapshotJobFromJSON, SnapshotJobToJSON, } from './SnapshotJob.js';
15
+ import { SnapshotJobLimitsFromJSON, SnapshotJobLimitsToJSON, } from './SnapshotJobLimits.js';
16
+ /**
17
+ * Check if a given object implements the SnapshotJobListResponseData interface.
18
+ */
19
+ export function instanceOfSnapshotJobListResponseData(value) {
20
+ if (!('message' in value) || value['message'] === undefined)
21
+ return false;
22
+ if (!('jobs' in value) || value['jobs'] === undefined)
23
+ return false;
24
+ if (!('limits' in value) || value['limits'] === undefined)
25
+ return false;
26
+ return true;
27
+ }
28
+ export function SnapshotJobListResponseDataFromJSON(json) {
29
+ return SnapshotJobListResponseDataFromJSONTyped(json, false);
30
+ }
31
+ export function SnapshotJobListResponseDataFromJSONTyped(json, ignoreDiscriminator) {
32
+ if (json == null) {
33
+ return json;
34
+ }
35
+ return {
36
+ 'message': json['message'],
37
+ 'jobs': (json['jobs'].map(SnapshotJobFromJSON)),
38
+ 'limits': SnapshotJobLimitsFromJSON(json['limits']),
39
+ 'allowedPeriods': json['allowed_periods'] == null ? undefined : json['allowed_periods'],
40
+ };
41
+ }
42
+ export function SnapshotJobListResponseDataToJSON(json) {
43
+ return SnapshotJobListResponseDataToJSONTyped(json, false);
44
+ }
45
+ export function SnapshotJobListResponseDataToJSONTyped(value, ignoreDiscriminator = false) {
46
+ if (value == null) {
47
+ return value;
48
+ }
49
+ return {
50
+ 'message': value['message'],
51
+ 'jobs': (value['jobs'].map(SnapshotJobToJSON)),
52
+ 'limits': SnapshotJobLimitsToJSON(value['limits']),
53
+ 'allowed_periods': value['allowedPeriods'],
54
+ };
55
+ }