@scaleway/sdk-ipam 1.1.2 → 1.2.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.
@@ -6,12 +6,13 @@ const jsonContentHeaders = {
6
6
  "Content-Type": "application/json; charset=utf-8"
7
7
  };
8
8
  class API extends sdkClient.API {
9
- /** Lists the available regions of the API. */
10
- static LOCALITIES = [
11
- "fr-par",
12
- "nl-ams",
13
- "pl-waw"
14
- ];
9
+ /**
10
+ * Locality of this API.
11
+ * type ∈ {'zone','region','global','unspecified'}
12
+ */
13
+ static LOCALITY = sdkClient.toApiLocality({
14
+ regions: ["fr-par", "nl-ams", "pl-waw"]
15
+ });
15
16
  /**
16
17
  * Reserve a new IP. Reserve a new IP from the specified source. Currently IPs can only be reserved from a Private Network.
17
18
  *
@@ -106,7 +107,8 @@ class API extends sdkClient.API {
106
107
  sdkClient.resolveOneOf([
107
108
  { param: "zonal", value: request.zonal },
108
109
  { param: "private_network_id", value: request.privateNetworkId },
109
- { param: "subnet_id", value: request.subnetId }
110
+ { param: "subnet_id", value: request.subnetId },
111
+ { param: "source_vpc_id", value: request.sourceVpcId }
110
112
  ])
111
113
  )
112
114
  )
@@ -1,5 +1,5 @@
1
1
  import { API as ParentAPI } from '@scaleway/sdk-client';
2
- import type { Region as ScwRegion } from '@scaleway/sdk-client';
2
+ import type { ApiLocality } from '@scaleway/sdk-client';
3
3
  import type { AttachIPRequest, BookIPRequest, DetachIPRequest, GetIPRequest, IP, ListIPsRequest, ListIPsResponse, MoveIPRequest, ReleaseIPRequest, ReleaseIPSetRequest, UpdateIPRequest } from './types.gen';
4
4
  /**
5
5
  * IPAM API.
@@ -7,8 +7,11 @@ import type { AttachIPRequest, BookIPRequest, DetachIPRequest, GetIPRequest, IP,
7
7
  This API allows you to manage your Scaleway IP addresses with our IP Address Management tool.
8
8
  */
9
9
  export declare class API extends ParentAPI {
10
- /** Lists the available regions of the API. */
11
- static readonly LOCALITIES: ScwRegion[];
10
+ /**
11
+ * Locality of this API.
12
+ * type ∈ {'zone','region','global','unspecified'}
13
+ */
14
+ static readonly LOCALITY: ApiLocality;
12
15
  /**
13
16
  * Reserve a new IP. Reserve a new IP from the specified source. Currently IPs can only be reserved from a Private Network.
14
17
  *
@@ -1,15 +1,16 @@
1
- import { API as API$1, validatePathParam, urlParams, resolveOneOf, enrichForPagination } from "@scaleway/sdk-client";
1
+ import { API as API$1, toApiLocality, validatePathParam, urlParams, resolveOneOf, enrichForPagination } from "@scaleway/sdk-client";
2
2
  import { marshalBookIPRequest, unmarshalIP, marshalReleaseIPSetRequest, marshalUpdateIPRequest, unmarshalListIPsResponse, marshalAttachIPRequest, marshalDetachIPRequest, marshalMoveIPRequest } from "./marshalling.gen.js";
3
3
  const jsonContentHeaders = {
4
4
  "Content-Type": "application/json; charset=utf-8"
5
5
  };
6
6
  class API extends API$1 {
7
- /** Lists the available regions of the API. */
8
- static LOCALITIES = [
9
- "fr-par",
10
- "nl-ams",
11
- "pl-waw"
12
- ];
7
+ /**
8
+ * Locality of this API.
9
+ * type ∈ {'zone','region','global','unspecified'}
10
+ */
11
+ static LOCALITY = toApiLocality({
12
+ regions: ["fr-par", "nl-ams", "pl-waw"]
13
+ });
13
14
  /**
14
15
  * Reserve a new IP. Reserve a new IP from the specified source. Currently IPs can only be reserved from a Private Network.
15
16
  *
@@ -104,7 +105,8 @@ class API extends API$1 {
104
105
  resolveOneOf([
105
106
  { param: "zonal", value: request.zonal },
106
107
  { param: "private_network_id", value: request.privateNetworkId },
107
- { param: "subnet_id", value: request.subnetId }
108
+ { param: "subnet_id", value: request.subnetId },
109
+ { param: "source_vpc_id", value: request.sourceVpcId }
108
110
  ])
109
111
  )
110
112
  )
@@ -34,6 +34,7 @@ const unmarshalSource = (data) => {
34
34
  return {
35
35
  privateNetworkId: data.private_network_id,
36
36
  subnetId: data.subnet_id,
37
+ vpcId: data.vpc_id,
37
38
  zonal: data.zonal
38
39
  };
39
40
  };
@@ -80,7 +81,8 @@ const marshalSource = (request, defaults) => ({
80
81
  ...sdkClient.resolveOneOf([
81
82
  { param: "zonal", value: request.zonal },
82
83
  { param: "private_network_id", value: request.privateNetworkId },
83
- { param: "subnet_id", value: request.subnetId }
84
+ { param: "subnet_id", value: request.subnetId },
85
+ { param: "vpc_id", value: request.vpcId }
84
86
  ])
85
87
  });
86
88
  const marshalBookIPRequest = (request, defaults) => ({
@@ -32,6 +32,7 @@ const unmarshalSource = (data) => {
32
32
  return {
33
33
  privateNetworkId: data.private_network_id,
34
34
  subnetId: data.subnet_id,
35
+ vpcId: data.vpc_id,
35
36
  zonal: data.zonal
36
37
  };
37
38
  };
@@ -78,7 +79,8 @@ const marshalSource = (request, defaults) => ({
78
79
  ...resolveOneOf([
79
80
  { param: "zonal", value: request.zonal },
80
81
  { param: "private_network_id", value: request.privateNetworkId },
81
- { param: "subnet_id", value: request.subnetId }
82
+ { param: "subnet_id", value: request.subnetId },
83
+ { param: "vpc_id", value: request.vpcId }
82
84
  ])
83
85
  });
84
86
  const marshalBookIPRequest = (request, defaults) => ({
@@ -33,21 +33,26 @@ export interface Source {
33
33
  /**
34
34
  * This source is global.
35
35
  *
36
- * One-of ('source'): at most one of 'zonal', 'privateNetworkId', 'subnetId' could be set.
36
+ * One-of ('source'): at most one of 'zonal', 'privateNetworkId', 'subnetId', 'vpcId' could be set.
37
37
  */
38
38
  zonal?: string;
39
39
  /**
40
40
  * This source is specific.
41
41
  *
42
- * One-of ('source'): at most one of 'zonal', 'privateNetworkId', 'subnetId' could be set.
42
+ * One-of ('source'): at most one of 'zonal', 'privateNetworkId', 'subnetId', 'vpcId' could be set.
43
43
  */
44
44
  privateNetworkId?: string;
45
45
  /**
46
46
  * This source is specific.
47
47
  *
48
- * One-of ('source'): at most one of 'zonal', 'privateNetworkId', 'subnetId' could be set.
48
+ * One-of ('source'): at most one of 'zonal', 'privateNetworkId', 'subnetId', 'vpcId' could be set.
49
49
  */
50
50
  subnetId?: string;
51
+ /**
52
+ *
53
+ * One-of ('source'): at most one of 'zonal', 'privateNetworkId', 'subnetId', 'vpcId' could be set.
54
+ */
55
+ vpcId?: string;
51
56
  }
52
57
  export interface CustomResource {
53
58
  /**
@@ -201,19 +206,19 @@ export type ListIPsRequest = {
201
206
  /**
202
207
  * Zone to filter for. Only IPs that are zonal, and in this zone, will be returned.
203
208
  *
204
- * One-of ('source'): at most one of 'zonal', 'privateNetworkId', 'subnetId' could be set.
209
+ * One-of ('source'): at most one of 'zonal', 'privateNetworkId', 'subnetId', 'sourceVpcId' could be set.
205
210
  */
206
211
  zonal?: string;
207
212
  /**
208
213
  * Only IPs that are private, and in this Private Network, will be returned.
209
214
  *
210
- * One-of ('source'): at most one of 'zonal', 'privateNetworkId', 'subnetId' could be set.
215
+ * One-of ('source'): at most one of 'zonal', 'privateNetworkId', 'subnetId', 'sourceVpcId' could be set.
211
216
  */
212
217
  privateNetworkId?: string;
213
218
  /**
214
219
  * Only IPs inside this exact subnet will be returned.
215
220
  *
216
- * One-of ('source'): at most one of 'zonal', 'privateNetworkId', 'subnetId' could be set.
221
+ * One-of ('source'): at most one of 'zonal', 'privateNetworkId', 'subnetId', 'sourceVpcId' could be set.
217
222
  */
218
223
  subnetId?: string;
219
224
  /**
@@ -264,6 +269,11 @@ export type ListIPsRequest = {
264
269
  * IP IDs to filter for. Only IPs with these UUIDs will be returned.
265
270
  */
266
271
  ipIds?: string[];
272
+ /**
273
+ *
274
+ * One-of ('source'): at most one of 'zonal', 'privateNetworkId', 'subnetId', 'sourceVpcId' could be set.
275
+ */
276
+ sourceVpcId?: string;
267
277
  };
268
278
  export interface ListIPsResponse {
269
279
  totalCount: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scaleway/sdk-ipam",
3
- "version": "1.1.2",
3
+ "version": "1.2.0",
4
4
  "description": "Scaleway SDK ipam",
5
5
  "license": "Apache-2.0",
6
6
  "files": [
@@ -30,13 +30,13 @@
30
30
  },
31
31
  "dependencies": {
32
32
  "@scaleway/random-name": "5.1.1",
33
- "@scaleway/sdk-std": "1.0.4"
33
+ "@scaleway/sdk-std": "1.0.5"
34
34
  },
35
35
  "peerDependencies": {
36
- "@scaleway/sdk-client": "^1.2.3"
36
+ "@scaleway/sdk-client": "^1.3.0"
37
37
  },
38
38
  "devDependencies": {
39
- "@scaleway/sdk-client": "^1.2.3"
39
+ "@scaleway/sdk-client": "^1.3.0"
40
40
  },
41
41
  "scripts": {
42
42
  "package:check": "pnpm publint",