@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,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
+
@@ -0,0 +1,107 @@
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 { SnapshotJob } from './SnapshotJob.js';
17
+ import {
18
+ SnapshotJobFromJSON,
19
+ SnapshotJobFromJSONTyped,
20
+ SnapshotJobToJSON,
21
+ SnapshotJobToJSONTyped,
22
+ } from './SnapshotJob.js';
23
+ import type { SnapshotJobLimits } from './SnapshotJobLimits.js';
24
+ import {
25
+ SnapshotJobLimitsFromJSON,
26
+ SnapshotJobLimitsFromJSONTyped,
27
+ SnapshotJobLimitsToJSON,
28
+ SnapshotJobLimitsToJSONTyped,
29
+ } from './SnapshotJobLimits.js';
30
+
31
+ /**
32
+ * Response data for snapshot job list operation
33
+ * @export
34
+ * @interface SnapshotJobListResponseData
35
+ */
36
+ export interface SnapshotJobListResponseData {
37
+ /**
38
+ * Status message indicating the result
39
+ * @type {string}
40
+ * @memberof SnapshotJobListResponseData
41
+ */
42
+ message: string;
43
+ /**
44
+ * List of snapshot jobs
45
+ * @type {Array<SnapshotJob>}
46
+ * @memberof SnapshotJobListResponseData
47
+ */
48
+ jobs: Array<SnapshotJob>;
49
+ /**
50
+ *
51
+ * @type {SnapshotJobLimits}
52
+ * @memberof SnapshotJobListResponseData
53
+ */
54
+ limits: SnapshotJobLimits;
55
+ /**
56
+ * Allowed schedule periods for snapshot jobs
57
+ * @type {Array<string>}
58
+ * @memberof SnapshotJobListResponseData
59
+ */
60
+ allowedPeriods?: Array<string>;
61
+ }
62
+
63
+ /**
64
+ * Check if a given object implements the SnapshotJobListResponseData interface.
65
+ */
66
+ export function instanceOfSnapshotJobListResponseData(value: object): value is SnapshotJobListResponseData {
67
+ if (!('message' in value) || value['message'] === undefined) return false;
68
+ if (!('jobs' in value) || value['jobs'] === undefined) return false;
69
+ if (!('limits' in value) || value['limits'] === undefined) return false;
70
+ return true;
71
+ }
72
+
73
+ export function SnapshotJobListResponseDataFromJSON(json: any): SnapshotJobListResponseData {
74
+ return SnapshotJobListResponseDataFromJSONTyped(json, false);
75
+ }
76
+
77
+ export function SnapshotJobListResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): SnapshotJobListResponseData {
78
+ if (json == null) {
79
+ return json;
80
+ }
81
+ return {
82
+
83
+ 'message': json['message'],
84
+ 'jobs': ((json['jobs'] as Array<any>).map(SnapshotJobFromJSON)),
85
+ 'limits': SnapshotJobLimitsFromJSON(json['limits']),
86
+ 'allowedPeriods': json['allowed_periods'] == null ? undefined : json['allowed_periods'],
87
+ };
88
+ }
89
+
90
+ export function SnapshotJobListResponseDataToJSON(json: any): SnapshotJobListResponseData {
91
+ return SnapshotJobListResponseDataToJSONTyped(json, false);
92
+ }
93
+
94
+ export function SnapshotJobListResponseDataToJSONTyped(value?: SnapshotJobListResponseData | null, ignoreDiscriminator: boolean = false): any {
95
+ if (value == null) {
96
+ return value;
97
+ }
98
+
99
+ return {
100
+
101
+ 'message': value['message'],
102
+ 'jobs': ((value['jobs'] as Array<any>).map(SnapshotJobToJSON)),
103
+ 'limits': SnapshotJobLimitsToJSON(value['limits']),
104
+ 'allowed_periods': value['allowedPeriods'],
105
+ };
106
+ }
107
+
@@ -0,0 +1,99 @@
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 { SnapshotJob } from './SnapshotJob.js';
17
+ import {
18
+ SnapshotJobFromJSON,
19
+ SnapshotJobFromJSONTyped,
20
+ SnapshotJobToJSON,
21
+ SnapshotJobToJSONTyped,
22
+ } from './SnapshotJob.js';
23
+ import type { SnapshotJobLimits } from './SnapshotJobLimits.js';
24
+ import {
25
+ SnapshotJobLimitsFromJSON,
26
+ SnapshotJobLimitsFromJSONTyped,
27
+ SnapshotJobLimitsToJSON,
28
+ SnapshotJobLimitsToJSONTyped,
29
+ } from './SnapshotJobLimits.js';
30
+
31
+ /**
32
+ * Response data for snapshot job create operation
33
+ * @export
34
+ * @interface SnapshotJobMutationResponseData
35
+ */
36
+ export interface SnapshotJobMutationResponseData {
37
+ /**
38
+ * Status message indicating the result
39
+ * @type {string}
40
+ * @memberof SnapshotJobMutationResponseData
41
+ */
42
+ message: string;
43
+ /**
44
+ *
45
+ * @type {SnapshotJob}
46
+ * @memberof SnapshotJobMutationResponseData
47
+ */
48
+ job: SnapshotJob;
49
+ /**
50
+ *
51
+ * @type {SnapshotJobLimits}
52
+ * @memberof SnapshotJobMutationResponseData
53
+ */
54
+ limits: SnapshotJobLimits;
55
+ }
56
+
57
+ /**
58
+ * Check if a given object implements the SnapshotJobMutationResponseData interface.
59
+ */
60
+ export function instanceOfSnapshotJobMutationResponseData(value: object): value is SnapshotJobMutationResponseData {
61
+ if (!('message' in value) || value['message'] === undefined) return false;
62
+ if (!('job' in value) || value['job'] === undefined) return false;
63
+ if (!('limits' in value) || value['limits'] === undefined) return false;
64
+ return true;
65
+ }
66
+
67
+ export function SnapshotJobMutationResponseDataFromJSON(json: any): SnapshotJobMutationResponseData {
68
+ return SnapshotJobMutationResponseDataFromJSONTyped(json, false);
69
+ }
70
+
71
+ export function SnapshotJobMutationResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): SnapshotJobMutationResponseData {
72
+ if (json == null) {
73
+ return json;
74
+ }
75
+ return {
76
+
77
+ 'message': json['message'],
78
+ 'job': SnapshotJobFromJSON(json['job']),
79
+ 'limits': SnapshotJobLimitsFromJSON(json['limits']),
80
+ };
81
+ }
82
+
83
+ export function SnapshotJobMutationResponseDataToJSON(json: any): SnapshotJobMutationResponseData {
84
+ return SnapshotJobMutationResponseDataToJSONTyped(json, false);
85
+ }
86
+
87
+ export function SnapshotJobMutationResponseDataToJSONTyped(value?: SnapshotJobMutationResponseData | null, ignoreDiscriminator: boolean = false): any {
88
+ if (value == null) {
89
+ return value;
90
+ }
91
+
92
+ return {
93
+
94
+ 'message': value['message'],
95
+ 'job': SnapshotJobToJSON(value['job']),
96
+ 'limits': SnapshotJobLimitsToJSON(value['limits']),
97
+ };
98
+ }
99
+
@@ -0,0 +1,53 @@
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
+
16
+ /**
17
+ * Schedule period for snapshot jobs
18
+ * @export
19
+ */
20
+ export const SnapshotJobPeriod = {
21
+ Hourly: 'hourly',
22
+ Daily: 'daily'
23
+ } as const;
24
+ export type SnapshotJobPeriod = typeof SnapshotJobPeriod[keyof typeof SnapshotJobPeriod];
25
+
26
+
27
+ export function instanceOfSnapshotJobPeriod(value: any): boolean {
28
+ for (const key in SnapshotJobPeriod) {
29
+ if (Object.prototype.hasOwnProperty.call(SnapshotJobPeriod, key)) {
30
+ if (SnapshotJobPeriod[key as keyof typeof SnapshotJobPeriod] === value) {
31
+ return true;
32
+ }
33
+ }
34
+ }
35
+ return false;
36
+ }
37
+
38
+ export function SnapshotJobPeriodFromJSON(json: any): SnapshotJobPeriod {
39
+ return SnapshotJobPeriodFromJSONTyped(json, false);
40
+ }
41
+
42
+ export function SnapshotJobPeriodFromJSONTyped(json: any, ignoreDiscriminator: boolean): SnapshotJobPeriod {
43
+ return json as SnapshotJobPeriod;
44
+ }
45
+
46
+ export function SnapshotJobPeriodToJSON(value?: SnapshotJobPeriod | null): any {
47
+ return value as any;
48
+ }
49
+
50
+ export function SnapshotJobPeriodToJSONTyped(value: any, ignoreDiscriminator: boolean): SnapshotJobPeriod {
51
+ return value as SnapshotJobPeriod;
52
+ }
53
+
@@ -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 { SnapshotJob } from './SnapshotJob.js';
17
+ import {
18
+ SnapshotJobFromJSON,
19
+ SnapshotJobFromJSONTyped,
20
+ SnapshotJobToJSON,
21
+ SnapshotJobToJSONTyped,
22
+ } from './SnapshotJob.js';
23
+
24
+ /**
25
+ * Response data for snapshot job update operation
26
+ * @export
27
+ * @interface SnapshotJobUpdateResponseData
28
+ */
29
+ export interface SnapshotJobUpdateResponseData {
30
+ /**
31
+ * Status message indicating the result
32
+ * @type {string}
33
+ * @memberof SnapshotJobUpdateResponseData
34
+ */
35
+ message: string;
36
+ /**
37
+ *
38
+ * @type {SnapshotJob}
39
+ * @memberof SnapshotJobUpdateResponseData
40
+ */
41
+ job: SnapshotJob;
42
+ }
43
+
44
+ /**
45
+ * Check if a given object implements the SnapshotJobUpdateResponseData interface.
46
+ */
47
+ export function instanceOfSnapshotJobUpdateResponseData(value: object): value is SnapshotJobUpdateResponseData {
48
+ if (!('message' in value) || value['message'] === undefined) return false;
49
+ if (!('job' in value) || value['job'] === undefined) return false;
50
+ return true;
51
+ }
52
+
53
+ export function SnapshotJobUpdateResponseDataFromJSON(json: any): SnapshotJobUpdateResponseData {
54
+ return SnapshotJobUpdateResponseDataFromJSONTyped(json, false);
55
+ }
56
+
57
+ export function SnapshotJobUpdateResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): SnapshotJobUpdateResponseData {
58
+ if (json == null) {
59
+ return json;
60
+ }
61
+ return {
62
+
63
+ 'message': json['message'],
64
+ 'job': SnapshotJobFromJSON(json['job']),
65
+ };
66
+ }
67
+
68
+ export function SnapshotJobUpdateResponseDataToJSON(json: any): SnapshotJobUpdateResponseData {
69
+ return SnapshotJobUpdateResponseDataToJSONTyped(json, false);
70
+ }
71
+
72
+ export function SnapshotJobUpdateResponseDataToJSONTyped(value?: SnapshotJobUpdateResponseData | null, ignoreDiscriminator: boolean = false): any {
73
+ if (value == null) {
74
+ return value;
75
+ }
76
+
77
+ return {
78
+
79
+ 'message': value['message'],
80
+ 'job': SnapshotJobToJSON(value['job']),
81
+ };
82
+ }
83
+
@@ -0,0 +1,148 @@
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
+ *
33
+ * @export
34
+ * @interface UpdateSnapshotJobRequestContent
35
+ */
36
+ export interface UpdateSnapshotJobRequestContent {
37
+ /**
38
+ * Service ID - must be sent as a string
39
+ * @type {string}
40
+ * @memberof UpdateSnapshotJobRequestContent
41
+ */
42
+ serviceId: string;
43
+ /**
44
+ * Snapshot job ID to update
45
+ * @type {string}
46
+ * @memberof UpdateSnapshotJobRequestContent
47
+ */
48
+ jobId: string;
49
+ /**
50
+ * New name for the snapshot job
51
+ * @type {string}
52
+ * @memberof UpdateSnapshotJobRequestContent
53
+ */
54
+ name?: string;
55
+ /**
56
+ * New description for the snapshot job
57
+ * @type {string}
58
+ * @memberof UpdateSnapshotJobRequestContent
59
+ */
60
+ description?: string;
61
+ /**
62
+ * Whether to include VM state in the snapshot
63
+ * @type {boolean}
64
+ * @memberof UpdateSnapshotJobRequestContent
65
+ */
66
+ vmstate?: boolean;
67
+ /**
68
+ *
69
+ * @type {SnapshotJobPeriod}
70
+ * @memberof UpdateSnapshotJobRequestContent
71
+ */
72
+ period?: SnapshotJobPeriod;
73
+ /**
74
+ * For hourly jobs: run every N hours (e.g. 6 = every 6 hours)
75
+ * @type {number}
76
+ * @memberof UpdateSnapshotJobRequestContent
77
+ */
78
+ runEvery?: number;
79
+ /**
80
+ * For daily jobs: days of week when the job should run
81
+ * @type {Array<DayOfWeek>}
82
+ * @memberof UpdateSnapshotJobRequestContent
83
+ */
84
+ days?: Array<DayOfWeek>;
85
+ /**
86
+ * For daily jobs: start time in HH:MM format (e.g. '02:30')
87
+ * @type {string}
88
+ * @memberof UpdateSnapshotJobRequestContent
89
+ */
90
+ startTime?: string;
91
+ }
92
+
93
+
94
+
95
+ /**
96
+ * Check if a given object implements the UpdateSnapshotJobRequestContent interface.
97
+ */
98
+ export function instanceOfUpdateSnapshotJobRequestContent(value: object): value is UpdateSnapshotJobRequestContent {
99
+ if (!('serviceId' in value) || value['serviceId'] === undefined) return false;
100
+ if (!('jobId' in value) || value['jobId'] === undefined) return false;
101
+ return true;
102
+ }
103
+
104
+ export function UpdateSnapshotJobRequestContentFromJSON(json: any): UpdateSnapshotJobRequestContent {
105
+ return UpdateSnapshotJobRequestContentFromJSONTyped(json, false);
106
+ }
107
+
108
+ export function UpdateSnapshotJobRequestContentFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateSnapshotJobRequestContent {
109
+ if (json == null) {
110
+ return json;
111
+ }
112
+ return {
113
+
114
+ 'serviceId': json['service_id'],
115
+ 'jobId': json['job_id'],
116
+ 'name': json['name'] == null ? undefined : json['name'],
117
+ 'description': json['description'] == null ? undefined : json['description'],
118
+ 'vmstate': json['vmstate'] == null ? undefined : json['vmstate'],
119
+ 'period': json['period'] == null ? undefined : SnapshotJobPeriodFromJSON(json['period']),
120
+ 'runEvery': json['run_every'] == null ? undefined : json['run_every'],
121
+ 'days': json['days'] == null ? undefined : ((json['days'] as Array<any>).map(DayOfWeekFromJSON)),
122
+ 'startTime': json['start_time'] == null ? undefined : json['start_time'],
123
+ };
124
+ }
125
+
126
+ export function UpdateSnapshotJobRequestContentToJSON(json: any): UpdateSnapshotJobRequestContent {
127
+ return UpdateSnapshotJobRequestContentToJSONTyped(json, false);
128
+ }
129
+
130
+ export function UpdateSnapshotJobRequestContentToJSONTyped(value?: UpdateSnapshotJobRequestContent | null, ignoreDiscriminator: boolean = false): any {
131
+ if (value == null) {
132
+ return value;
133
+ }
134
+
135
+ return {
136
+
137
+ 'service_id': value['serviceId'],
138
+ 'job_id': value['jobId'],
139
+ 'name': value['name'],
140
+ 'description': value['description'],
141
+ 'vmstate': value['vmstate'],
142
+ 'period': SnapshotJobPeriodToJSON(value['period']),
143
+ 'run_every': value['runEvery'],
144
+ 'days': value['days'] == null ? undefined : ((value['days'] as Array<any>).map(DayOfWeekToJSON)),
145
+ 'start_time': value['startTime'],
146
+ };
147
+ }
148
+