@scaleway/sdk 1.7.0 → 1.9.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.
@@ -25,12 +25,17 @@ class API extends API$1 {
25
25
  * @param request - The request {@link CreateProjectRequest}
26
26
  * @returns A Promise of Project
27
27
  */
28
- this.createProject = request => this.client.fetch({
29
- body: JSON.stringify(marshalCreateProjectRequest(request, this.client.settings)),
30
- headers: jsonContentHeaders,
31
- method: 'POST',
32
- path: `/account/v2/projects`
33
- }, unmarshalProject);
28
+ this.createProject = function (request) {
29
+ if (request === void 0) {
30
+ request = {};
31
+ }
32
+ return _this.client.fetch({
33
+ body: JSON.stringify(marshalCreateProjectRequest(request, _this.client.settings)),
34
+ headers: jsonContentHeaders,
35
+ method: 'POST',
36
+ path: `/account/v2/projects`
37
+ }, unmarshalProject);
38
+ };
34
39
  this.pageOfListProjects = function (request) {
35
40
  if (request === void 0) {
36
41
  request = {};
@@ -1,3 +1,4 @@
1
+ import randomName from '../../../node_modules/.pnpm/@scaleway_random-name@4.0.1/node_modules/@scaleway/random-name/dist/index.js';
1
2
  import { isJSONObject } from '../../../helpers/json.js';
2
3
  import { unmarshalDate, unmarshalArrayOfObject } from '../../../helpers/marshalling.js';
3
4
 
@@ -26,7 +27,7 @@ const unmarshalListProjectsResponse = data => {
26
27
  };
27
28
  const marshalCreateProjectRequest = (request, defaults) => ({
28
29
  description: request.description,
29
- name: request.name,
30
+ name: request.name || randomName('proj'),
30
31
  organization_id: request.organizationId ?? defaults.defaultOrganizationId
31
32
  });
32
33
  const marshalUpdateProjectRequest = (request, defaults) => ({
@@ -11,7 +11,7 @@ const jsonContentHeaders = {
11
11
  };
12
12
 
13
13
  /**
14
- * Apple silicon.
14
+ * Apple silicon API.
15
15
  *
16
16
  * Apple Mac mini as a service. Scaleway Apple silicon as-a-Service is built
17
17
  * using the latest generation of Apple Mac mini hardware (fifth generation).
@@ -54,7 +54,8 @@ class API extends API$1 {
54
54
  }, unmarshalListServerTypesResponse);
55
55
  };
56
56
  /**
57
- * Get a server type. Get a server technical details.
57
+ * Get a server type. Get technical details (CPU, disk size etc.) of a server
58
+ * type.
58
59
  *
59
60
  * @param request - The request {@link GetServerTypeRequest}
60
61
  * @returns A Promise of ServerType
@@ -111,7 +112,7 @@ class API extends API$1 {
111
112
  }, unmarshalListOSResponse);
112
113
  };
113
114
  /**
114
- * List all Operating System (OS). List all Operating System (OS). The
115
+ * List all Operating Systems (OS). List all Operating Systems (OS). The
115
116
  * response will include the total number of OS as well as their associated
116
117
  * IDs, names and labels.
117
118
  *
@@ -31,8 +31,8 @@ class API extends API$1 {
31
31
  }, unmarshalListServersResponse);
32
32
  };
33
33
  /**
34
- * List Elastic Metal servers for an organization. List Elastic Metal servers
35
- * for a specific organization.
34
+ * List Elastic Metal servers for an Organization. List Elastic Metal servers
35
+ * for a specific Organization.
36
36
  *
37
37
  * @param request - The request {@link ListServersRequest}
38
38
  * @returns A Promise of ListServersResponse
@@ -332,7 +332,7 @@ class API extends API$1 {
332
332
  }, unmarshalListSettingsResponse);
333
333
  };
334
334
  /**
335
- * List all settings. Return all settings for a project ID.
335
+ * List all settings. Return all settings for a Project ID.
336
336
  *
337
337
  * @param request - The request {@link ListSettingsRequest}
338
338
  * @returns A Promise of ListSettingsResponse
@@ -344,7 +344,7 @@ class API extends API$1 {
344
344
  return enrichForPagination('settings', _this.pageOfListSettings, request);
345
345
  };
346
346
  /**
347
- * Update setting. Update a setting for a project ID (enable or disable).
347
+ * Update setting. Update a setting for a Project ID (enable or disable).
348
348
  *
349
349
  * @param request - The request {@link UpdateSettingRequest}
350
350
  * @returns A Promise of Setting
@@ -379,7 +379,7 @@ class API extends API$1 {
379
379
  return enrichForPagination('os', _this.pageOfListOS, request);
380
380
  };
381
381
  /**
382
- * Get an OS with an ID. Return specific OS for the ID.
382
+ * Get OS with an ID. Return the specific OS for the ID.
383
383
  *
384
384
  * @param request - The request {@link GetOSRequest}
385
385
  * @returns A Promise of OS
@@ -131,6 +131,7 @@ const unmarshalOS = data => {
131
131
  throw new TypeError(`Unmarshalling the type 'OS' failed as data isn't a dictionary.`);
132
132
  }
133
133
  return {
134
+ allowed: data.allowed,
134
135
  enabled: data.enabled,
135
136
  id: data.id,
136
137
  licenseRequired: data.license_required,
@@ -11,10 +11,9 @@ const jsonContentHeaders = {
11
11
  };
12
12
 
13
13
  /**
14
- * Cockpit API documentation.
14
+ * Cockpit API.
15
15
  *
16
- * Cockpit's API allows you to monitor your applications and their
17
- * infrastructure. Cockpit's API allows you to activate your Cockpit on your
16
+ * Cockpit API. Cockpit's API allows you to activate your Cockpit on your
18
17
  * Projects. Scaleway's Cockpit stores metrics and logs and provides a dedicated
19
18
  * Grafana for dashboarding to visualize them.
20
19
  */
@@ -10,11 +10,7 @@ const jsonContentHeaders = {
10
10
  'Content-Type': 'application/json; charset=utf-8'
11
11
  };
12
12
 
13
- /**
14
- * Containers API.
15
- *
16
- * Serverless Containers API. Containers API.
17
- */
13
+ /** Serverless Containers API. */
18
14
  class API extends API$1 {
19
15
  constructor() {
20
16
  var _this;
@@ -172,6 +172,7 @@ const marshalSecret = (request, defaults) => ({
172
172
  value: request.value
173
173
  });
174
174
  const marshalCreateContainerRequest = (request, defaults) => ({
175
+ cpu_limit: request.cpuLimit,
175
176
  description: request.description,
176
177
  environment_variables: request.environmentVariables,
177
178
  http_option: request.httpOption ?? 'unknown_http_option',
@@ -217,6 +218,7 @@ const marshalCreateTokenRequest = (request, defaults) => ({
217
218
  }])
218
219
  });
219
220
  const marshalUpdateContainerRequest = (request, defaults) => ({
221
+ cpu_limit: request.cpuLimit,
220
222
  description: request.description,
221
223
  environment_variables: request.environmentVariables,
222
224
  http_option: request.httpOption ?? 'unknown_http_option',
@@ -11,9 +11,10 @@ const jsonContentHeaders = {
11
11
  };
12
12
 
13
13
  /**
14
- * DNS API.
14
+ * Domains and DNS API.
15
15
  *
16
- * DNS API. Manage your DNS zones and records.
16
+ * Domains and DNS API. Manage your domains, DNS zones and records with the
17
+ * Domains and DNS API.
17
18
  */
18
19
  class API extends API$1 {
19
20
  constructor() {
@@ -24,15 +25,16 @@ class API extends API$1 {
24
25
  urlParams: urlParams(['dns_zone', request.dnsZone], ['domain', request.domain], ['order_by', request.orderBy ?? 'domain_asc'], ['organization_id', request.organizationId], ['page', request.page], ['page_size', request.pageSize ?? this.client.settings.defaultPageSize], ['project_id', request.projectId])
25
26
  }, unmarshalListDNSZonesResponse);
26
27
  /**
27
- * List DNS zones. Returns a list of manageable DNS zones. You can filter the
28
- * DNS zones by domain name.
28
+ * List DNS zones. Retrieve the list of DNS zones you can manage and filter
29
+ * DNS zones associated with specific domain names.
29
30
  *
30
31
  * @param request - The request {@link ListDNSZonesRequest}
31
32
  * @returns A Promise of ListDNSZonesResponse
32
33
  */
33
34
  this.listDNSZones = request => enrichForPagination('dnsZones', this.pageOfListDNSZones, request);
34
35
  /**
35
- * Create a DNS zone. Create a new DNS zone.
36
+ * Create a DNS zone. Create a new DNS zone specified by the domain name, the
37
+ * subdomain and the Project ID.
36
38
  *
37
39
  * @param request - The request {@link CreateDNSZoneRequest}
38
40
  * @returns A Promise of DNSZone
@@ -44,7 +46,7 @@ class API extends API$1 {
44
46
  path: `/domain/v2beta1/dns-zones`
45
47
  }, unmarshalDNSZone);
46
48
  /**
47
- * Update a DNS zone. Update the name and/or the organizations for a DNS zone.
49
+ * Update a DNS zone. Update the name and/or the Organizations for a DNS zone.
48
50
  *
49
51
  * @param request - The request {@link UpdateDNSZoneRequest}
50
52
  * @returns A Promise of DNSZone
@@ -56,8 +58,8 @@ class API extends API$1 {
56
58
  path: `/domain/v2beta1/dns-zones/${validatePathParam('dnsZone', request.dnsZone)}`
57
59
  }, unmarshalDNSZone);
58
60
  /**
59
- * Clone a DNS zone. Clone an existed DNS zone with all its records into a new
60
- * one.
61
+ * Clone a DNS zone. Clone an existing DNS zone with all its records into a
62
+ * new DNS zone.
61
63
  *
62
64
  * @param request - The request {@link CloneDNSZoneRequest}
63
65
  * @returns A Promise of DNSZone
@@ -69,7 +71,7 @@ class API extends API$1 {
69
71
  path: `/domain/v2beta1/dns-zones/${validatePathParam('dnsZone', request.dnsZone)}/clone`
70
72
  }, unmarshalDNSZone);
71
73
  /**
72
- * Delete DNS zone. Delete a DNS zone and all it's records.
74
+ * Delete a DNS zone. Delete a DNS zone and all its records.
73
75
  *
74
76
  * @param request - The request {@link DeleteDNSZoneRequest}
75
77
  * @returns A Promise of DeleteDNSZoneResponse
@@ -85,30 +87,27 @@ class API extends API$1 {
85
87
  urlParams: urlParams(['id', request.id], ['name', request.name], ['order_by', request.orderBy ?? 'name_asc'], ['page', request.page], ['page_size', request.pageSize ?? this.client.settings.defaultPageSize], ['project_id', request.projectId], ['type', request.type ?? 'unknown'])
86
88
  }, unmarshalListDNSZoneRecordsResponse);
87
89
  /**
88
- * List DNS zone records. Returns a list of DNS records of a DNS zone with
89
- * default NS. You can filter the records by type and name.
90
+ * List records within a DNS zone. Retrieve a list of DNS records within a DNS
91
+ * zone that has default name servers. You can filter records by type and
92
+ * name.
90
93
  *
91
94
  * @param request - The request {@link ListDNSZoneRecordsRequest}
92
95
  * @returns A Promise of ListDNSZoneRecordsResponse
93
96
  */
94
97
  this.listDNSZoneRecords = request => enrichForPagination('records', this.pageOfListDNSZoneRecords, request);
95
98
  /**
96
- * Update DNS zone records. Only available with default NS.<br/> Send a list
97
- * of actions and records.
99
+ * Update records within a DNS zone. Update records within a DNS zone that has
100
+ * default name servers and perform several actions on your records.
98
101
  *
99
- * Action can be:
102
+ * Actions include:
100
103
  *
101
- * - Add:
102
- * - Add new record
103
- * - Can be more specific and add a new IP to an existing A record for example
104
- * - Set:
105
- * - Edit a record
106
- * - Can be more specific and edit an IP from an existing A record for example
107
- * - Delete:
108
- * - Delete a record
109
- * - Can be more specific and delete an IP from an existing A record for example
110
- * - Clear:
111
- * - Delete all records from a DNS zone
104
+ * - Add: allows you to add a new record or add a new IP to an existing A
105
+ * record, for example
106
+ * - Set: allows you to edit a record or edit an IP from an existing A record,
107
+ * for example
108
+ * - Delete: allows you to delete a record or delete an IP from an existing A
109
+ * record, for example
110
+ * - Clear: allows you to delete all records from a DNS zone
112
111
  *
113
112
  * All edits will be versioned.
114
113
  *
@@ -122,8 +121,8 @@ class API extends API$1 {
122
121
  path: `/domain/v2beta1/dns-zones/${validatePathParam('dnsZone', request.dnsZone)}/records`
123
122
  }, unmarshalUpdateDNSZoneRecordsResponse);
124
123
  /**
125
- * List DNS zone nameservers. Returns a list of Nameservers and their optional
126
- * glue records for a DNS zone.
124
+ * List name servers within a DNS zone. Retrieve a list of name servers within
125
+ * a DNS zone and their optional glue records.
127
126
  *
128
127
  * @param request - The request {@link ListDNSZoneNameserversRequest}
129
128
  * @returns A Promise of ListDNSZoneNameserversResponse
@@ -134,8 +133,8 @@ class API extends API$1 {
134
133
  urlParams: urlParams(['project_id', request.projectId])
135
134
  }, unmarshalListDNSZoneNameserversResponse);
136
135
  /**
137
- * Update DNS zone nameservers. Update DNS zone nameservers and set optional
138
- * glue records.
136
+ * Update name servers within a DNS zone. Update name servers within a DNS
137
+ * zone and set optional glue records.
139
138
  *
140
139
  * @param request - The request {@link UpdateDNSZoneNameserversRequest}
141
140
  * @returns A Promise of UpdateDNSZoneNameserversResponse
@@ -147,8 +146,8 @@ class API extends API$1 {
147
146
  path: `/domain/v2beta1/dns-zones/${validatePathParam('dnsZone', request.dnsZone)}/nameservers`
148
147
  }, unmarshalUpdateDNSZoneNameserversResponse);
149
148
  /**
150
- * Clear DNS zone records. Only available with default NS.<br/> Delete all the
151
- * records from a DNS zone. All edits will be versioned.
149
+ * Clear records within a DNS zone. Delete all records within a DNS zone that
150
+ * has default name servers.<br/> All edits will be versioned.
152
151
  *
153
152
  * @param request - The request {@link ClearDNSZoneRecordsRequest}
154
153
  * @returns A Promise of ClearDNSZoneRecordsResponse
@@ -158,7 +157,8 @@ class API extends API$1 {
158
157
  path: `/domain/v2beta1/dns-zones/${validatePathParam('dnsZone', request.dnsZone)}/records`
159
158
  }, unmarshalClearDNSZoneRecordsResponse);
160
159
  /**
161
- * Export raw DNS zone. Get a DNS zone in a given format with default NS.
160
+ * Export a raw DNS zone. Export a DNS zone with default name servers, in a
161
+ * specific format.
162
162
  *
163
163
  * @param request - The request {@link ExportRawDNSZoneRequest}
164
164
  * @returns A Promise of Blob
@@ -170,8 +170,8 @@ class API extends API$1 {
170
170
  responseType: 'blob'
171
171
  });
172
172
  /**
173
- * Import raw DNS zone. Import and replace records from a given provider
174
- * format with default NS.
173
+ * Import a raw DNS zone. Import and replace the format of records from a
174
+ * given provider, with default name servers.
175
175
  *
176
176
  * @param request - The request {@link ImportRawDNSZoneRequest}
177
177
  * @returns A Promise of ImportRawDNSZoneResponse
@@ -183,8 +183,8 @@ class API extends API$1 {
183
183
  path: `/domain/v2beta1/dns-zones/${validatePathParam('dnsZone', request.dnsZone)}/raw`
184
184
  }, unmarshalImportRawDNSZoneResponse);
185
185
  /**
186
- * Import provider DNS zone. Import and replace records from a given provider
187
- * format with default NS.
186
+ * Import a DNS zone from another provider. Import and replace the format of
187
+ * records from a given provider, with default name servers.
188
188
  *
189
189
  * @param request - The request {@link ImportProviderDNSZoneRequest}
190
190
  * @returns A Promise of ImportProviderDNSZoneResponse
@@ -196,8 +196,9 @@ class API extends API$1 {
196
196
  path: `/domain/v2beta1/dns-zones/${validatePathParam('dnsZone', request.dnsZone)}/import-provider`
197
197
  }, unmarshalImportProviderDNSZoneResponse);
198
198
  /**
199
- * Refresh DNS zone. Refresh SOA DNS zone. You can recreate the given DNS zone
200
- * and its sub DNS zone if needed.
199
+ * Refresh a DNS zone. Refresh an SOA DNS zone to reload the records in the
200
+ * DNS zone and update the SOA serial. You can recreate the given DNS zone and
201
+ * its sub DNS zone if needed.
201
202
  *
202
203
  * @param request - The request {@link RefreshDNSZoneRequest}
203
204
  * @returns A Promise of RefreshDNSZoneResponse
@@ -214,9 +215,9 @@ class API extends API$1 {
214
215
  urlParams: urlParams(['page', request.page], ['page_size', request.pageSize ?? this.client.settings.defaultPageSize])
215
216
  }, unmarshalListDNSZoneVersionsResponse);
216
217
  /**
217
- * List DNS zone versions. Get a list of DNS zone versions.<br/> The maximum
218
- * version count is 100.<br/> If the count reaches this limit, the oldest
219
- * version will be deleted after each new modification.
218
+ * List versions of a DNS zone. Retrieve a list of a DNS zone's versions.<br/>
219
+ * The maximum version count is 100. If the count reaches this limit, the
220
+ * oldest version will be deleted after each new modification.
220
221
  *
221
222
  * @param request - The request {@link ListDNSZoneVersionsRequest}
222
223
  * @returns A Promise of ListDNSZoneVersionsResponse
@@ -228,16 +229,16 @@ class API extends API$1 {
228
229
  urlParams: urlParams(['page', request.page], ['page_size', request.pageSize ?? this.client.settings.defaultPageSize])
229
230
  }, unmarshalListDNSZoneVersionRecordsResponse);
230
231
  /**
231
- * List DNS zone version records. Get a list of records from a previous DNS
232
- * zone version.
232
+ * List records from a given version of a specific DNS zone. Retrieve a list
233
+ * of records from a specific DNS zone version.
233
234
  *
234
235
  * @param request - The request {@link ListDNSZoneVersionRecordsRequest}
235
236
  * @returns A Promise of ListDNSZoneVersionRecordsResponse
236
237
  */
237
238
  this.listDNSZoneVersionRecords = request => enrichForPagination('records', this.pageOfListDNSZoneVersionRecords, request);
238
239
  /**
239
- * Get DNS zone version diff. Get all differences from a previous DNS zone
240
- * version.
240
+ * Access differences from a specific DNS zone version. Access a previous DNS
241
+ * zone version to see the differences from another specific version.
241
242
  *
242
243
  * @param request - The request {@link GetDNSZoneVersionDiffRequest}
243
244
  * @returns A Promise of GetDNSZoneVersionDiffResponse
@@ -247,7 +248,8 @@ class API extends API$1 {
247
248
  path: `/domain/v2beta1/dns-zones/version/${validatePathParam('dnsZoneVersionId', request.dnsZoneVersionId)}/diff`
248
249
  }, unmarshalGetDNSZoneVersionDiffResponse);
249
250
  /**
250
- * Restore DNS zone version. Restore and activate a previous DNS zone version.
251
+ * Restore a DNS zone version. Restore and activate a version of a specific
252
+ * DNS zone.
251
253
  *
252
254
  * @param request - The request {@link RestoreDNSZoneVersionRequest}
253
255
  * @returns A Promise of RestoreDNSZoneVersionResponse
@@ -259,7 +261,8 @@ class API extends API$1 {
259
261
  path: `/domain/v2beta1/dns-zones/version/${validatePathParam('dnsZoneVersionId', request.dnsZoneVersionId)}/restore`
260
262
  }, unmarshalRestoreDNSZoneVersionResponse);
261
263
  /**
262
- * Get the zone TLS certificate if it exists.
264
+ * Get a DNS zone's TLS certificate. Get the DNS zone's TLS certificate. If
265
+ * you do not have a certificate, the ouptut returns `no certificate found`.
263
266
  *
264
267
  * @param request - The request {@link GetSSLCertificateRequest}
265
268
  * @returns A Promise of SSLCertificate
@@ -277,7 +280,8 @@ class API extends API$1 {
277
280
  */
278
281
  this.waitForSSLCertificate = (request, options) => waitForResource(options?.stop ?? (res => Promise.resolve(!SSL_CERTIFICATE_TRANSIENT_STATUSES.includes(res.status))), this.getSSLCertificate, request, options);
279
282
  /**
280
- * Create or return the zone TLS certificate.
283
+ * Create or get the DNS zone's TLS certificate. Create a new TLS certificate
284
+ * or retrieve information about an existing TLS certificate.
281
285
  *
282
286
  * @param request - The request {@link CreateSSLCertificateRequest}
283
287
  * @returns A Promise of SSLCertificate
@@ -294,14 +298,17 @@ class API extends API$1 {
294
298
  urlParams: urlParams(['dns_zone', request.dnsZone], ['page', request.page], ['page_size', request.pageSize ?? this.client.settings.defaultPageSize], ['project_id', request.projectId])
295
299
  }, unmarshalListSSLCertificatesResponse);
296
300
  /**
297
- * List all user TLS certificates.
301
+ * List a user's TLS certificates. List all the TLS certificates a user has
302
+ * created, specified by the user's Project ID and the DNS zone.
298
303
  *
299
304
  * @param request - The request {@link ListSSLCertificatesRequest}
300
305
  * @returns A Promise of ListSSLCertificatesResponse
301
306
  */
302
307
  this.listSSLCertificates = request => enrichForPagination('certificates', this.pageOfListSSLCertificates, request);
303
308
  /**
304
- * Delete an TLS certificate.
309
+ * Delete a TLS certificate. Delete an existing TLS certificate specified by
310
+ * its DNS zone. Deleting a TLS certificate is permanent and cannot be
311
+ * undone.
305
312
  *
306
313
  * @param request - The request {@link DeleteSSLCertificateRequest}
307
314
  * @returns A Promise of DeleteSSLCertificateResponse
@@ -311,7 +318,8 @@ class API extends API$1 {
311
318
  path: `/domain/v2beta1/ssl-certificates/${validatePathParam('dnsZone', request.dnsZone)}`
312
319
  }, unmarshalDeleteSSLCertificateResponse);
313
320
  /**
314
- * Get the DNS zone TSIG Key. Get the DNS zone TSIG Key to allow AXFR request.
321
+ * Get the DNS zone's TSIG key. Retrieve information about the TSIG key of a
322
+ * given DNS zone to allow AXFR requests.
315
323
  *
316
324
  * @param request - The request {@link GetDNSZoneTsigKeyRequest}
317
325
  * @returns A Promise of GetDNSZoneTsigKeyResponse
@@ -321,7 +329,8 @@ class API extends API$1 {
321
329
  path: `/domain/v2beta1/dns-zones/${validatePathParam('dnsZone', request.dnsZone)}/tsig-key`
322
330
  }, unmarshalGetDNSZoneTsigKeyResponse);
323
331
  /**
324
- * Delete the DNS zone TSIG Key.
332
+ * Delete the DNS zone's TSIG key. Delete an existing TSIG key specified by
333
+ * its DNS zone. Deleting a TSIG key is permanent and cannot be undone.
325
334
  *
326
335
  * @param request - The request {@link DeleteDNSZoneTsigKeyRequest}
327
336
  */
@@ -10,14 +10,15 @@ const jsonContentHeaders = {
10
10
  'Content-Type': 'application/json; charset=utf-8'
11
11
  };
12
12
 
13
- /** Flexible IP API. */
13
+ /** Elastic Metal - Flexible IP API. */
14
14
  class API extends API$1 {
15
15
  constructor() {
16
16
  var _this;
17
17
  super(...arguments);
18
18
  _this = this;
19
19
  /**
20
- * Create a Flexible IP.
20
+ * Create a new flexible IP. Generate a new flexible IP within a given zone,
21
+ * specifying its configuration including Project ID and description.
21
22
  *
22
23
  * @param request - The request {@link CreateFlexibleIPRequest}
23
24
  * @returns A Promise of FlexibleIP
@@ -29,7 +30,9 @@ class API extends API$1 {
29
30
  path: `/flexible-ip/v1alpha1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/fips`
30
31
  }, unmarshalFlexibleIP);
31
32
  /**
32
- * Get a Flexible IP.
33
+ * Get an existing flexible IP. Retrieve information about an existing
34
+ * flexible IP, specified by its ID and zone. Its full details, including
35
+ * Project ID, description and status, are returned in the response object.
33
36
  *
34
37
  * @param request - The request {@link GetFlexibleIPRequest}
35
38
  * @returns A Promise of FlexibleIP
@@ -57,7 +60,7 @@ class API extends API$1 {
57
60
  }, unmarshalListFlexibleIPsResponse);
58
61
  };
59
62
  /**
60
- * List Flexible IPs.
63
+ * List flexible IPs. List all flexible IPs within a given zone.
61
64
  *
62
65
  * @param request - The request {@link ListFlexibleIPsRequest}
63
66
  * @returns A Promise of ListFlexibleIPsResponse
@@ -69,7 +72,9 @@ class API extends API$1 {
69
72
  return enrichForPagination('flexibleIps', _this.pageOfListFlexibleIPs, request);
70
73
  };
71
74
  /**
72
- * Update a Flexible IP.
75
+ * Update an existing flexible IP. Update the parameters of an existing
76
+ * flexible IP, specified by its ID and zone. These parameters include tags
77
+ * and description.
73
78
  *
74
79
  * @param request - The request {@link UpdateFlexibleIPRequest}
75
80
  * @returns A Promise of FlexibleIP
@@ -81,7 +86,9 @@ class API extends API$1 {
81
86
  path: `/flexible-ip/v1alpha1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/fips/${validatePathParam('fipId', request.fipId)}`
82
87
  }, unmarshalFlexibleIP);
83
88
  /**
84
- * Delete a Flexible IP.
89
+ * Delete an existing flexible IP. Delete an existing flexible IP, specified
90
+ * by its ID and zone. Note that deleting a flexible IP is permanent and
91
+ * cannot be undone.
85
92
  *
86
93
  * @param request - The request {@link DeleteFlexibleIPRequest}
87
94
  */
@@ -90,7 +97,8 @@ class API extends API$1 {
90
97
  path: `/flexible-ip/v1alpha1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/fips/${validatePathParam('fipId', request.fipId)}`
91
98
  });
92
99
  /**
93
- * Attach a Flexible IP to a server.
100
+ * Attach an existing flexible IP to a server. Attach an existing flexible IP
101
+ * to a specified Elastic Metal server.
94
102
  *
95
103
  * @param request - The request {@link AttachFlexibleIPRequest}
96
104
  * @returns A Promise of AttachFlexibleIPsResponse
@@ -102,7 +110,8 @@ class API extends API$1 {
102
110
  path: `/flexible-ip/v1alpha1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/fips/attach`
103
111
  }, unmarshalAttachFlexibleIPsResponse);
104
112
  /**
105
- * Detach a Flexible IP from a server.
113
+ * Detach an existing flexible IP from a server. Detach an existing flexible
114
+ * IP from a specified Elastic Metal server.
106
115
  *
107
116
  * @param request - The request {@link DetachFlexibleIPRequest}
108
117
  * @returns A Promise of DetachFlexibleIPsResponse
@@ -114,7 +123,8 @@ class API extends API$1 {
114
123
  path: `/flexible-ip/v1alpha1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/fips/detach`
115
124
  }, unmarshalDetachFlexibleIPsResponse);
116
125
  /**
117
- * Generate a virtual MAC on a given Flexible IP.
126
+ * Generate a virtual MAC address on an existing flexible IP. Generate a
127
+ * virtual MAC (Media Access Control) address on an existing flexible IP.
118
128
  *
119
129
  * @param request - The request {@link GenerateMACAddrRequest}
120
130
  * @returns A Promise of FlexibleIP
@@ -126,8 +136,9 @@ class API extends API$1 {
126
136
  path: `/flexible-ip/v1alpha1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/fips/${validatePathParam('fipId', request.fipId)}/mac`
127
137
  }, unmarshalFlexibleIP);
128
138
  /**
129
- * Duplicate a Virtual MAC. Duplicate a Virtual MAC from a given Flexible IP
130
- * onto another attached on the same server.
139
+ * Duplicate a virtual MAC address to another flexible IP. Duplicate a virtual
140
+ * MAC address from a given flexible IP to another flexible IP attached to the
141
+ * same server.
131
142
  *
132
143
  * @param request - The request {@link DuplicateMACAddrRequest}
133
144
  * @returns A Promise of FlexibleIP
@@ -139,8 +150,9 @@ class API extends API$1 {
139
150
  path: `/flexible-ip/v1alpha1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/fips/${validatePathParam('fipId', request.fipId)}/mac/duplicate`
140
151
  }, unmarshalFlexibleIP);
141
152
  /**
142
- * Move a virtual MAC. Move a Virtual MAC from a given Flexible IP onto
143
- * another Flexible IP.
153
+ * Relocate an existing virtual MAC address to a different flexible IP.
154
+ * Relocate a virtual MAC (Media Access Control) address from an existing
155
+ * flexible IP to a different flexible IP.
144
156
  *
145
157
  * @param request - The request {@link MoveMACAddrRequest}
146
158
  * @returns A Promise of FlexibleIP
@@ -152,7 +164,8 @@ class API extends API$1 {
152
164
  path: `/flexible-ip/v1alpha1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/fips/${validatePathParam('fipId', request.fipId)}/mac/move`
153
165
  }, unmarshalFlexibleIP);
154
166
  /**
155
- * Remove a virtual MAC from a Flexible IP.
167
+ * Detach a given virtual MAC address from an existing flexible IP. Detach a
168
+ * given MAC (Media Access Control) address from an existing flexible IP.
156
169
  *
157
170
  * @param request - The request {@link DeleteMACAddrRequest}
158
171
  */
@@ -10,11 +10,7 @@ const jsonContentHeaders = {
10
10
  'Content-Type': 'application/json; charset=utf-8'
11
11
  };
12
12
 
13
- /**
14
- * Functions API.
15
- *
16
- * Serverless functions API. Functions API.
17
- */
13
+ /** Serverless Functions API. */
18
14
  class API extends API$1 {
19
15
  constructor() {
20
16
  var _this;
@@ -143,6 +143,7 @@ const unmarshalUser = data => {
143
143
  throw new TypeError(`Unmarshalling the type 'User' failed as data isn't a dictionary.`);
144
144
  }
145
145
  return {
146
+ accountRootUserId: data.account_root_user_id,
146
147
  createdAt: unmarshalDate(data.created_at),
147
148
  deletable: data.deletable,
148
149
  email: data.email,
@@ -48,7 +48,7 @@ class API extends API$1 {
48
48
  }, unmarshalListServersTypesResponse);
49
49
  };
50
50
  /**
51
- * List volumes types. List all volume types and their technical details.
51
+ * List volume types. List all volume types and their technical details.
52
52
  *
53
53
  * @param request - The request {@link ListVolumesTypesRequest}
54
54
  * @returns A Promise of ListVolumesTypesResponse
@@ -147,7 +147,7 @@ class API extends API$1 {
147
147
  * preserve your local volumes, you should use the `archive` action instead of
148
148
  * `terminate`. Similarly, if you want to keep your block storage volumes, you
149
149
  * must first detach them before issuing the `terminate` command. For more
150
- * information, read the [Volumes](#volumes-7e8a39) documentation.
150
+ * information, read the [Volumes](#path-volumes-list-volumes) documentation.
151
151
  *
152
152
  * @param request - The request {@link ServerActionRequest}
153
153
  * @returns A Promise of ServerActionResponse