@scaleway/sdk 3.0.0-alpha.0 → 3.1.1

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 (214) hide show
  1. package/dist/index.gen.d.ts +362 -0
  2. package/dist/index.gen.js +323 -0
  3. package/package.json +71 -25
  4. package/README.md +0 -46
  5. package/dist/api/account/index.js +0 -4
  6. package/dist/api/account/v2/api.gen.js +0 -147
  7. package/dist/api/account/v2/index.gen.js +0 -4
  8. package/dist/api/account/v2/marshalling.gen.js +0 -39
  9. package/dist/api/account/v3/api.gen.js +0 -129
  10. package/dist/api/account/v3/index.gen.js +0 -6
  11. package/dist/api/account/v3/marshalling.gen.js +0 -39
  12. package/dist/api/account/v3/validation-rules.gen.js +0 -39
  13. package/dist/api/applesilicon/index.js +0 -2
  14. package/dist/api/applesilicon/v1alpha1/api.gen.js +0 -220
  15. package/dist/api/applesilicon/v1alpha1/content.gen.js +0 -7
  16. package/dist/api/applesilicon/v1alpha1/index.gen.js +0 -5
  17. package/dist/api/applesilicon/v1alpha1/marshalling.gen.js +0 -113
  18. package/dist/api/baremetal/index.js +0 -2
  19. package/dist/api/baremetal/v1/api.gen.js +0 -523
  20. package/dist/api/baremetal/v1/api.utils.js +0 -27
  21. package/dist/api/baremetal/v1/content.gen.js +0 -13
  22. package/dist/api/baremetal/v1/index.js +0 -5
  23. package/dist/api/baremetal/v1/marshalling.gen.js +0 -395
  24. package/dist/api/baremetal/v1/validation-rules.gen.js +0 -109
  25. package/dist/api/billing/index.js +0 -2
  26. package/dist/api/billing/v2alpha1/api.gen.js +0 -80
  27. package/dist/api/billing/v2alpha1/index.gen.js +0 -4
  28. package/dist/api/billing/v2alpha1/marshalling.gen.js +0 -53
  29. package/dist/api/block/index.js +0 -2
  30. package/dist/api/block/v1alpha1/api.gen.js +0 -245
  31. package/dist/api/block/v1alpha1/content.gen.js +0 -13
  32. package/dist/api/block/v1alpha1/index.gen.js +0 -7
  33. package/dist/api/block/v1alpha1/marshalling.gen.js +0 -175
  34. package/dist/api/block/v1alpha1/validation-rules.gen.js +0 -42
  35. package/dist/api/cockpit/index.js +0 -2
  36. package/dist/api/cockpit/v1beta1/api.gen.js +0 -448
  37. package/dist/api/cockpit/v1beta1/content.gen.js +0 -7
  38. package/dist/api/cockpit/v1beta1/index.gen.js +0 -5
  39. package/dist/api/cockpit/v1beta1/marshalling.gen.js +0 -220
  40. package/dist/api/container/index.js +0 -2
  41. package/dist/api/container/v1beta1/api.gen.js +0 -549
  42. package/dist/api/container/v1beta1/content.gen.js +0 -22
  43. package/dist/api/container/v1beta1/index.gen.js +0 -5
  44. package/dist/api/container/v1beta1/marshalling.gen.js +0 -330
  45. package/dist/api/document_db/index.js +0 -2
  46. package/dist/api/document_db/v1beta1/api.gen.js +0 -830
  47. package/dist/api/document_db/v1beta1/content.gen.js +0 -19
  48. package/dist/api/document_db/v1beta1/index.gen.js +0 -7
  49. package/dist/api/document_db/v1beta1/marshalling.gen.js +0 -580
  50. package/dist/api/document_db/v1beta1/validation-rules.gen.js +0 -10
  51. package/dist/api/domain/index.js +0 -2
  52. package/dist/api/domain/v2beta1/api.gen.js +0 -875
  53. package/dist/api/domain/v2beta1/content.gen.js +0 -28
  54. package/dist/api/domain/v2beta1/index.gen.js +0 -7
  55. package/dist/api/domain/v2beta1/marshalling.gen.js +0 -958
  56. package/dist/api/flexibleip/index.js +0 -2
  57. package/dist/api/flexibleip/v1alpha1/api.gen.js +0 -203
  58. package/dist/api/flexibleip/v1alpha1/content.gen.js +0 -10
  59. package/dist/api/flexibleip/v1alpha1/index.gen.js +0 -7
  60. package/dist/api/flexibleip/v1alpha1/marshalling.gen.js +0 -97
  61. package/dist/api/flexibleip/v1alpha1/validation-rules.gen.js +0 -14
  62. package/dist/api/function/index.js +0 -2
  63. package/dist/api/function/v1beta1/api.gen.js +0 -560
  64. package/dist/api/function/v1beta1/content.gen.js +0 -22
  65. package/dist/api/function/v1beta1/index.gen.js +0 -5
  66. package/dist/api/function/v1beta1/marshalling.gen.js +0 -368
  67. package/dist/api/iam/index.js +0 -2
  68. package/dist/api/iam/v1alpha1/api.gen.js +0 -799
  69. package/dist/api/iam/v1alpha1/index.gen.js +0 -6
  70. package/dist/api/iam/v1alpha1/marshalling.gen.js +0 -373
  71. package/dist/api/iam/v1alpha1/validation-rules.gen.js +0 -207
  72. package/dist/api/instance/index.js +0 -2
  73. package/dist/api/instance/v1/api.gen.js +0 -1003
  74. package/dist/api/instance/v1/api.utils.js +0 -369
  75. package/dist/api/instance/v1/content.gen.js +0 -31
  76. package/dist/api/instance/v1/index.js +0 -2
  77. package/dist/api/instance/v1/marshalling.gen.js +0 -1206
  78. package/dist/api/instance/v1/marshalling.utils.js +0 -63
  79. package/dist/api/iot/index.js +0 -2
  80. package/dist/api/iot/v1/api.gen.js +0 -581
  81. package/dist/api/iot/v1/content.gen.js +0 -7
  82. package/dist/api/iot/v1/index.gen.js +0 -5
  83. package/dist/api/iot/v1/marshalling.gen.js +0 -388
  84. package/dist/api/ipfs/index.js +0 -2
  85. package/dist/api/ipfs/v1alpha1/api.gen.js +0 -197
  86. package/dist/api/ipfs/v1alpha1/content.gen.js +0 -7
  87. package/dist/api/ipfs/v1alpha1/index.gen.js +0 -5
  88. package/dist/api/ipfs/v1alpha1/marshalling.gen.js +0 -121
  89. package/dist/api/k8s/index.js +0 -2
  90. package/dist/api/k8s/v1/api.gen.js +0 -454
  91. package/dist/api/k8s/v1/api.utils.js +0 -13
  92. package/dist/api/k8s/v1/content.gen.js +0 -13
  93. package/dist/api/k8s/v1/index.js +0 -4
  94. package/dist/api/k8s/v1/marshalling.gen.js +0 -333
  95. package/dist/api/k8s/v1/validation-rules.gen.js +0 -101
  96. package/dist/api/lb/index.js +0 -2
  97. package/dist/api/lb/v1/api.gen.js +0 -1669
  98. package/dist/api/lb/v1/api.utils.js +0 -81
  99. package/dist/api/lb/v1/content.gen.js +0 -16
  100. package/dist/api/lb/v1/index.js +0 -2
  101. package/dist/api/lb/v1/marshalling.gen.js +0 -923
  102. package/dist/api/marketplace/index.js +0 -4
  103. package/dist/api/marketplace/v1/api.gen.js +0 -60
  104. package/dist/api/marketplace/v1/index.gen.js +0 -4
  105. package/dist/api/marketplace/v1/marshalling.gen.js +0 -92
  106. package/dist/api/marketplace/v2/api.gen.js +0 -162
  107. package/dist/api/marketplace/v2/index.gen.js +0 -4
  108. package/dist/api/marketplace/v2/marshalling.gen.js +0 -94
  109. package/dist/api/mnq/index.js +0 -2
  110. package/dist/api/mnq/v1alpha1/api.gen.js +0 -205
  111. package/dist/api/mnq/v1alpha1/index.gen.js +0 -4
  112. package/dist/api/mnq/v1alpha1/marshalling.gen.js +0 -121
  113. package/dist/api/rdb/index.js +0 -2
  114. package/dist/api/rdb/v1/api.gen.js +0 -972
  115. package/dist/api/rdb/v1/content.gen.js +0 -22
  116. package/dist/api/rdb/v1/index.gen.js +0 -7
  117. package/dist/api/rdb/v1/marshalling.gen.js +0 -636
  118. package/dist/api/rdb/v1/validation-rules.gen.js +0 -10
  119. package/dist/api/redis/index.js +0 -2
  120. package/dist/api/redis/v1/api.gen.js +0 -389
  121. package/dist/api/redis/v1/content.gen.js +0 -7
  122. package/dist/api/redis/v1/index.gen.js +0 -5
  123. package/dist/api/redis/v1/marshalling.gen.js +0 -259
  124. package/dist/api/registry/index.js +0 -2
  125. package/dist/api/registry/v1/api.gen.js +0 -252
  126. package/dist/api/registry/v1/content.gen.js +0 -13
  127. package/dist/api/registry/v1/index.gen.js +0 -5
  128. package/dist/api/registry/v1/marshalling.gen.js +0 -106
  129. package/dist/api/secret/index.js +0 -2
  130. package/dist/api/secret/v1alpha1/api.gen.js +0 -415
  131. package/dist/api/secret/v1alpha1/index.gen.js +0 -4
  132. package/dist/api/secret/v1alpha1/marshalling.gen.js +0 -143
  133. package/dist/api/tem/index.js +0 -2
  134. package/dist/api/tem/v1alpha1/api.gen.js +0 -229
  135. package/dist/api/tem/v1alpha1/content.gen.js +0 -10
  136. package/dist/api/tem/v1alpha1/index.gen.js +0 -5
  137. package/dist/api/tem/v1alpha1/marshalling.gen.js +0 -159
  138. package/dist/api/test/index.js +0 -2
  139. package/dist/api/test/v1/api.gen.js +0 -152
  140. package/dist/api/test/v1/content.gen.js +0 -7
  141. package/dist/api/test/v1/index.gen.js +0 -5
  142. package/dist/api/test/v1/marshalling.gen.js +0 -79
  143. package/dist/api/vpc/index.js +0 -4
  144. package/dist/api/vpc/v1/api.gen.js +0 -110
  145. package/dist/api/vpc/v1/index.gen.js +0 -4
  146. package/dist/api/vpc/v1/marshalling.gen.js +0 -44
  147. package/dist/api/vpc/v2/api.gen.js +0 -276
  148. package/dist/api/vpc/v2/index.gen.js +0 -4
  149. package/dist/api/vpc/v2/marshalling.gen.js +0 -135
  150. package/dist/api/vpcgw/index.js +0 -2
  151. package/dist/api/vpcgw/v1/api.gen.js +0 -669
  152. package/dist/api/vpcgw/v1/content.gen.js +0 -10
  153. package/dist/api/vpcgw/v1/index.gen.js +0 -5
  154. package/dist/api/vpcgw/v1/marshalling.gen.js +0 -336
  155. package/dist/api/webhosting/index.js +0 -2
  156. package/dist/api/webhosting/v1alpha1/api.gen.js +0 -210
  157. package/dist/api/webhosting/v1alpha1/content.gen.js +0 -7
  158. package/dist/api/webhosting/v1alpha1/index.gen.js +0 -7
  159. package/dist/api/webhosting/v1alpha1/marshalling.gen.js +0 -173
  160. package/dist/api/webhosting/v1alpha1/validation-rules.gen.js +0 -23
  161. package/dist/helpers/is-browser.js +0 -5
  162. package/dist/helpers/is-response.js +0 -10
  163. package/dist/helpers/json.js +0 -11
  164. package/dist/helpers/marshalling.js +0 -130
  165. package/dist/index.cjs +0 -24364
  166. package/dist/index.d.ts +0 -27584
  167. package/dist/index.js +0 -69
  168. package/dist/internal/async/interval-retrier.js +0 -105
  169. package/dist/internal/async/sleep.js +0 -13
  170. package/dist/internal/interceptors/composer.js +0 -46
  171. package/dist/internal/interceptors/helpers.js +0 -32
  172. package/dist/internal/logger/console-logger.js +0 -38
  173. package/dist/internal/logger/index.js +0 -41
  174. package/dist/internal/logger/level-resolver.js +0 -13
  175. package/dist/internal/validations/string-validation.js +0 -38
  176. package/dist/node_modules/.pnpm/@scaleway_random-name@4.0.2/node_modules/@scaleway/random-name/dist/index.js +0 -13
  177. package/dist/scw/api.js +0 -12
  178. package/dist/scw/auth.js +0 -68
  179. package/dist/scw/client-ini-factory.js +0 -174
  180. package/dist/scw/client-ini-profile.js +0 -54
  181. package/dist/scw/client-settings.js +0 -78
  182. package/dist/scw/client.js +0 -98
  183. package/dist/scw/constants.js +0 -4
  184. package/dist/scw/custom-marshalling.js +0 -131
  185. package/dist/scw/errors/error-parser.js +0 -107
  186. package/dist/scw/errors/non-standard/invalid-request-mapper.js +0 -36
  187. package/dist/scw/errors/non-standard/unknown-resource-mapper.js +0 -27
  188. package/dist/scw/errors/scw-error.js +0 -66
  189. package/dist/scw/errors/standard/already-exists-error.js +0 -26
  190. package/dist/scw/errors/standard/denied-authentication-error.js +0 -52
  191. package/dist/scw/errors/standard/index.js +0 -13
  192. package/dist/scw/errors/standard/invalid-arguments-error.js +0 -67
  193. package/dist/scw/errors/standard/out-of-stock-error.js +0 -22
  194. package/dist/scw/errors/standard/permissions-denied-error.js +0 -48
  195. package/dist/scw/errors/standard/precondition-failed-error.js +0 -42
  196. package/dist/scw/errors/standard/quotas-exceeded-error.js +0 -68
  197. package/dist/scw/errors/standard/resource-expired-error.js +0 -26
  198. package/dist/scw/errors/standard/resource-locked-error.js +0 -25
  199. package/dist/scw/errors/standard/resource-not-found-error.js +0 -25
  200. package/dist/scw/errors/standard/too-many-requests-error.js +0 -70
  201. package/dist/scw/errors/standard/transient-state-error.js +0 -26
  202. package/dist/scw/errors/types.js +0 -23
  203. package/dist/scw/fetch/build-fetcher.js +0 -72
  204. package/dist/scw/fetch/http-dumper.js +0 -54
  205. package/dist/scw/fetch/http-interceptors.js +0 -99
  206. package/dist/scw/fetch/resource-paginator.js +0 -84
  207. package/dist/scw/fetch/response-parser.js +0 -72
  208. package/node_modules/@scaleway/random-name/.npmignore +0 -4
  209. package/node_modules/@scaleway/random-name/CHANGELOG.md +0 -129
  210. package/node_modules/@scaleway/random-name/LICENSE.md +0 -21
  211. package/node_modules/@scaleway/random-name/README.md +0 -26
  212. package/node_modules/@scaleway/random-name/dist/index.d.ts +0 -3
  213. package/node_modules/@scaleway/random-name/dist/index.js +0 -13
  214. package/node_modules/@scaleway/random-name/package.json +0 -23
