@scaleway/sdk 1.37.0 → 1.38.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.
@@ -37,7 +37,8 @@ const unmarshalCockpitEndpoints = data => {
37
37
  alertmanagerUrl: data.alertmanager_url,
38
38
  grafanaUrl: data.grafana_url,
39
39
  logsUrl: data.logs_url,
40
- metricsUrl: data.metrics_url
40
+ metricsUrl: data.metrics_url,
41
+ tracesUrl: data.traces_url
41
42
  };
42
43
  };
43
44
  const unmarshalContactPoint = data => {
@@ -1,5 +1,7 @@
1
1
  export { API } from './api.gen.js';
2
2
  export { CONTAINER_TRANSIENT_STATUSES, CRON_TRANSIENT_STATUSES, DOMAIN_TRANSIENT_STATUSES, NAMESPACE_TRANSIENT_STATUSES, TOKEN_TRANSIENT_STATUSES, TRIGGER_TRANSIENT_STATUSES } from './content.gen.js';
3
+ import * as validationRules_gen from './validation-rules.gen.js';
4
+ export { validationRules_gen as ValidationRules };
3
5
 
4
6
  // This file was automatically generated. DO NOT EDIT.
5
7
  // If you have any remark or suggestion do not hesitate to open an issue.
@@ -310,12 +310,12 @@ const marshalCreateTriggerRequest = (request, defaults) => ({
310
310
  ...resolveOneOf([{
311
311
  param: 'scw_sqs_config',
312
312
  value: request.scwSqsConfig ? marshalCreateTriggerRequestMnqSqsClientConfig(request.scwSqsConfig) : undefined
313
- }, {
314
- param: 'sqs_config',
315
- value: request.sqsConfig ? marshalCreateTriggerRequestSqsClientConfig(request.sqsConfig) : undefined
316
313
  }, {
317
314
  param: 'scw_nats_config',
318
315
  value: request.scwNatsConfig ? marshalCreateTriggerRequestMnqNatsClientConfig(request.scwNatsConfig) : undefined
316
+ }, {
317
+ param: 'sqs_config',
318
+ value: request.sqsConfig ? marshalCreateTriggerRequestSqsClientConfig(request.sqsConfig) : undefined
319
319
  }])
320
320
  });
321
321
  const marshalUpdateContainerRequest = (request, defaults) => ({
@@ -0,0 +1,44 @@
1
+ // This file was automatically generated. DO NOT EDIT.
2
+ // If you have any remark or suggestion do not hesitate to open an issue.
3
+
4
+ const CreateTriggerRequest = {
5
+ description: {
6
+ maxLength: 255
7
+ },
8
+ name: {
9
+ maxLength: 50,
10
+ minLength: 1
11
+ }
12
+ };
13
+ const CreateTriggerRequestMnqNatsClientConfig = {
14
+ mnqRegion: {
15
+ maxLength: 20,
16
+ minLength: 1
17
+ },
18
+ subject: {
19
+ maxLength: 100,
20
+ minLength: 1,
21
+ pattern: /^[^\s]+$/
22
+ }
23
+ };
24
+ const CreateTriggerRequestMnqSqsClientConfig = {
25
+ mnqRegion: {
26
+ maxLength: 20,
27
+ minLength: 1
28
+ },
29
+ queue: {
30
+ maxLength: 100,
31
+ minLength: 1
32
+ }
33
+ };
34
+ const UpdateTriggerRequest = {
35
+ description: {
36
+ maxLength: 255
37
+ },
38
+ name: {
39
+ maxLength: 50,
40
+ minLength: 1
41
+ }
42
+ };
43
+
44
+ export { CreateTriggerRequest, CreateTriggerRequestMnqNatsClientConfig, CreateTriggerRequestMnqSqsClientConfig, UpdateTriggerRequest };
@@ -1,5 +1,7 @@
1
1
  export { API } from './api.gen.js';
2
2
  export { CRON_TRANSIENT_STATUSES, DOMAIN_TRANSIENT_STATUSES, FUNCTION_TRANSIENT_STATUSES, NAMESPACE_TRANSIENT_STATUSES, TOKEN_TRANSIENT_STATUSES, TRIGGER_TRANSIENT_STATUSES } from './content.gen.js';
3
+ import * as validationRules_gen from './validation-rules.gen.js';
4
+ export { validationRules_gen as ValidationRules };
3
5
 
4
6
  // This file was automatically generated. DO NOT EDIT.
5
7
  // If you have any remark or suggestion do not hesitate to open an issue.
@@ -351,12 +351,12 @@ const marshalCreateTriggerRequest = (request, defaults) => ({
351
351
  ...resolveOneOf([{
352
352
  param: 'scw_sqs_config',
353
353
  value: request.scwSqsConfig ? marshalCreateTriggerRequestMnqSqsClientConfig(request.scwSqsConfig) : undefined
354
- }, {
355
- param: 'sqs_config',
356
- value: request.sqsConfig ? marshalCreateTriggerRequestSqsClientConfig(request.sqsConfig) : undefined
357
354
  }, {
358
355
  param: 'scw_nats_config',
359
356
  value: request.scwNatsConfig ? marshalCreateTriggerRequestMnqNatsClientConfig(request.scwNatsConfig) : undefined
357
+ }, {
358
+ param: 'sqs_config',
359
+ value: request.sqsConfig ? marshalCreateTriggerRequestSqsClientConfig(request.sqsConfig) : undefined
360
360
  }])
361
361
  });
362
362
  const marshalUpdateCronRequest = (request, defaults) => ({
@@ -0,0 +1,44 @@
1
+ // This file was automatically generated. DO NOT EDIT.
2
+ // If you have any remark or suggestion do not hesitate to open an issue.
3
+
4
+ const CreateTriggerRequest = {
5
+ description: {
6
+ maxLength: 255
7
+ },
8
+ name: {
9
+ maxLength: 50,
10
+ minLength: 1
11
+ }
12
+ };
13
+ const CreateTriggerRequestMnqNatsClientConfig = {
14
+ mnqRegion: {
15
+ maxLength: 20,
16
+ minLength: 1
17
+ },
18
+ subject: {
19
+ maxLength: 100,
20
+ minLength: 1,
21
+ pattern: /^[^\s]+$/
22
+ }
23
+ };
24
+ const CreateTriggerRequestMnqSqsClientConfig = {
25
+ mnqRegion: {
26
+ maxLength: 20,
27
+ minLength: 1
28
+ },
29
+ queue: {
30
+ maxLength: 100,
31
+ minLength: 1
32
+ }
33
+ };
34
+ const UpdateTriggerRequest = {
35
+ description: {
36
+ maxLength: 255
37
+ },
38
+ name: {
39
+ maxLength: 50,
40
+ minLength: 1
41
+ }
42
+ };
43
+
44
+ export { CreateTriggerRequest, CreateTriggerRequestMnqNatsClientConfig, CreateTriggerRequestMnqSqsClientConfig, UpdateTriggerRequest };
@@ -0,0 +1,2 @@
1
+ import * as index_gen from './v1/index.gen.js';
2
+ export { index_gen as v1 };
@@ -0,0 +1,113 @@
1
+ import { API as API$1 } from '../../../scw/api.js';
2
+ import { validatePathParam, urlParams, resolveOneOf } from '../../../helpers/marshalling.js';
3
+ import { enrichForPagination } from '../../../scw/fetch/resource-paginator.js';
4
+ import { marshalBookIPRequest, unmarshalIP, marshalUpdateIPRequest, unmarshalListIPsResponse } from './marshalling.gen.js';
5
+
6
+ // This file was automatically generated. DO NOT EDIT.
7
+ // If you have any remark or suggestion do not hesitate to open an issue.
8
+ const jsonContentHeaders = {
9
+ 'Content-Type': 'application/json; charset=utf-8'
10
+ };
11
+
12
+ /**
13
+ * IPAM API.
14
+ *
15
+ * This API allows you to manage IP addresses with Scaleway's IP Address
16
+ * Management tool. IPAM API.
17
+ */
18
+ class API extends API$1 {
19
+ /** Lists the available regions of the API. */
20
+ static LOCALITIES = ['fr-par', 'nl-ams', 'pl-waw'];
21
+
22
+ /**
23
+ * Book a new IP. Book a new IP from the specified source. Currently IPs can
24
+ * only be booked from a Private Network.
25
+ *
26
+ * @param request - The request {@link BookIPRequest}
27
+ * @returns A Promise of IP
28
+ */
29
+ bookIP = request => this.client.fetch({
30
+ body: JSON.stringify(marshalBookIPRequest(request, this.client.settings)),
31
+ headers: jsonContentHeaders,
32
+ method: 'POST',
33
+ path: `/ipam/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/ips`
34
+ }, unmarshalIP);
35
+
36
+ /**
37
+ * Release an IP. Release an IP not currently attached to a resource, and
38
+ * returns it to the available IP pool.
39
+ *
40
+ * @param request - The request {@link ReleaseIPRequest}
41
+ */
42
+ releaseIP = request => this.client.fetch({
43
+ body: '{}',
44
+ headers: jsonContentHeaders,
45
+ method: 'DELETE',
46
+ path: `/ipam/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/ips/${validatePathParam('ipId', request.ipId)}`
47
+ });
48
+
49
+ /**
50
+ * Get an IP. Retrieve details of an existing IP, specified by its IP ID.
51
+ *
52
+ * @param request - The request {@link GetIPRequest}
53
+ * @returns A Promise of IP
54
+ */
55
+ getIP = request => this.client.fetch({
56
+ method: 'GET',
57
+ path: `/ipam/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/ips/${validatePathParam('ipId', request.ipId)}`
58
+ }, unmarshalIP);
59
+
60
+ /**
61
+ * Update an IP. Update parameters including tags of the specified IP.
62
+ *
63
+ * @param request - The request {@link UpdateIPRequest}
64
+ * @returns A Promise of IP
65
+ */
66
+ updateIP = request => this.client.fetch({
67
+ body: JSON.stringify(marshalUpdateIPRequest(request, this.client.settings)),
68
+ headers: jsonContentHeaders,
69
+ method: 'PATCH',
70
+ path: `/ipam/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/ips/${validatePathParam('ipId', request.ipId)}`
71
+ }, unmarshalIP);
72
+ pageOfListIPs = (() => {
73
+ var _this = this;
74
+ return function (request) {
75
+ if (request === void 0) {
76
+ request = {};
77
+ }
78
+ return _this.client.fetch({
79
+ method: 'GET',
80
+ path: `/ipam/v1/regions/${validatePathParam('region', request.region ?? _this.client.settings.defaultRegion)}/ips`,
81
+ urlParams: urlParams(['attached', request.attached], ['is_ipv6', request.isIpv6], ['mac_address', request.macAddress], ['order_by', request.orderBy ?? 'created_at_desc'], ['organization_id', request.organizationId], ['page', request.page], ['page_size', request.pageSize ?? _this.client.settings.defaultPageSize], ['project_id', request.projectId], ['resource_id', request.resourceId], ['resource_name', request.resourceName], ['resource_type', request.resourceType ?? 'unknown_type'], ['tags', request.tags], ...Object.entries(resolveOneOf([{
82
+ param: 'zonal',
83
+ value: request.zonal
84
+ }, {
85
+ param: 'private_network_id',
86
+ value: request.privateNetworkId
87
+ }])))
88
+ }, unmarshalListIPsResponse);
89
+ };
90
+ })();
91
+
92
+ /**
93
+ * List existing IPs. List existing IPs in the specified region using various
94
+ * filters. For example, you can filter for IPs within a specified Private
95
+ * Network, or for public IPs within a specified Project. By default, the IPs
96
+ * returned in the list are ordered by creation date in ascending order,
97
+ * though this can be modified via the order_by field.
98
+ *
99
+ * @param request - The request {@link ListIPsRequest}
100
+ * @returns A Promise of ListIPsResponse
101
+ */
102
+ listIPs = (() => {
103
+ var _this2 = this;
104
+ return function (request) {
105
+ if (request === void 0) {
106
+ request = {};
107
+ }
108
+ return enrichForPagination('ips', _this2.pageOfListIPs, request);
109
+ };
110
+ })();
111
+ }
112
+
113
+ export { API };
@@ -0,0 +1,6 @@
1
+ export { API } from './api.gen.js';
2
+ import * as validationRules_gen from './validation-rules.gen.js';
3
+ export { validationRules_gen as ValidationRules };
4
+
5
+ // This file was automatically generated. DO NOT EDIT.
6
+ // If you have any remark or suggestion do not hesitate to open an issue.
@@ -0,0 +1,77 @@
1
+ import { isJSONObject } from '../../../helpers/json.js';
2
+ import { unmarshalDate, unmarshalArrayOfObject, resolveOneOf } from '../../../helpers/marshalling.js';
3
+
4
+ // This file was automatically generated. DO NOT EDIT.
5
+ // If you have any remark or suggestion do not hesitate to open an issue.
6
+ const unmarshalResource = data => {
7
+ if (!isJSONObject(data)) {
8
+ throw new TypeError(`Unmarshalling the type 'Resource' failed as data isn't a dictionary.`);
9
+ }
10
+ return {
11
+ id: data.id,
12
+ macAddress: data.mac_address,
13
+ name: data.name,
14
+ type: data.type
15
+ };
16
+ };
17
+ const unmarshalSource = data => {
18
+ if (!isJSONObject(data)) {
19
+ throw new TypeError(`Unmarshalling the type 'Source' failed as data isn't a dictionary.`);
20
+ }
21
+ return {
22
+ privateNetworkId: data.private_network_id,
23
+ subnetId: data.subnet_id,
24
+ zonal: data.zonal
25
+ };
26
+ };
27
+ const unmarshalIP = data => {
28
+ if (!isJSONObject(data)) {
29
+ throw new TypeError(`Unmarshalling the type 'IP' failed as data isn't a dictionary.`);
30
+ }
31
+ return {
32
+ address: data.address,
33
+ createdAt: unmarshalDate(data.created_at),
34
+ id: data.id,
35
+ isIpv6: data.is_ipv6,
36
+ projectId: data.project_id,
37
+ region: data.region,
38
+ resource: data.resource ? unmarshalResource(data.resource) : undefined,
39
+ source: data.source ? unmarshalSource(data.source) : undefined,
40
+ tags: data.tags,
41
+ updatedAt: unmarshalDate(data.updated_at),
42
+ zone: data.zone
43
+ };
44
+ };
45
+ const unmarshalListIPsResponse = data => {
46
+ if (!isJSONObject(data)) {
47
+ throw new TypeError(`Unmarshalling the type 'ListIPsResponse' failed as data isn't a dictionary.`);
48
+ }
49
+ return {
50
+ ips: unmarshalArrayOfObject(data.ips, unmarshalIP),
51
+ totalCount: data.total_count
52
+ };
53
+ };
54
+ const marshalSource = (request, defaults) => ({
55
+ ...resolveOneOf([{
56
+ param: 'zonal',
57
+ value: request.zonal
58
+ }, {
59
+ param: 'private_network_id',
60
+ value: request.privateNetworkId
61
+ }, {
62
+ param: 'subnet_id',
63
+ value: request.subnetId
64
+ }])
65
+ });
66
+ const marshalBookIPRequest = (request, defaults) => ({
67
+ address: request.address,
68
+ is_ipv6: request.isIpv6,
69
+ project_id: request.projectId ?? defaults.defaultProjectId,
70
+ source: request.source ? marshalSource(request.source) : undefined,
71
+ tags: request.tags
72
+ });
73
+ const marshalUpdateIPRequest = (request, defaults) => ({
74
+ tags: request.tags
75
+ });
76
+
77
+ export { marshalBookIPRequest, marshalUpdateIPRequest, unmarshalIP, unmarshalListIPsResponse };
@@ -0,0 +1,11 @@
1
+ // This file was automatically generated. DO NOT EDIT.
2
+ // If you have any remark or suggestion do not hesitate to open an issue.
3
+
4
+ const ListIPsRequest = {
5
+ resourceName: {
6
+ maxLength: 63,
7
+ minLength: 2
8
+ }
9
+ };
10
+
11
+ export { ListIPsRequest };
@@ -3,6 +3,18 @@ import { unmarshalDate, unmarshalArrayOfObject } from '../../../helpers/marshall
3
3
 
4
4
  // This file was automatically generated. DO NOT EDIT.
5
5
  // If you have any remark or suggestion do not hesitate to open an issue.
6
+ const unmarshalDomainReputation = data => {
7
+ if (!isJSONObject(data)) {
8
+ throw new TypeError(`Unmarshalling the type 'DomainReputation' failed as data isn't a dictionary.`);
9
+ }
10
+ return {
11
+ previousScore: data.previous_score,
12
+ previousScoredAt: unmarshalDate(data.previous_scored_at),
13
+ score: data.score,
14
+ scoredAt: unmarshalDate(data.scored_at),
15
+ status: data.status
16
+ };
17
+ };
6
18
  const unmarshalDomainStatistics = data => {
7
19
  if (!isJSONObject(data)) {
8
20
  throw new TypeError(`Unmarshalling the type 'DomainStatistics' failed as data isn't a dictionary.`);
@@ -40,6 +52,7 @@ const unmarshalDomain = data => {
40
52
  organizationId: data.organization_id,
41
53
  projectId: data.project_id,
42
54
  region: data.region,
55
+ reputation: data.reputation ? unmarshalDomainReputation(data.reputation) : undefined,
43
56
  revokedAt: unmarshalDate(data.revoked_at),
44
57
  spfConfig: data.spf_config,
45
58
  statistics: data.statistics ? unmarshalDomainStatistics(data.statistics) : undefined,
@@ -30,6 +30,14 @@ const unmarshalDHCP = data => {
30
30
  zone: data.zone
31
31
  };
32
32
  };
33
+ const unmarshalIpamConfig = data => {
34
+ if (!isJSONObject(data)) {
35
+ throw new TypeError(`Unmarshalling the type 'IpamConfig' failed as data isn't a dictionary.`);
36
+ }
37
+ return {
38
+ pushDefaultRoute: data.push_default_route
39
+ };
40
+ };
33
41
  const unmarshalGatewayNetwork = data => {
34
42
  if (!isJSONObject(data)) {
35
43
  throw new TypeError(`Unmarshalling the type 'GatewayNetwork' failed as data isn't a dictionary.`);
@@ -42,6 +50,7 @@ const unmarshalGatewayNetwork = data => {
42
50
  enableMasquerade: data.enable_masquerade,
43
51
  gatewayId: data.gateway_id,
44
52
  id: data.id,
53
+ ipamConfig: data.ipam_config ? unmarshalIpamConfig(data.ipam_config) : undefined,
45
54
  macAddress: data.mac_address,
46
55
  privateNetworkId: data.private_network_id,
47
56
  status: data.status,
@@ -104,6 +113,7 @@ const unmarshalGateway = data => {
104
113
  gatewayNetworks: unmarshalArrayOfObject(data.gateway_networks, unmarshalGatewayNetwork),
105
114
  id: data.id,
106
115
  ip: data.ip ? unmarshalIP(data.ip) : undefined,
116
+ isLegacy: data.is_legacy,
107
117
  name: data.name,
108
118
  organizationId: data.organization_id,
109
119
  projectId: data.project_id,