@scaleway/sdk-mongodb 1.0.5 → 1.1.0

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.
@@ -0,0 +1,189 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const CreateInstanceRequest = {
4
+ name: {
5
+ maxLength: 255,
6
+ minLength: 1,
7
+ pattern: /^[A-Za-z0-9\-_]+$/
8
+ },
9
+ nodeAmount: {
10
+ greaterThanOrEqual: 1,
11
+ lessThanOrEqual: 3
12
+ },
13
+ nodeType: {
14
+ maxLength: 128,
15
+ minLength: 1,
16
+ pattern: /^[A-Za-z0-9\-_]+$/
17
+ },
18
+ password: {
19
+ maxLength: 128,
20
+ minLength: 8
21
+ },
22
+ userName: {
23
+ maxLength: 63,
24
+ minLength: 1,
25
+ pattern: /^[a-zA-Z0-9_\-]*$/
26
+ },
27
+ version: {
28
+ pattern: /^[0-9]+\.[0-9]+$/
29
+ }
30
+ };
31
+ const CreateSnapshotRequest = {
32
+ name: {
33
+ maxLength: 255,
34
+ minLength: 1,
35
+ pattern: /^[A-Za-z0-9\-_]+$/
36
+ }
37
+ };
38
+ const CreateUserRequest = {
39
+ name: {
40
+ maxLength: 63,
41
+ minLength: 1,
42
+ pattern: /^[a-zA-Z0-9_\-]*$/
43
+ },
44
+ password: {
45
+ maxLength: 128,
46
+ minLength: 8
47
+ }
48
+ };
49
+ const DeleteUserRequest = {
50
+ name: {
51
+ maxLength: 63,
52
+ minLength: 1,
53
+ pattern: /^[a-zA-Z0-9_\-]*$/
54
+ }
55
+ };
56
+ const ListInstancesRequest = {
57
+ name: {
58
+ maxLength: 255,
59
+ minLength: 1,
60
+ pattern: /^[A-Za-z0-9\-_]+$/
61
+ },
62
+ page: {
63
+ greaterThanOrEqual: 1
64
+ },
65
+ pageSize: {
66
+ greaterThanOrEqual: 1,
67
+ lessThanOrEqual: 100
68
+ }
69
+ };
70
+ const ListNodeTypesRequest = {
71
+ page: {
72
+ greaterThanOrEqual: 1
73
+ },
74
+ pageSize: {
75
+ greaterThanOrEqual: 1,
76
+ lessThanOrEqual: 100
77
+ }
78
+ };
79
+ const ListSnapshotsRequest = {
80
+ name: {
81
+ maxLength: 255,
82
+ minLength: 1,
83
+ pattern: /^[A-Za-z0-9\-_]+$/
84
+ },
85
+ page: {
86
+ greaterThanOrEqual: 1
87
+ },
88
+ pageSize: {
89
+ greaterThanOrEqual: 1,
90
+ lessThanOrEqual: 100
91
+ }
92
+ };
93
+ const ListUsersRequest = {
94
+ name: {
95
+ maxLength: 63,
96
+ minLength: 1,
97
+ pattern: /^[a-zA-Z0-9_\-]*$/
98
+ },
99
+ page: {
100
+ greaterThanOrEqual: 1
101
+ },
102
+ pageSize: {
103
+ greaterThanOrEqual: 1,
104
+ lessThanOrEqual: 100
105
+ }
106
+ };
107
+ const ListVersionsRequest = {
108
+ page: {
109
+ greaterThanOrEqual: 1
110
+ },
111
+ pageSize: {
112
+ greaterThanOrEqual: 1,
113
+ lessThanOrEqual: 100
114
+ },
115
+ version: {
116
+ pattern: /^[0-9]+\.[0-9]+$/
117
+ }
118
+ };
119
+ const RestoreSnapshotRequest = {
120
+ instanceName: {
121
+ maxLength: 255,
122
+ minLength: 1,
123
+ pattern: /^[A-Za-z0-9\-_]+$/
124
+ },
125
+ nodeAmount: {
126
+ greaterThanOrEqual: 1,
127
+ lessThanOrEqual: 3
128
+ }
129
+ };
130
+ const SetUserRoleRequest = {
131
+ userName: {
132
+ maxLength: 63,
133
+ minLength: 1,
134
+ pattern: /^[a-zA-Z0-9_\-]*$/
135
+ }
136
+ };
137
+ const UpdateInstanceRequest = {
138
+ name: {
139
+ maxLength: 255,
140
+ minLength: 1,
141
+ pattern: /^[A-Za-z0-9\-_]+$/
142
+ },
143
+ snapshotScheduleFrequencyHours: {
144
+ greaterThanOrEqual: 1,
145
+ lessThanOrEqual: 24
146
+ },
147
+ snapshotScheduleRetentionDays: {
148
+ greaterThanOrEqual: 1,
149
+ lessThanOrEqual: 365
150
+ }
151
+ };
152
+ const UpdateSnapshotRequest = {
153
+ name: {
154
+ maxLength: 255,
155
+ minLength: 1,
156
+ pattern: /^[A-Za-z0-9\-_]+$/
157
+ }
158
+ };
159
+ const UpdateUserRequest = {
160
+ name: {
161
+ maxLength: 63,
162
+ minLength: 1,
163
+ pattern: /^[a-zA-Z0-9_\-]*$/
164
+ },
165
+ password: {
166
+ maxLength: 128,
167
+ minLength: 8
168
+ }
169
+ };
170
+ const Volume = {
171
+ sizeBytes: {
172
+ greaterThanOrEqual: 1e9
173
+ }
174
+ };
175
+ exports.CreateInstanceRequest = CreateInstanceRequest;
176
+ exports.CreateSnapshotRequest = CreateSnapshotRequest;
177
+ exports.CreateUserRequest = CreateUserRequest;
178
+ exports.DeleteUserRequest = DeleteUserRequest;
179
+ exports.ListInstancesRequest = ListInstancesRequest;
180
+ exports.ListNodeTypesRequest = ListNodeTypesRequest;
181
+ exports.ListSnapshotsRequest = ListSnapshotsRequest;
182
+ exports.ListUsersRequest = ListUsersRequest;
183
+ exports.ListVersionsRequest = ListVersionsRequest;
184
+ exports.RestoreSnapshotRequest = RestoreSnapshotRequest;
185
+ exports.SetUserRoleRequest = SetUserRoleRequest;
186
+ exports.UpdateInstanceRequest = UpdateInstanceRequest;
187
+ exports.UpdateSnapshotRequest = UpdateSnapshotRequest;
188
+ exports.UpdateUserRequest = UpdateUserRequest;
189
+ exports.Volume = Volume;
@@ -0,0 +1,172 @@
1
+ export declare const CreateInstanceRequest: {
2
+ name: {
3
+ maxLength: number;
4
+ minLength: number;
5
+ pattern: RegExp;
6
+ };
7
+ nodeAmount: {
8
+ greaterThanOrEqual: number;
9
+ lessThanOrEqual: number;
10
+ };
11
+ nodeType: {
12
+ maxLength: number;
13
+ minLength: number;
14
+ pattern: RegExp;
15
+ };
16
+ password: {
17
+ maxLength: number;
18
+ minLength: number;
19
+ };
20
+ userName: {
21
+ maxLength: number;
22
+ minLength: number;
23
+ pattern: RegExp;
24
+ };
25
+ version: {
26
+ pattern: RegExp;
27
+ };
28
+ };
29
+ export declare const CreateSnapshotRequest: {
30
+ name: {
31
+ maxLength: number;
32
+ minLength: number;
33
+ pattern: RegExp;
34
+ };
35
+ };
36
+ export declare const CreateUserRequest: {
37
+ name: {
38
+ maxLength: number;
39
+ minLength: number;
40
+ pattern: RegExp;
41
+ };
42
+ password: {
43
+ maxLength: number;
44
+ minLength: number;
45
+ };
46
+ };
47
+ export declare const DeleteUserRequest: {
48
+ name: {
49
+ maxLength: number;
50
+ minLength: number;
51
+ pattern: RegExp;
52
+ };
53
+ };
54
+ export declare const ListInstancesRequest: {
55
+ name: {
56
+ maxLength: number;
57
+ minLength: number;
58
+ pattern: RegExp;
59
+ };
60
+ page: {
61
+ greaterThanOrEqual: number;
62
+ };
63
+ pageSize: {
64
+ greaterThanOrEqual: number;
65
+ lessThanOrEqual: number;
66
+ };
67
+ };
68
+ export declare const ListNodeTypesRequest: {
69
+ page: {
70
+ greaterThanOrEqual: number;
71
+ };
72
+ pageSize: {
73
+ greaterThanOrEqual: number;
74
+ lessThanOrEqual: number;
75
+ };
76
+ };
77
+ export declare const ListSnapshotsRequest: {
78
+ name: {
79
+ maxLength: number;
80
+ minLength: number;
81
+ pattern: RegExp;
82
+ };
83
+ page: {
84
+ greaterThanOrEqual: number;
85
+ };
86
+ pageSize: {
87
+ greaterThanOrEqual: number;
88
+ lessThanOrEqual: number;
89
+ };
90
+ };
91
+ export declare const ListUsersRequest: {
92
+ name: {
93
+ maxLength: number;
94
+ minLength: number;
95
+ pattern: RegExp;
96
+ };
97
+ page: {
98
+ greaterThanOrEqual: number;
99
+ };
100
+ pageSize: {
101
+ greaterThanOrEqual: number;
102
+ lessThanOrEqual: number;
103
+ };
104
+ };
105
+ export declare const ListVersionsRequest: {
106
+ page: {
107
+ greaterThanOrEqual: number;
108
+ };
109
+ pageSize: {
110
+ greaterThanOrEqual: number;
111
+ lessThanOrEqual: number;
112
+ };
113
+ version: {
114
+ pattern: RegExp;
115
+ };
116
+ };
117
+ export declare const RestoreSnapshotRequest: {
118
+ instanceName: {
119
+ maxLength: number;
120
+ minLength: number;
121
+ pattern: RegExp;
122
+ };
123
+ nodeAmount: {
124
+ greaterThanOrEqual: number;
125
+ lessThanOrEqual: number;
126
+ };
127
+ };
128
+ export declare const SetUserRoleRequest: {
129
+ userName: {
130
+ maxLength: number;
131
+ minLength: number;
132
+ pattern: RegExp;
133
+ };
134
+ };
135
+ export declare const UpdateInstanceRequest: {
136
+ name: {
137
+ maxLength: number;
138
+ minLength: number;
139
+ pattern: RegExp;
140
+ };
141
+ snapshotScheduleFrequencyHours: {
142
+ greaterThanOrEqual: number;
143
+ lessThanOrEqual: number;
144
+ };
145
+ snapshotScheduleRetentionDays: {
146
+ greaterThanOrEqual: number;
147
+ lessThanOrEqual: number;
148
+ };
149
+ };
150
+ export declare const UpdateSnapshotRequest: {
151
+ name: {
152
+ maxLength: number;
153
+ minLength: number;
154
+ pattern: RegExp;
155
+ };
156
+ };
157
+ export declare const UpdateUserRequest: {
158
+ name: {
159
+ maxLength: number;
160
+ minLength: number;
161
+ pattern: RegExp;
162
+ };
163
+ password: {
164
+ maxLength: number;
165
+ minLength: number;
166
+ };
167
+ };
168
+ export declare const Volume: {
169
+ sizeBytes: {
170
+ greaterThanOrEqual: number;
171
+ };
172
+ };
@@ -0,0 +1,189 @@
1
+ const CreateInstanceRequest = {
2
+ name: {
3
+ maxLength: 255,
4
+ minLength: 1,
5
+ pattern: /^[A-Za-z0-9\-_]+$/
6
+ },
7
+ nodeAmount: {
8
+ greaterThanOrEqual: 1,
9
+ lessThanOrEqual: 3
10
+ },
11
+ nodeType: {
12
+ maxLength: 128,
13
+ minLength: 1,
14
+ pattern: /^[A-Za-z0-9\-_]+$/
15
+ },
16
+ password: {
17
+ maxLength: 128,
18
+ minLength: 8
19
+ },
20
+ userName: {
21
+ maxLength: 63,
22
+ minLength: 1,
23
+ pattern: /^[a-zA-Z0-9_\-]*$/
24
+ },
25
+ version: {
26
+ pattern: /^[0-9]+\.[0-9]+$/
27
+ }
28
+ };
29
+ const CreateSnapshotRequest = {
30
+ name: {
31
+ maxLength: 255,
32
+ minLength: 1,
33
+ pattern: /^[A-Za-z0-9\-_]+$/
34
+ }
35
+ };
36
+ const CreateUserRequest = {
37
+ name: {
38
+ maxLength: 63,
39
+ minLength: 1,
40
+ pattern: /^[a-zA-Z0-9_\-]*$/
41
+ },
42
+ password: {
43
+ maxLength: 128,
44
+ minLength: 8
45
+ }
46
+ };
47
+ const DeleteUserRequest = {
48
+ name: {
49
+ maxLength: 63,
50
+ minLength: 1,
51
+ pattern: /^[a-zA-Z0-9_\-]*$/
52
+ }
53
+ };
54
+ const ListInstancesRequest = {
55
+ name: {
56
+ maxLength: 255,
57
+ minLength: 1,
58
+ pattern: /^[A-Za-z0-9\-_]+$/
59
+ },
60
+ page: {
61
+ greaterThanOrEqual: 1
62
+ },
63
+ pageSize: {
64
+ greaterThanOrEqual: 1,
65
+ lessThanOrEqual: 100
66
+ }
67
+ };
68
+ const ListNodeTypesRequest = {
69
+ page: {
70
+ greaterThanOrEqual: 1
71
+ },
72
+ pageSize: {
73
+ greaterThanOrEqual: 1,
74
+ lessThanOrEqual: 100
75
+ }
76
+ };
77
+ const ListSnapshotsRequest = {
78
+ name: {
79
+ maxLength: 255,
80
+ minLength: 1,
81
+ pattern: /^[A-Za-z0-9\-_]+$/
82
+ },
83
+ page: {
84
+ greaterThanOrEqual: 1
85
+ },
86
+ pageSize: {
87
+ greaterThanOrEqual: 1,
88
+ lessThanOrEqual: 100
89
+ }
90
+ };
91
+ const ListUsersRequest = {
92
+ name: {
93
+ maxLength: 63,
94
+ minLength: 1,
95
+ pattern: /^[a-zA-Z0-9_\-]*$/
96
+ },
97
+ page: {
98
+ greaterThanOrEqual: 1
99
+ },
100
+ pageSize: {
101
+ greaterThanOrEqual: 1,
102
+ lessThanOrEqual: 100
103
+ }
104
+ };
105
+ const ListVersionsRequest = {
106
+ page: {
107
+ greaterThanOrEqual: 1
108
+ },
109
+ pageSize: {
110
+ greaterThanOrEqual: 1,
111
+ lessThanOrEqual: 100
112
+ },
113
+ version: {
114
+ pattern: /^[0-9]+\.[0-9]+$/
115
+ }
116
+ };
117
+ const RestoreSnapshotRequest = {
118
+ instanceName: {
119
+ maxLength: 255,
120
+ minLength: 1,
121
+ pattern: /^[A-Za-z0-9\-_]+$/
122
+ },
123
+ nodeAmount: {
124
+ greaterThanOrEqual: 1,
125
+ lessThanOrEqual: 3
126
+ }
127
+ };
128
+ const SetUserRoleRequest = {
129
+ userName: {
130
+ maxLength: 63,
131
+ minLength: 1,
132
+ pattern: /^[a-zA-Z0-9_\-]*$/
133
+ }
134
+ };
135
+ const UpdateInstanceRequest = {
136
+ name: {
137
+ maxLength: 255,
138
+ minLength: 1,
139
+ pattern: /^[A-Za-z0-9\-_]+$/
140
+ },
141
+ snapshotScheduleFrequencyHours: {
142
+ greaterThanOrEqual: 1,
143
+ lessThanOrEqual: 24
144
+ },
145
+ snapshotScheduleRetentionDays: {
146
+ greaterThanOrEqual: 1,
147
+ lessThanOrEqual: 365
148
+ }
149
+ };
150
+ const UpdateSnapshotRequest = {
151
+ name: {
152
+ maxLength: 255,
153
+ minLength: 1,
154
+ pattern: /^[A-Za-z0-9\-_]+$/
155
+ }
156
+ };
157
+ const UpdateUserRequest = {
158
+ name: {
159
+ maxLength: 63,
160
+ minLength: 1,
161
+ pattern: /^[a-zA-Z0-9_\-]*$/
162
+ },
163
+ password: {
164
+ maxLength: 128,
165
+ minLength: 8
166
+ }
167
+ };
168
+ const Volume = {
169
+ sizeBytes: {
170
+ greaterThanOrEqual: 1e9
171
+ }
172
+ };
173
+ export {
174
+ CreateInstanceRequest,
175
+ CreateSnapshotRequest,
176
+ CreateUserRequest,
177
+ DeleteUserRequest,
178
+ ListInstancesRequest,
179
+ ListNodeTypesRequest,
180
+ ListSnapshotsRequest,
181
+ ListUsersRequest,
182
+ ListVersionsRequest,
183
+ RestoreSnapshotRequest,
184
+ SetUserRoleRequest,
185
+ UpdateInstanceRequest,
186
+ UpdateSnapshotRequest,
187
+ UpdateUserRequest,
188
+ Volume
189
+ };
@@ -7,8 +7,13 @@ const jsonContentHeaders = {
7
7
  "Content-Type": "application/json; charset=utf-8"
8
8
  };