@@ -1,972 +0,0 @@
1
- import { waitForResource } from '../../../internal/async/interval-retrier.js';
2
- import { API as API$1 } from '../../../scw/api.js';
3
- import { validatePathParam, urlParams } from '../../../helpers/marshalling.js';
4
- import { enrichForPagination } from '../../../scw/fetch/resource-paginator.js';
5
- import { DATABASE_BACKUP_TRANSIENT_STATUSES, INSTANCE_TRANSIENT_STATUSES, READ_REPLICA_TRANSIENT_STATUSES, INSTANCE_LOG_TRANSIENT_STATUSES, SNAPSHOT_TRANSIENT_STATUSES } from './content.gen.js';
6
- import { unmarshalListDatabaseEnginesResponse, unmarshalListNodeTypesResponse, unmarshalListDatabaseBackupsResponse, marshalCreateDatabaseBackupRequest, unmarshalDatabaseBackup, marshalUpdateDatabaseBackupRequest, marshalRestoreDatabaseBackupRequest, marshalUpgradeInstanceRequest, unmarshalInstance, unmarshalListInstancesResponse, marshalCreateInstanceRequest, marshalUpdateInstanceRequest, marshalCloneInstanceRequest, unmarshalInstanceMetrics, marshalCreateReadReplicaRequest, unmarshalReadReplica, marshalCreateReadReplicaEndpointRequest, marshalPrepareInstanceLogsRequest, unmarshalPrepareInstanceLogsResponse, unmarshalListInstanceLogsResponse, unmarshalInstanceLog, marshalPurgeInstanceLogsRequest, unmarshalListInstanceLogsDetailsResponse, marshalAddInstanceSettingsRequest, unmarshalAddInstanceSettingsResponse, marshalDeleteInstanceSettingsRequest, unmarshalDeleteInstanceSettingsResponse, marshalSetInstanceSettingsRequest, unmarshalSetInstanceSettingsResponse, unmarshalListInstanceACLRulesResponse, marshalAddInstanceACLRulesRequest, unmarshalAddInstanceACLRulesResponse, marshalSetInstanceACLRulesRequest, unmarshalSetInstanceACLRulesResponse, marshalDeleteInstanceACLRulesRequest, unmarshalDeleteInstanceACLRulesResponse, unmarshalListUsersResponse, marshalCreateUserRequest, unmarshalUser, marshalUpdateUserRequest, unmarshalListDatabasesResponse, marshalCreateDatabaseRequest, unmarshalDatabase, unmarshalListPrivilegesResponse, marshalSetPrivilegeRequest, unmarshalPrivilege, unmarshalListSnapshotsResponse, unmarshalSnapshot, marshalCreateSnapshotRequest, marshalUpdateSnapshotRequest, marshalCreateInstanceFromSnapshotRequest, marshalCreateEndpointRequest, unmarshalEndpoint, marshalMigrateEndpointRequest } from './marshalling.gen.js';
7
-
8
- // This file was automatically generated. DO NOT EDIT.
9
- // If you have any remark or suggestion do not hesitate to open an issue.
10
- const jsonContentHeaders = {
11
- 'Content-Type': 'application/json; charset=utf-8'
12
- };
13
-
14
- /** Managed Database for PostgreSQL and MySQL API. */
15
- class API extends API$1 {
16
- /** Lists the available regions of the API. */
17
- static LOCALITIES = ['fr-par', 'nl-ams', 'pl-waw'];
18
- pageOfListDatabaseEngines = (() => {
19
- var _this = this;
20
- return function (request) {
21
- if (request === void 0) {
22
- request = {};
23
- }
24
- return _this.client.fetch({
25
- method: 'GET',
26
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? _this.client.settings.defaultRegion)}/database-engines`,
27
- urlParams: urlParams(['name', request.name], ['page', request.page], ['page_size', request.pageSize ?? _this.client.settings.defaultPageSize], ['version', request.version])
28
- }, unmarshalListDatabaseEnginesResponse);
29
- };
30
- })();
31
-
32
- /**
33
- * List available database engines. List the PostgreSQL and MySQL database
34
- * engines available at Scaleway.
35
- *
36
- * @param request - The request {@link ListDatabaseEnginesRequest}
37
- * @returns A Promise of ListDatabaseEnginesResponse
38
- */
39
- listDatabaseEngines = (() => {
40
- var _this2 = this;
41
- return function (request) {
42
- if (request === void 0) {
43
- request = {};
44
- }
45
- return enrichForPagination('engines', _this2.pageOfListDatabaseEngines, request);
46
- };
47
- })();
48
- pageOfListNodeTypes = request => this.client.fetch({
49
- method: 'GET',
50
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/node-types`,
51
- urlParams: urlParams(['include_disabled_types', request.includeDisabledTypes], ['page', request.page], ['page_size', request.pageSize ?? this.client.settings.defaultPageSize])
52
- }, unmarshalListNodeTypesResponse);
53
-
54
- /**
55
- * List available node types. List all available node types. By default, the
56
- * node types returned in the list are ordered by creation date in ascending
57
- * order, though this can be modified via the `order_by` field.
58
- *
59
- * @param request - The request {@link ListNodeTypesRequest}
60
- * @returns A Promise of ListNodeTypesResponse
61
- */
62
- listNodeTypes = request => enrichForPagination('nodeTypes', this.pageOfListNodeTypes, request);
63
- pageOfListDatabaseBackups = (() => {
64
- var _this3 = this;
65
- return function (request) {
66
- if (request === void 0) {
67
- request = {};
68
- }
69
- return _this3.client.fetch({
70
- method: 'GET',
71
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? _this3.client.settings.defaultRegion)}/backups`,
72
- urlParams: urlParams(['instance_id', request.instanceId], ['name', request.name], ['order_by', request.orderBy], ['organization_id', request.organizationId], ['page', request.page], ['page_size', request.pageSize ?? _this3.client.settings.defaultPageSize], ['project_id', request.projectId])
73
- }, unmarshalListDatabaseBackupsResponse);
74
- };
75
- })();
76
-
77
- /**
78
- * List database backups. List all backups in a specified region, for a given
79
- * Scaleway Organization or Scaleway Project. By default, the backups listed
80
- * are ordered by creation date in ascending order. This can be modified via
81
- * the `order_by` field.
82
- *
83
- * @param request - The request {@link ListDatabaseBackupsRequest}
84
- * @returns A Promise of ListDatabaseBackupsResponse
85
- */
86
- listDatabaseBackups = (() => {
87
- var _this4 = this;
88
- return function (request) {
89
- if (request === void 0) {
90
- request = {};
91
- }
92
- return enrichForPagination('databaseBackups', _this4.pageOfListDatabaseBackups, request);
93
- };
94
- })();
95
-
96
- /**
97
- * Create a database backup. Create a new backup. You must set the
98
- * `instance_id`, `database_name`, `name` and `expires_at` parameters.
99
- *
100
- * @param request - The request {@link CreateDatabaseBackupRequest}
101
- * @returns A Promise of DatabaseBackup
102
- */
103
- createDatabaseBackup = request => this.client.fetch({
104
- body: JSON.stringify(marshalCreateDatabaseBackupRequest(request, this.client.settings)),
105
- headers: jsonContentHeaders,
106
- method: 'POST',
107
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/backups`
108
- }, unmarshalDatabaseBackup);
109
-
110
- /**
111
- * Get a database backup. Retrieve information about a given backup, specified
112
- * by its database backup ID and region. Full details about the backup, like
113
- * size, URL and expiration date, are returned in the response.
114
- *
115
- * @param request - The request {@link GetDatabaseBackupRequest}
116
- * @returns A Promise of DatabaseBackup
117
- */
118
- getDatabaseBackup = request => this.client.fetch({
119
- method: 'GET',
120
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/backups/${validatePathParam('databaseBackupId', request.databaseBackupId)}`
121
- }, unmarshalDatabaseBackup);
122
-
123
- /**
124
- * Waits for {@link DatabaseBackup} to be in a final state.
125
- *
126
- * @param request - The request {@link GetDatabaseBackupRequest}
127
- * @param options - The waiting options
128
- * @returns A Promise of DatabaseBackup
129
- */
130
- waitForDatabaseBackup = (request, options) => waitForResource(options?.stop ?? (res => Promise.resolve(!DATABASE_BACKUP_TRANSIENT_STATUSES.includes(res.status))), this.getDatabaseBackup, request, options);
131
-
132
- /**
133
- * Update a database backup. Update the parameters of a backup, including name
134
- * and expiration date.
135
- *
136
- * @param request - The request {@link UpdateDatabaseBackupRequest}
137
- * @returns A Promise of DatabaseBackup
138
- */
139
- updateDatabaseBackup = request => this.client.fetch({
140
- body: JSON.stringify(marshalUpdateDatabaseBackupRequest(request, this.client.settings)),
141
- headers: jsonContentHeaders,
142
- method: 'PATCH',
143
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/backups/${validatePathParam('databaseBackupId', request.databaseBackupId)}`
144
- }, unmarshalDatabaseBackup);
145
-
146
- /**
147
- * Delete a database backup. Delete a backup, specified by its database backup
148
- * ID and region. Deleting a backup is permanent, and cannot be undone.
149
- *
150
- * @param request - The request {@link DeleteDatabaseBackupRequest}
151
- * @returns A Promise of DatabaseBackup
152
- */
153
- deleteDatabaseBackup = request => this.client.fetch({
154
- method: 'DELETE',
155
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/backups/${validatePathParam('databaseBackupId', request.databaseBackupId)}`
156
- }, unmarshalDatabaseBackup);
157
-
158
- /**
159
- * Restore a database backup. Launch the process of restoring database backup.
160
- * You must specify the `instance_id` of the Database Instance of destination,
161
- * where the backup will be restored. Note that large database backups can
162
- * take up to several hours to restore.
163
- *
164
- * @param request - The request {@link RestoreDatabaseBackupRequest}
165
- * @returns A Promise of DatabaseBackup
166
- */
167
- restoreDatabaseBackup = request => this.client.fetch({
168
- body: JSON.stringify(marshalRestoreDatabaseBackupRequest(request, this.client.settings)),
169
- headers: jsonContentHeaders,
170
- method: 'POST',
171
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/backups/${validatePathParam('databaseBackupId', request.databaseBackupId)}/restore`
172
- }, unmarshalDatabaseBackup);
173
-
174
- /**
175
- * Export a database backup. Export a backup, specified by the
176
- * `database_backup_id` and the `region` parameters. The download URL is
177
- * returned in the response.
178
- *
179
- * @param request - The request {@link ExportDatabaseBackupRequest}
180
- * @returns A Promise of DatabaseBackup
181
- */
182
- exportDatabaseBackup = request => this.client.fetch({
183
- body: '{}',
184
- headers: jsonContentHeaders,
185
- method: 'POST',
186
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/backups/${validatePathParam('databaseBackupId', request.databaseBackupId)}/export`
187
- }, unmarshalDatabaseBackup);
188
-
189
- /**
190
- * Upgrade a Database Instance. Upgrade your current Database Instance
191
- * specifications like node type, high availability, volume, or the database
192
- * engine version. Note that upon upgrade the `enable_ha` parameter can only
193
- * be set to `true`.
194
- *
195
- * @param request - The request {@link UpgradeInstanceRequest}
196
- * @returns A Promise of Instance
197
- */
198
- upgradeInstance = request => this.client.fetch({
199
- body: JSON.stringify(marshalUpgradeInstanceRequest(request, this.client.settings)),
200
- headers: jsonContentHeaders,
201
- method: 'POST',
202
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/instances/${validatePathParam('instanceId', request.instanceId)}/upgrade`
203
- }, unmarshalInstance);
204
- pageOfListInstances = (() => {
205
- var _this5 = this;
206
- return function (request) {
207
- if (request === void 0) {
208
- request = {};
209
- }
210
- return _this5.client.fetch({
211
- method: 'GET',
212
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? _this5.client.settings.defaultRegion)}/instances`,
213
- urlParams: urlParams(['name', request.name], ['order_by', request.orderBy], ['organization_id', request.organizationId], ['page', request.page], ['page_size', request.pageSize ?? _this5.client.settings.defaultPageSize], ['project_id', request.projectId], ['tags', request.tags])
214
- }, unmarshalListInstancesResponse);
215
- };
216
- })();
217
-
218
- /**
219
- * List Database Instances. List all Database Instances in the specified
220
- * region, for a given Scaleway Organization or Scaleway Project. By default,
221
- * the Database Instances returned in the list are ordered by creation date in
222
- * ascending order, though this can be modified via the order_by field. You
223
- * can define additional parameters for your query, such as `tags` and `name`.
224
- * For the `name` parameter, the value you include will be checked against the
225
- * whole name string to see if it includes the string you put in the
226
- * parameter.
227
- *
228
- * @param request - The request {@link ListInstancesRequest}
229
- * @returns A Promise of ListInstancesResponse
230
- */
231
- listInstances = (() => {
232
- var _this6 = this;
233
- return function (request) {
234
- if (request === void 0) {
235
- request = {};
236
- }
237
- return enrichForPagination('instances', _this6.pageOfListInstances, request);
238
- };
239
- })();
240
-
241
- /**
242
- * Get a Database Instance. Retrieve information about a given Database
243
- * Instance, specified by the `region` and `instance_id` parameters. Its full
244
- * details, including name, status, IP address and port, are returned in the
245
- * response object.
246
- *
247
- * @param request - The request {@link GetInstanceRequest}
248
- * @returns A Promise of Instance
249
- */
250
- getInstance = request => this.client.fetch({
251
- method: 'GET',
252
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/instances/${validatePathParam('instanceId', request.instanceId)}`
253
- }, unmarshalInstance);
254
-
255
- /**
256
- * Waits for {@link Instance} to be in a final state.
257
- *
258
- * @param request - The request {@link GetInstanceRequest}
259
- * @param options - The waiting options
260
- * @returns A Promise of Instance
261
- */
262
- waitForInstance = (request, options) => waitForResource(options?.stop ?? (res => Promise.resolve(!INSTANCE_TRANSIENT_STATUSES.includes(res.status))), this.getInstance, request, options);
263
-
264
- /**
265
- * Create a Database Instance. Create a new Database Instance. You must set
266
- * the `engine`, `user_name`, `password` and `node_type` parameters.
267
- * Optionally, you can specify the volume type and size.
268
- *
269
- * @param request - The request {@link CreateInstanceRequest}
270
- * @returns A Promise of Instance
271
- */
272
- createInstance = request => this.client.fetch({
273
- body: JSON.stringify(marshalCreateInstanceRequest(request, this.client.settings)),
274
- headers: jsonContentHeaders,
275
- method: 'POST',
276
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/instances`
277
- }, unmarshalInstance);
278
-
279
- /**
280
- * Update a Database Instance. Update the parameters of a Database Instance,
281
- * including name, tags and backup schedule details.
282
- *
283
- * @param request - The request {@link UpdateInstanceRequest}
284
- * @returns A Promise of Instance
285
- */
286
- updateInstance = request => this.client.fetch({
287
- body: JSON.stringify(marshalUpdateInstanceRequest(request, this.client.settings)),
288
- headers: jsonContentHeaders,
289
- method: 'PATCH',
290
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/instances/${validatePathParam('instanceId', request.instanceId)}`
291
- }, unmarshalInstance);
292
-
293
- /**
294
- * Delete a Database Instance. Delete a given Database Instance, specified by
295
- * the `region` and `instance_id` parameters. Deleting a Database Instance is
296
- * permanent, and cannot be undone. Note that upon deletion all your data will
297
- * be lost.
298
- *
299
- * @param request - The request {@link DeleteInstanceRequest}
300
- * @returns A Promise of Instance
301
- */
302
- deleteInstance = request => this.client.fetch({
303
- method: 'DELETE',
304
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/instances/${validatePathParam('instanceId', request.instanceId)}`
305
- }, unmarshalInstance);
306
-
307
- /**
308
- * Clone a Database Instance. Clone a given Database Instance, specified by
309
- * the `region` and `instance_id` parameters. The clone feature allows you to
310
- * create a new Database Instance from an existing one. The clone includes all
311
- * existing databases, users and permissions. You can create a clone on a
312
- * Database Instance bigger than your current one.
313
- *
314
- * @param request - The request {@link CloneInstanceRequest}
315
- * @returns A Promise of Instance
316
- */
317
- cloneInstance = request => this.client.fetch({
318
- body: JSON.stringify(marshalCloneInstanceRequest(request, this.client.settings)),
319
- headers: jsonContentHeaders,
320
- method: 'POST',
321
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/instances/${validatePathParam('instanceId', request.instanceId)}/clone`
322
- }, unmarshalInstance);
323
-
324
- /**
325
- * Restart Database Instance. Restart a given Database Instance, specified by
326
- * the `region` and `instance_id` parameters. The status of the Database
327
- * Instance returned in the response.
328
- *
329
- * @param request - The request {@link RestartInstanceRequest}
330
- * @returns A Promise of Instance
331
- */
332
- restartInstance = request => this.client.fetch({
333
- body: '{}',
334
- headers: jsonContentHeaders,
335
- method: 'POST',
336
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/instances/${validatePathParam('instanceId', request.instanceId)}/restart`
337
- }, unmarshalInstance);
338
-
339
- /**
340
- * Get the TLS certificate of a Database Instance. Retrieve information about
341
- * the TLS certificate of a given Database Instance. Details like name and
342
- * content are returned in the response.
343
- *
344
- * @param request - The request {@link GetInstanceCertificateRequest}
345
- * @returns A Promise of Blob
346
- */
347
- getInstanceCertificate = request => this.client.fetch({
348
- method: 'GET',
349
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/instances/${validatePathParam('instanceId', request.instanceId)}/certificate`,
350
- urlParams: urlParams(['dl', 1]),
351
- responseType: 'blob'
352
- });
353
-
354
- /**
355
- * Renew the TLS certificate of a Database Instance. Renew a TLS for a
356
- * Database Instance. Renewing a certificate means that you will not be able
357
- * to connect to your Database Instance using the previous certificate. You
358
- * will also need to download and update the new certificate for all database
359
- * clients.
360
- *
361
- * @param request - The request {@link RenewInstanceCertificateRequest}
362
- */
363
- renewInstanceCertificate = request => this.client.fetch({
364
- body: '{}',
365
- headers: jsonContentHeaders,
366
- method: 'POST',
367
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/instances/${validatePathParam('instanceId', request.instanceId)}/renew-certificate`
368
- });
369
-
370
- /**
371
- * Get Database Instance metrics. Retrieve the time series metrics of a given
372
- * Database Instance. You can define the period from which to retrieve metrics
373
- * by specifying the `start_date` and `end_date`.
374
- *
375
- * @param request - The request {@link GetInstanceMetricsRequest}
376
- * @returns A Promise of InstanceMetrics
377
- */
378
- getInstanceMetrics = request => this.client.fetch({
379
- method: 'GET',
380
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/instances/${validatePathParam('instanceId', request.instanceId)}/metrics`,
381
- urlParams: urlParams(['end_date', request.endDate], ['metric_name', request.metricName], ['start_date', request.startDate])
382
- }, unmarshalInstanceMetrics);
383
-
384
- /**
385
- * Create a Read Replica. Create a new Read Replica of a Database Instance.
386
- * You must specify the `region` and the `instance_id`. You can only create a
387
- * maximum of 3 Read Replicas per Database Instance.
388
- *
389
- * @param request - The request {@link CreateReadReplicaRequest}
390
- * @returns A Promise of ReadReplica
391
- */
392
- createReadReplica = request => this.client.fetch({
393
- body: JSON.stringify(marshalCreateReadReplicaRequest(request, this.client.settings)),
394
- headers: jsonContentHeaders,
395
- method: 'POST',
396
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/read-replicas`
397
- }, unmarshalReadReplica);
398
-
399
- /**
400
- * Get a Read Replica. Retrieve information about a Database Instance Read
401
- * Replica. Full details about the Read Replica, like `endpoints`, `status`
402
- * and `region` are returned in the response.
403
- *
404
- * @param request - The request {@link GetReadReplicaRequest}
405
- * @returns A Promise of ReadReplica
406
- */
407
- getReadReplica = request => this.client.fetch({
408
- method: 'GET',
409
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/read-replicas/${validatePathParam('readReplicaId', request.readReplicaId)}`
410
- }, unmarshalReadReplica);
411
-
412
- /**
413
- * Waits for {@link ReadReplica} to be in a final state.
414
- *
415
- * @param request - The request {@link GetReadReplicaRequest}
416
- * @param options - The waiting options
417
- * @returns A Promise of ReadReplica
418
- */
419
- waitForReadReplica = (request, options) => waitForResource(options?.stop ?? (res => Promise.resolve(!READ_REPLICA_TRANSIENT_STATUSES.includes(res.status))), this.getReadReplica, request, options);
420
-
421
- /**
422
- * Delete a Read Replica. Delete a Read Replica of a Database Instance. You
423
- * must specify the `region` and `read_replica_id` parameters of the Read
424
- * Replica you want to delete.
425
- *
426
- * @param request - The request {@link DeleteReadReplicaRequest}
427
- * @returns A Promise of ReadReplica
428
- */
429
- deleteReadReplica = request => this.client.fetch({
430
- method: 'DELETE',
431
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/read-replicas/${validatePathParam('readReplicaId', request.readReplicaId)}`
432
- }, unmarshalReadReplica);
433
-
434
- /**
435
- * Resync a Read Replica. When you resync a Read Replica, first it is reset,
436
- * then its data is resynchronized from the primary node. Your Read Replica
437
- * remains unavailable during the resync process. The duration of this process
438
- * is proportional to the size of your Database Instance. The configured
439
- * endpoints do not change.
440
- *
441
- * @param request - The request {@link ResetReadReplicaRequest}
442
- * @returns A Promise of ReadReplica
443
- */
444
- resetReadReplica = request => this.client.fetch({
445
- body: '{}',
446
- headers: jsonContentHeaders,
447
- method: 'POST',
448
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/read-replicas/${validatePathParam('readReplicaId', request.readReplicaId)}/reset`
449
- }, unmarshalReadReplica);
450
-
451
- /**
452
- * Promote a Read Replica. Promote a Read Replica to Database Instance
453
- * automatically.
454
- *
455
- * @param request - The request {@link PromoteReadReplicaRequest}
456
- * @returns A Promise of Instance
457
- */
458
- promoteReadReplica = request => this.client.fetch({
459
- body: '{}',
460
- headers: jsonContentHeaders,
461
- method: 'POST',
462
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/read-replicas/${validatePathParam('readReplicaId', request.readReplicaId)}/promote`
463
- }, unmarshalInstance);
464
-
465
- /**
466
- * Create an endpoint for a Read Replica. Create a new endpoint for a Read
467
- * Replica. Read Replicas can have at most one direct access and one Private
468
- * Network endpoint.
469
- *
470
- * @param request - The request {@link CreateReadReplicaEndpointRequest}
471
- * @returns A Promise of ReadReplica
472
- */
473
- createReadReplicaEndpoint = request => this.client.fetch({
474
- body: JSON.stringify(marshalCreateReadReplicaEndpointRequest(request, this.client.settings)),
475
- headers: jsonContentHeaders,
476
- method: 'POST',
477
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/read-replicas/${validatePathParam('readReplicaId', request.readReplicaId)}/endpoints`
478
- }, unmarshalReadReplica);
479
-
480
- /**
481
- * Prepare logs of a Database Instance. Prepare your Database Instance logs.
482
- * You can define the `start_date` and `end_date` parameters for your query.
483
- * The download URL is returned in the response. Logs are recorded from 00h00
484
- * to 23h59 and then aggregated in a `.log` file once a day. Therefore, even
485
- * if you specify a timeframe from which you want to get the logs, you will
486
- * receive logs from the full 24 hours.
487
- *
488
- * @param request - The request {@link PrepareInstanceLogsRequest}
489
- * @returns A Promise of PrepareInstanceLogsResponse
490
- */
491
- prepareInstanceLogs = request => this.client.fetch({
492
- body: JSON.stringify(marshalPrepareInstanceLogsRequest(request, this.client.settings)),
493
- headers: jsonContentHeaders,
494
- method: 'POST',
495
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/instances/${validatePathParam('instanceId', request.instanceId)}/prepare-logs`
496
- }, unmarshalPrepareInstanceLogsResponse);
497
-
498
- /**
499
- * List available logs of a Database Instance. List the available logs of a
500
- * Database Instance. By default, the logs returned in the list are ordered by
501
- * creation date in ascending order, though this can be modified via the
502
- * order_by field.
503
- *
504
- * @param request - The request {@link ListInstanceLogsRequest}
505
- * @returns A Promise of ListInstanceLogsResponse
506
- */
507
- listInstanceLogs = request => this.client.fetch({
508
- method: 'GET',
509
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/instances/${validatePathParam('instanceId', request.instanceId)}/logs`,
510
- urlParams: urlParams(['order_by', request.orderBy])
511
- }, unmarshalListInstanceLogsResponse);
512
-
513
- /**
514
- * Get given logs of a Database Instance. Retrieve information about the logs
515
- * of a Database Instance. Specify the `instance_log_id` and `region` in your
516
- * request to get information such as `download_url`, `status`, `expires_at`
517
- * and `created_at` about your logs in the response.
518
- *
519
- * @param request - The request {@link GetInstanceLogRequest}
520
- * @returns A Promise of InstanceLog
521
- */
522
- getInstanceLog = request => this.client.fetch({
523
- method: 'GET',
524
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/logs/${validatePathParam('instanceLogId', request.instanceLogId)}`
525
- }, unmarshalInstanceLog);
526
-
527
- /**
528
- * Waits for {@link InstanceLog} to be in a final state.
529
- *
530
- * @param request - The request {@link GetInstanceLogRequest}
531
- * @param options - The waiting options
532
- * @returns A Promise of InstanceLog
533
- */
534
- waitForInstanceLog = (request, options) => waitForResource(options?.stop ?? (res => Promise.resolve(!INSTANCE_LOG_TRANSIENT_STATUSES.includes(res.status))), this.getInstanceLog, request, options);
535
-
536
- /**
537
- * Purge remote Database Instance logs. Purge a given remote log from a
538
- * Database Instance. You can specify the `log_name` of the log you wish to
539
- * clean from your Database Instance.
540
- *
541
- * @param request - The request {@link PurgeInstanceLogsRequest}
542
- */
543
- purgeInstanceLogs = request => this.client.fetch({
544
- body: JSON.stringify(marshalPurgeInstanceLogsRequest(request, this.client.settings)),
545
- headers: jsonContentHeaders,
546
- method: 'POST',
547
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/instances/${validatePathParam('instanceId', request.instanceId)}/purge-logs`
548
- });
549
-
550
- /**
551
- * List remote Database Instance logs details. List remote log details. By
552
- * default, the details returned in the list are ordered by creation date in
553
- * ascending order, though this can be modified via the order_by field.
554
- *
555
- * @param request - The request {@link ListInstanceLogsDetailsRequest}
556
- * @returns A Promise of ListInstanceLogsDetailsResponse
557
- */
558
- listInstanceLogsDetails = request => this.client.fetch({
559
- method: 'GET',
560
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/instances/${validatePathParam('instanceId', request.instanceId)}/logs-details`
561
- }, unmarshalListInstanceLogsDetailsResponse);
562
-
563
- /**
564
- * Add Database Instance advanced settings. Add an advanced setting to a
565
- * Database Instance. You must set the `name` and the `value` of each
566
- * setting.
567
- *
568
- * @param request - The request {@link AddInstanceSettingsRequest}
569
- * @returns A Promise of AddInstanceSettingsResponse
570
- */
571
- addInstanceSettings = request => this.client.fetch({
572
- body: JSON.stringify(marshalAddInstanceSettingsRequest(request, this.client.settings)),
573
- headers: jsonContentHeaders,
574
- method: 'POST',
575
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/instances/${validatePathParam('instanceId', request.instanceId)}/settings`
576
- }, unmarshalAddInstanceSettingsResponse);
577
-
578
- /**
579
- * Delete Database Instance advanced settings. Delete an advanced setting in a
580
- * Database Instance. You must specify the names of the settings you want to
581
- * delete in the request.
582
- *
583
- * @param request - The request {@link DeleteInstanceSettingsRequest}
584
- * @returns A Promise of DeleteInstanceSettingsResponse
585
- */
586
- deleteInstanceSettings = request => this.client.fetch({
587
- body: JSON.stringify(marshalDeleteInstanceSettingsRequest(request, this.client.settings)),
588
- headers: jsonContentHeaders,
589
- method: 'DELETE',
590
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/instances/${validatePathParam('instanceId', request.instanceId)}/settings`
591
- }, unmarshalDeleteInstanceSettingsResponse);
592
-
593
- /**
594
- * Set Database Instance advanced settings. Update an advanced setting for a
595
- * Database Instance. Settings added upon database engine initalization can
596
- * only be defined once, and cannot, therefore, be updated.
597
- *
598
- * @param request - The request {@link SetInstanceSettingsRequest}
599
- * @returns A Promise of SetInstanceSettingsResponse
600
- */
601
- setInstanceSettings = request => this.client.fetch({
602
- body: JSON.stringify(marshalSetInstanceSettingsRequest(request, this.client.settings)),
603
- headers: jsonContentHeaders,
604
- method: 'PUT',
605
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/instances/${validatePathParam('instanceId', request.instanceId)}/settings`
606
- }, unmarshalSetInstanceSettingsResponse);
607
- pageOfListInstanceACLRules = request => this.client.fetch({
608
- method: 'GET',
609
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/instances/${validatePathParam('instanceId', request.instanceId)}/acls`,
610
- urlParams: urlParams(['page', request.page], ['page_size', request.pageSize ?? this.client.settings.defaultPageSize])
611
- }, unmarshalListInstanceACLRulesResponse);
612
-
613
- /**
614
- * List ACL rules of a Database Instance. List the ACL rules for a given
615
- * Database Instance. The response is an array of ACL objects, each one
616
- * representing an ACL that denies, allows or redirects traffic based on
617
- * certain conditions.
618
- *
619
- * @param request - The request {@link ListInstanceACLRulesRequest}
620
- * @returns A Promise of ListInstanceACLRulesResponse
621
- */
622
- listInstanceACLRules = request => enrichForPagination('rules', this.pageOfListInstanceACLRules, request);
623
-
624
- /**
625
- * Add an ACL rule to a Database Instance. Add an additional ACL rule to a
626
- * Database Instance.
627
- *
628
- * @param request - The request {@link AddInstanceACLRulesRequest}
629
- * @returns A Promise of AddInstanceACLRulesResponse
630
- */
631
- addInstanceACLRules = request => this.client.fetch({
632
- body: JSON.stringify(marshalAddInstanceACLRulesRequest(request, this.client.settings)),
633
- headers: jsonContentHeaders,
634
- method: 'POST',
635
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/instances/${validatePathParam('instanceId', request.instanceId)}/acls`
636
- }, unmarshalAddInstanceACLRulesResponse);
637
-
638
- /**
639
- * Set ACL rules for a Database Instance. Replace all the ACL rules of a
640
- * Database Instance.
641
- *
642
- * @param request - The request {@link SetInstanceACLRulesRequest}
643
- * @returns A Promise of SetInstanceACLRulesResponse
644
- */
645
- setInstanceACLRules = request => this.client.fetch({
646
- body: JSON.stringify(marshalSetInstanceACLRulesRequest(request, this.client.settings)),
647
- headers: jsonContentHeaders,
648
- method: 'PUT',
649
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/instances/${validatePathParam('instanceId', request.instanceId)}/acls`
650
- }, unmarshalSetInstanceACLRulesResponse);
651
-
652
- /**
653
- * Delete ACL rules of a Database Instance. Delete one or more ACL rules of a
654
- * Database Instance.
655
- *
656
- * @param request - The request {@link DeleteInstanceACLRulesRequest}
657
- * @returns A Promise of DeleteInstanceACLRulesResponse
658
- */
659
- deleteInstanceACLRules = request => this.client.fetch({
660
- body: JSON.stringify(marshalDeleteInstanceACLRulesRequest(request, this.client.settings)),
661
- headers: jsonContentHeaders,
662
- method: 'DELETE',
663
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/instances/${validatePathParam('instanceId', request.instanceId)}/acls`
664
- }, unmarshalDeleteInstanceACLRulesResponse);
665
- pageOfListUsers = request => this.client.fetch({
666
- method: 'GET',
667
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/instances/${validatePathParam('instanceId', request.instanceId)}/users`,
668
- urlParams: urlParams(['name', request.name], ['order_by', request.orderBy], ['page', request.page], ['page_size', request.pageSize ?? this.client.settings.defaultPageSize])
669
- }, unmarshalListUsersResponse);
670
-
671
- /**
672
- * List users of a Database Instance. List all users of a given Database
673
- * Instance. By default, the users returned in the list are ordered by
674
- * creation date in ascending order, though this can be modified via the
675
- * order_by field.
676
- *
677
- * @param request - The request {@link ListUsersRequest}
678
- * @returns A Promise of ListUsersResponse
679
- */
680
- listUsers = request => enrichForPagination('users', this.pageOfListUsers, request);
681
-
682
- /**
683
- * Create a user for a Database Instance. Create a new user for a Database
684
- * Instance. You must define the `name`, `password` and `is_admin`
685
- * parameters.
686
- *
687
- * @param request - The request {@link CreateUserRequest}
688
- * @returns A Promise of User
689
- */
690
- createUser = request => this.client.fetch({
691
- body: JSON.stringify(marshalCreateUserRequest(request, this.client.settings)),
692
- headers: jsonContentHeaders,
693
- method: 'POST',
694
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/instances/${validatePathParam('instanceId', request.instanceId)}/users`
695
- }, unmarshalUser);
696
-
697
- /**
698
- * Update a user on a Database Instance. Update the parameters of a user on a
699
- * Database Instance. You can update the `password` and `is_admin` parameters,
700
- * but you cannot change the name of the user.
701
- *
702
- * @param request - The request {@link UpdateUserRequest}
703
- * @returns A Promise of User
704
- */
705
- updateUser = request => this.client.fetch({
706
- body: JSON.stringify(marshalUpdateUserRequest(request, this.client.settings)),
707
- headers: jsonContentHeaders,
708
- method: 'PATCH',
709
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/instances/${validatePathParam('instanceId', request.instanceId)}/users/${validatePathParam('name', request.name)}`
710
- }, unmarshalUser);
711
-
712
- /**
713
- * Delete a user on a Database Instance. Delete a given user on a Database
714
- * Instance. You must specify, in the endpoint, the `region`, `instance_id`
715
- * and `name` parameters of the user you want to delete.
716
- *
717
- * @param request - The request {@link DeleteUserRequest}
718
- */
719
- deleteUser = request => this.client.fetch({
720
- method: 'DELETE',
721
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/instances/${validatePathParam('instanceId', request.instanceId)}/users/${validatePathParam('name', request.name)}`
722
- });
723
- pageOfListDatabases = request => this.client.fetch({
724
- method: 'GET',
725
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/instances/${validatePathParam('instanceId', request.instanceId)}/databases`,
726
- urlParams: urlParams(['managed', request.managed], ['name', request.name], ['order_by', request.orderBy], ['owner', request.owner], ['page', request.page], ['page_size', request.pageSize ?? this.client.settings.defaultPageSize])
727
- }, unmarshalListDatabasesResponse);
728
-
729
- /**
730
- * List databases in a Database Instance. List all databases of a given
731
- * Database Instance. By default, the databases returned in the list are
732
- * ordered by creation date in ascending order, though this can be modified
733
- * via the order_by field. You can define additional parameters for your
734
- * query, such as `name`, `managed` and `owner`.
735
- *
736
- * @param request - The request {@link ListDatabasesRequest}
737
- * @returns A Promise of ListDatabasesResponse
738
- */
739
- listDatabases = request => enrichForPagination('databases', this.pageOfListDatabases, request);
740
-
741
- /**
742
- * Create a database in a Database Instance. Create a new database. You must
743
- * define the `name` parameter in the request.
744
- *
745
- * @param request - The request {@link CreateDatabaseRequest}
746
- * @returns A Promise of Database
747
- */
748
- createDatabase = request => this.client.fetch({
749
- body: JSON.stringify(marshalCreateDatabaseRequest(request, this.client.settings)),
750
- headers: jsonContentHeaders,
751
- method: 'POST',
752
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/instances/${validatePathParam('instanceId', request.instanceId)}/databases`
753
- }, unmarshalDatabase);
754
-
755
- /**
756
- * Delete a database in a Database Instance. Delete a given database on a
757
- * Database Instance. You must specify, in the endpoint, the `region`,
758
- * `instance_id` and `name` parameters of the database you want to delete.
759
- *
760
- * @param request - The request {@link DeleteDatabaseRequest}
761
- */
762
- deleteDatabase = request => this.client.fetch({
763
- method: 'DELETE',
764
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/instances/${validatePathParam('instanceId', request.instanceId)}/databases/${validatePathParam('name', request.name)}`
765
- });
766
- pageOfListPrivileges = request => this.client.fetch({
767
- method: 'GET',
768
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/instances/${validatePathParam('instanceId', request.instanceId)}/privileges`,
769
- urlParams: urlParams(['database_name', request.databaseName], ['order_by', request.orderBy], ['page', request.page], ['page_size', request.pageSize ?? this.client.settings.defaultPageSize], ['user_name', request.userName])
770
- }, unmarshalListPrivilegesResponse);
771
-
772
- /**
773
- * List user privileges for a database. List privileges of a user on a
774
- * database. By default, the details returned in the list are ordered by
775
- * creation date in ascending order, though this can be modified via the
776
- * order_by field. You can define additional parameters for your query, such
777
- * as `database_name` and `user_name`.
778
- *
779
- * @param request - The request {@link ListPrivilegesRequest}
780
- * @returns A Promise of ListPrivilegesResponse
781
- */
782
- listPrivileges = request => enrichForPagination('privileges', this.pageOfListPrivileges, request);
783
-
784
- /**
785
- * Set user privileges for a database. Set the privileges of a user on a
786
- * database. You must define `database_name`, `user_name` and `permission` in
787
- * the request body.
788
- *
789
- * @param request - The request {@link SetPrivilegeRequest}
790
- * @returns A Promise of Privilege
791
- */
792
- setPrivilege = request => this.client.fetch({
793
- body: JSON.stringify(marshalSetPrivilegeRequest(request, this.client.settings)),
794
- headers: jsonContentHeaders,
795
- method: 'PUT',
796
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/instances/${validatePathParam('instanceId', request.instanceId)}/privileges`
797
- }, unmarshalPrivilege);
798
- pageOfListSnapshots = (() => {
799
- var _this7 = this;
800
- return function (request) {
801
- if (request === void 0) {
802
- request = {};
803
- }
804
- return _this7.client.fetch({
805
- method: 'GET',
806
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? _this7.client.settings.defaultRegion)}/snapshots`,
807
- urlParams: urlParams(['instance_id', request.instanceId], ['name', request.name], ['order_by', request.orderBy], ['organization_id', request.organizationId], ['page', request.page], ['page_size', request.pageSize ?? _this7.client.settings.defaultPageSize], ['project_id', request.projectId])
808
- }, unmarshalListSnapshotsResponse);
809
- };
810
- })();
811
-
812
- /**
813
- * List snapshots. List snapshots. You can include the `instance_id` or
814
- * `project_id` in your query to get the list of snapshots for specific
815
- * Database Instances and/or Projects. By default, the details returned in the
816
- * list are ordered by creation date in ascending order, though this can be
817
- * modified via the `order_by` field.
818
- *
819
- * @param request - The request {@link ListSnapshotsRequest}
820
- * @returns A Promise of ListSnapshotsResponse
821
- */
822
- listSnapshots = (() => {
823
- var _this8 = this;
824
- return function (request) {
825
- if (request === void 0) {
826
- request = {};
827
- }
828
- return enrichForPagination('snapshots', _this8.pageOfListSnapshots, request);
829
- };
830
- })();
831
-
832
- /**
833
- * Get a Database Instance snapshot. Retrieve information about a given
834
- * snapshot, specified by its `snapshot_id` and `region`. Full details about
835
- * the snapshot, like size and expiration date, are returned in the response.
836
- *
837
- * @param request - The request {@link GetSnapshotRequest}
838
- * @returns A Promise of Snapshot
839
- */
840
- getSnapshot = request => this.client.fetch({
841
- method: 'GET',
842
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/snapshots/${validatePathParam('snapshotId', request.snapshotId)}`
843
- }, unmarshalSnapshot);
844
-
845
- /**
846
- * Waits for {@link Snapshot} to be in a final state.
847
- *
848
- * @param request - The request {@link GetSnapshotRequest}
849
- * @param options - The waiting options
850
- * @returns A Promise of Snapshot
851
- */
852
- waitForSnapshot = (request, options) => waitForResource(options?.stop ?? (res => Promise.resolve(!SNAPSHOT_TRANSIENT_STATUSES.includes(res.status))), this.getSnapshot, request, options);
853
-
854
- /**
855
- * Create a Database Instance snapshot. Create a new snapshot of a Database
856
- * Instance. You must define the `name` parameter in the request.
857
- *
858
- * @param request - The request {@link CreateSnapshotRequest}
859
- * @returns A Promise of Snapshot
860
- */
861
- createSnapshot = request => this.client.fetch({
862
- body: JSON.stringify(marshalCreateSnapshotRequest(request, this.client.settings)),
863
- headers: jsonContentHeaders,
864
- method: 'POST',
865
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/instances/${validatePathParam('instanceId', request.instanceId)}/snapshots`
866
- }, unmarshalSnapshot);
867
-
868
- /**
869
- * Update a Database Instance snapshot. Update the parameters of a snapshot of
870
- * a Database Instance. You can update the `name` and `expires_at`
871
- * parameters.
872
- *
873
- * @param request - The request {@link UpdateSnapshotRequest}
874
- * @returns A Promise of Snapshot
875
- */
876
- updateSnapshot = request => this.client.fetch({
877
- body: JSON.stringify(marshalUpdateSnapshotRequest(request, this.client.settings)),
878
- headers: jsonContentHeaders,
879
- method: 'PATCH',
880
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/snapshots/${validatePathParam('snapshotId', request.snapshotId)}`
881
- }, unmarshalSnapshot);
882
-
883
- /**
884
- * Delete a Database Instance snapshot. Delete a given snapshot of a Database
885
- * Instance. You must specify, in the endpoint, the `region` and `snapshot_id`
886
- * parameters of the snapshot you want to delete.
887
- *
888
- * @param request - The request {@link DeleteSnapshotRequest}
889
- * @returns A Promise of Snapshot
890
- */
891
- deleteSnapshot = request => this.client.fetch({
892
- method: 'DELETE',
893
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/snapshots/${validatePathParam('snapshotId', request.snapshotId)}`
894
- }, unmarshalSnapshot);
895
-
896
- /**
897
- * Create a new Database Instance from a snapshot. Restore a snapshot. When
898
- * you restore a snapshot, a new Instance is created and billed to your
899
- * account. Note that is possible to select a larger node type for your new
900
- * Database Instance. However, the Block volume size will be the same as the
901
- * size of the restored snapshot. All Instance settings will be restored if
902
- * you chose a node type with the same or more memory size than the initial
903
- * Instance. Settings will be reset to the default if your node type has less
904
- * memory.
905
- *
906
- * @param request - The request {@link CreateInstanceFromSnapshotRequest}
907
- * @returns A Promise of Instance
908
- */
909
- createInstanceFromSnapshot = request => this.client.fetch({
910
- body: JSON.stringify(marshalCreateInstanceFromSnapshotRequest(request, this.client.settings)),
911
- headers: jsonContentHeaders,
912
- method: 'POST',
913
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/snapshots/${validatePathParam('snapshotId', request.snapshotId)}/create-instance`
914
- }, unmarshalInstance);
915
-
916
- /**
917
- * Create a new Database Instance endpoint. Create a new endpoint for a
918
- * Database Instance. You can add `load_balancer` and `private_network`
919
- * specifications to the body of the request.
920
- *
921
- * @param request - The request {@link CreateEndpointRequest}
922
- * @returns A Promise of Endpoint
923
- */
924
- createEndpoint = request => this.client.fetch({
925
- body: JSON.stringify(marshalCreateEndpointRequest(request, this.client.settings)),
926
- headers: jsonContentHeaders,
927
- method: 'POST',
928
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/instances/${validatePathParam('instanceId', request.instanceId)}/endpoints`
929
- }, unmarshalEndpoint);
930
-
931
- /**
932
- * Delete a Database Instance endpoint. Delete the endpoint of a Database
933
- * Instance. You must specify the `region` and `endpoint_id` parameters of the
934
- * endpoint you want to delete. Note that might need to update any environment
935
- * configurations that point to the deleted endpoint.
936
- *
937
- * @param request - The request {@link DeleteEndpointRequest}
938
- */
939
- deleteEndpoint = request => this.client.fetch({
940
- method: 'DELETE',
941
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/endpoints/${validatePathParam('endpointId', request.endpointId)}`
942
- });
943
-
944
- /**
945
- * Get a Database Instance endpoint. Retrieve information about a Database
946
- * Instance endpoint. Full details about the endpoint, like `ip`, `port`,
947
- * `private_network` and `load_balancer` specifications are returned in the
948
- * response.
949
- *
950
- * @param request - The request {@link GetEndpointRequest}
951
- * @returns A Promise of Endpoint
952
- */
953
- getEndpoint = request => this.client.fetch({
954
- method: 'GET',
955
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/endpoints/${validatePathParam('endpointId', request.endpointId)}`
956
- }, unmarshalEndpoint);
957
-
958
- /**
959
- * Migrate an existing instance endpoint to another instance.
960
- *
961
- * @param request - The request {@link MigrateEndpointRequest}
962
- * @returns A Promise of Endpoint
963
- */
964
- migrateEndpoint = request => this.client.fetch({
965
- body: JSON.stringify(marshalMigrateEndpointRequest(request, this.client.settings)),
966
- headers: jsonContentHeaders,
967
- method: 'POST',
968
- path: `/rdb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/endpoints/${validatePathParam('endpointId', request.endpointId)}/migrate`
969
- }, unmarshalEndpoint);
970
- }
971
-
972
- export { API };