9
9
  class API extends sdkClient.API {
10
- /** Lists the available regions of the API. */
11
- static LOCALITIES = ["fr-par"];
10
+ /**
11
+ * Locality of this API.
12
+ * type ∈ {'zone','region','global','unspecified'}
13
+ */
14
+ static LOCALITY = sdkClient.toApiLocality({
15
+ regions: ["fr-par"]
16
+ });
12
17
  pageOfListNodeTypes = (request = {}) => this.client.fetch(
13
18
  {
14
19
  method: "GET",
@@ -1,5 +1,5 @@
1
1
  import { API as ParentAPI } from '@scaleway/sdk-client';
2
- import type { Region as ScwRegion, WaitForOptions } from '@scaleway/sdk-client';
2
+ import type { ApiLocality, WaitForOptions } from '@scaleway/sdk-client';
3
3
  import type { CreateEndpointRequest, CreateInstanceRequest, CreateSnapshotRequest, CreateUserRequest, DeleteEndpointRequest, DeleteInstanceRequest, DeleteSnapshotRequest, DeleteUserRequest, Endpoint, GetInstanceCertificateRequest, GetInstanceRequest, GetSnapshotRequest, Instance, ListInstancesRequest, ListInstancesResponse, ListNodeTypesRequest, ListNodeTypesResponse, ListSnapshotsRequest, ListSnapshotsResponse, ListUsersRequest, ListUsersResponse, ListVersionsRequest, ListVersionsResponse, RestoreSnapshotRequest, SetUserRoleRequest, Snapshot, UpdateInstanceRequest, UpdateSnapshotRequest, UpdateUserRequest, UpgradeInstanceRequest, User } from './types.gen';
4
4
  /**
5
5
  * Managed MongoDB®.
@@ -7,8 +7,11 @@ import type { CreateEndpointRequest, CreateInstanceRequest, CreateSnapshotReques
7
7
  This API allows you to manage your Managed Databases for MongoDB®.
8
8
  */
9
9
  export declare class API extends ParentAPI {
10
- /** Lists the available regions of the API. */
11
- static readonly LOCALITIES: ScwRegion[];
10
+ /**
11
+ * Locality of this API.
12
+ * type ∈ {'zone','region','global','unspecified'}
13
+ */
14
+ static readonly LOCALITY: ApiLocality;
12
15
  protected pageOfListNodeTypes: (request?: Readonly<ListNodeTypesRequest>) => Promise<ListNodeTypesResponse>;
13
16
  /**
14
17
  * List available node types.
@@ -1,12 +1,17 @@
1
- import { API as API$1, urlParams, validatePathParam, enrichForPagination, waitForResource } from "@scaleway/sdk-client";
1
+ import { API as API$1, toApiLocality, urlParams, validatePathParam, enrichForPagination, waitForResource } from "@scaleway/sdk-client";
2
2
  import { INSTANCE_TRANSIENT_STATUSES, SNAPSHOT_TRANSIENT_STATUSES } from "./content.gen.js";
3
3
  import { unmarshalListNodeTypesResponse, unmarshalListVersionsResponse, unmarshalListInstancesResponse, unmarshalInstance, marshalCreateInstanceRequest, marshalUpdateInstanceRequest, marshalUpgradeInstanceRequest, marshalCreateSnapshotRequest, unmarshalSnapshot, marshalUpdateSnapshotRequest, marshalRestoreSnapshotRequest, unmarshalListSnapshotsResponse, unmarshalListUsersResponse, marshalCreateUserRequest, unmarshalUser, marshalUpdateUserRequest, marshalSetUserRoleRequest, marshalCreateEndpointRequest, unmarshalEndpoint } from "./marshalling.gen.js";
4
4
  const jsonContentHeaders = {
5
5
  "Content-Type": "application/json; charset=utf-8"
6
6
  };
7
7
  class API extends API$1 {
8
- /** Lists the available regions of the API. */
9
- static LOCALITIES = ["fr-par"];
8
+ /**
9
+ * Locality of this API.
10
+ * type ∈ {'zone','region','global','unspecified'}
11
+ */
12
+ static LOCALITY = toApiLocality({
13
+ regions: ["fr-par"]
14
+ });
10
15
  pageOfListNodeTypes = (request = {}) => this.client.fetch(
11
16
  {
12
17
  method: "GET",
@@ -1,5 +1,5 @@
1
1
  export { API } from './api.gen';
2
2
  export * from './content.gen';
3
3
  export * from './marshalling.gen';
4
- export type { CreateEndpointRequest, CreateInstanceRequest, CreateInstanceRequestVolumeDetails, CreateSnapshotRequest, CreateUserRequest, DeleteEndpointRequest, DeleteInstanceRequest, DeleteSnapshotRequest, DeleteUserRequest, Endpoint, EndpointPrivateNetworkDetails, EndpointPublicDetails, EndpointSpec, EndpointSpecPrivateNetworkDetails, EndpointSpecPublicDetails, GetInstanceCertificateRequest, GetInstanceRequest, GetSnapshotRequest, Instance, InstanceSetting, InstanceStatus, ListInstancesRequest, ListInstancesRequestOrderBy, ListInstancesResponse, ListNodeTypesRequest, ListNodeTypesResponse, ListSnapshotsRequest, ListSnapshotsRequestOrderBy, ListSnapshotsResponse, ListUsersRequest, ListUsersRequestOrderBy, ListUsersResponse, ListVersionsRequest, ListVersionsResponse, NodeType, NodeTypeStock, NodeTypeVolumeType, RestoreSnapshotRequest, RestoreSnapshotRequestVolumeDetails, SetUserRoleRequest, Setting, SettingPropertyType, Snapshot, SnapshotStatus, SnapshotVolumeType, UpdateInstanceRequest, UpdateSnapshotRequest, UpdateUserRequest, UpgradeInstanceRequest, User, UserRole, UserRoleRole, Version, Volume, VolumeType, } from './types.gen';
4
+ export type { CreateEndpointRequest, CreateInstanceRequest, CreateInstanceRequestVolumeDetails, CreateSnapshotRequest, CreateUserRequest, DeleteEndpointRequest, DeleteInstanceRequest, DeleteSnapshotRequest, DeleteUserRequest, Endpoint, EndpointPrivateNetworkDetails, EndpointPublicDetails, EndpointSpec, EndpointSpecPrivateNetworkDetails, EndpointSpecPublicDetails, GetInstanceCertificateRequest, GetInstanceRequest, GetSnapshotRequest, Instance, InstanceSetting, InstanceSnapshotSchedule, InstanceStatus, ListInstancesRequest, ListInstancesRequestOrderBy, ListInstancesResponse, ListNodeTypesRequest, ListNodeTypesResponse, ListSnapshotsRequest, ListSnapshotsRequestOrderBy, ListSnapshotsResponse, ListUsersRequest, ListUsersRequestOrderBy, ListUsersResponse, ListVersionsRequest, ListVersionsResponse, NodeType, NodeTypeStock, NodeTypeVolumeType, RestoreSnapshotRequest, RestoreSnapshotRequestVolumeDetails, SetUserRoleRequest, Setting, SettingPropertyType, Snapshot, SnapshotStatus, SnapshotVolumeType, UpdateInstanceRequest, UpdateSnapshotRequest, UpdateUserRequest, UpgradeInstanceRequest, User, UserRole, UserRoleRole, Version, Volume, VolumeType, } from './types.gen';
5
5
  export * as ValidationRules from './validation-rules.gen';
@@ -46,6 +46,20 @@ const unmarshalInstanceSetting = (data) => {
46
46
  value: data.value
47
47
  };
48
48
  };
49
+ const unmarshalInstanceSnapshotSchedule = (data) => {
50
+ if (!sdkClient.isJSONObject(data)) {
51
+ throw new TypeError(
52
+ `Unmarshalling the type 'InstanceSnapshotSchedule' failed as data isn't a dictionary.`
53
+ );
54
+ }
55
+ return {
56
+ enabled: data.enabled,
57
+ frequencyHours: data.frequency_hours,
58
+ lastRun: sdkClient.unmarshalDate(data.last_run),
59
+ nextUpdate: sdkClient.unmarshalDate(data.next_update),
60
+ retentionDays: data.retention_days
61
+ };
62
+ };
49
63
  const unmarshalVolume = (data) => {
50
64
  if (!sdkClient.isJSONObject(data)) {
51
65
  throw new TypeError(
@@ -73,6 +87,7 @@ const unmarshalInstance = (data) => {
73
87
  projectId: data.project_id,
74
88
  region: data.region,
75
89
  settings: sdkClient.unmarshalArrayOfObject(data.settings, unmarshalInstanceSetting),
90
+ snapshotSchedule: data.snapshot_schedule ? unmarshalInstanceSnapshotSchedule(data.snapshot_schedule) : void 0,
76
91
  status: data.status,
77
92
  tags: data.tags,
78
93
  version: data.version,
@@ -44,6 +44,20 @@ const unmarshalInstanceSetting = (data) => {
44
44
  value: data.value
45
45
  };
46
46
  };
47
+ const unmarshalInstanceSnapshotSchedule = (data) => {
48
+ if (!isJSONObject(data)) {
49
+ throw new TypeError(
50
+ `Unmarshalling the type 'InstanceSnapshotSchedule' failed as data isn't a dictionary.`
51
+ );
52
+ }
53
+ return {
54
+ enabled: data.enabled,
55
+ frequencyHours: data.frequency_hours,
56
+ lastRun: unmarshalDate(data.last_run),
57
+ nextUpdate: unmarshalDate(data.next_update),
58
+ retentionDays: data.retention_days
59
+ };
60
+ };
47
61
  const unmarshalVolume = (data) => {
48
62
  if (!isJSONObject(data)) {
49
63
  throw new TypeError(
@@ -71,6 +85,7 @@ const unmarshalInstance = (data) => {
71
85
  projectId: data.project_id,
72
86
  region: data.region,
73
87
  settings: unmarshalArrayOfObject(data.settings, unmarshalInstanceSetting),
88
+ snapshotSchedule: data.snapshot_schedule ? unmarshalInstanceSnapshotSchedule(data.snapshot_schedule) : void 0,
74
89
  status: data.status,
75
90
  tags: data.tags,
76
91
  version: data.version,
@@ -67,6 +67,13 @@ export interface InstanceSetting {
67
67
  */
68
68
  value: string;
69
69
  }
70
+ export interface InstanceSnapshotSchedule {
71
+ frequencyHours: number;
72
+ retentionDays: number;
73
+ enabled: boolean;
74
+ nextUpdate?: Date;
75
+ lastRun?: Date;
76
+ }
70
77
  export interface Volume {
71
78
  /**
72
79
  * Type of volume where data is stored.
@@ -237,6 +244,10 @@ export interface Instance {
237
244
  * Creation date (must follow the ISO 8601 format).
238
245
  */
239
246
  createdAt?: Date;
247
+ /**
248
+ * Snapshot schedule configuration of the Database Instance.
249
+ */
250
+ snapshotSchedule?: InstanceSnapshotSchedule;
240
251
  /**
241
252
  * Region the Database Instance is in.
242
253
  */