@scaleway/sdk 2.70.0 → 2.71.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 (95) hide show
  1. package/README.md +6 -5
  2. package/dist/api/applesilicon/v1alpha1/api.gen.cjs +3 -1
  3. package/dist/api/applesilicon/v1alpha1/api.gen.js +3 -1
  4. package/dist/api/baremetal/v1/api.gen.cjs +3 -1
  5. package/dist/api/baremetal/v1/api.gen.js +3 -1
  6. package/dist/api/baremetal/v1/marshalling.gen.cjs +4 -2
  7. package/dist/api/baremetal/v1/marshalling.gen.js +4 -2
  8. package/dist/api/baremetal/v1/types.gen.d.ts +65 -64
  9. package/dist/api/block/v1/api.gen.cjs +6 -2
  10. package/dist/api/block/v1/api.gen.js +6 -2
  11. package/dist/api/block/v1alpha1/api.gen.cjs +6 -2
  12. package/dist/api/block/v1alpha1/api.gen.js +6 -2
  13. package/dist/api/block/v1alpha1/marshalling.gen.cjs +0 -1
  14. package/dist/api/block/v1alpha1/marshalling.gen.d.ts +1 -2
  15. package/dist/api/block/v1alpha1/marshalling.gen.js +0 -1
  16. package/dist/api/container/v1beta1/api.gen.cjs +18 -6
  17. package/dist/api/container/v1beta1/api.gen.js +18 -6
  18. package/dist/api/dedibox/v1/api.gen.cjs +9 -3
  19. package/dist/api/dedibox/v1/api.gen.js +9 -3
  20. package/dist/api/domain/v2beta1/api.gen.cjs +3 -1
  21. package/dist/api/domain/v2beta1/api.gen.js +3 -1
  22. package/dist/api/edge_services/v1beta1/api.gen.cjs +6 -2
  23. package/dist/api/edge_services/v1beta1/api.gen.js +6 -2
  24. package/dist/api/edge_services/v1beta1/types.gen.d.ts +1 -1
  25. package/dist/api/function/v1beta1/api.gen.cjs +18 -6
  26. package/dist/api/function/v1beta1/api.gen.js +18 -6
  27. package/dist/api/function/v1beta1/types.gen.d.ts +1 -1
  28. package/dist/api/iam/v1alpha1/api.gen.cjs +8 -14
  29. package/dist/api/iam/v1alpha1/api.gen.d.ts +8 -14
  30. package/dist/api/iam/v1alpha1/api.gen.js +8 -14
  31. package/dist/api/iam/v1alpha1/marshalling.gen.cjs +12 -0
  32. package/dist/api/iam/v1alpha1/marshalling.gen.js +12 -0
  33. package/dist/api/iam/v1alpha1/types.gen.d.ts +25 -1
  34. package/dist/api/iam/v1alpha1/validation-rules.gen.cjs +15 -0
  35. package/dist/api/iam/v1alpha1/validation-rules.gen.d.ts +14 -0
  36. package/dist/api/iam/v1alpha1/validation-rules.gen.js +15 -0
  37. package/dist/api/inference/v1/api.gen.cjs +6 -2
  38. package/dist/api/inference/v1/api.gen.js +6 -2
  39. package/dist/api/inference/v1/marshalling.gen.cjs +4 -4
  40. package/dist/api/inference/v1/marshalling.gen.js +4 -4
  41. package/dist/api/inference/v1/types.gen.d.ts +32 -30
  42. package/dist/api/inference/v1beta1/api.gen.cjs +3 -1
  43. package/dist/api/inference/v1beta1/api.gen.js +3 -1
  44. package/dist/api/instance/v1/marshalling.gen.cjs +0 -1
  45. package/dist/api/instance/v1/marshalling.gen.js +0 -1
  46. package/dist/api/instance/v1/types.gen.d.ts +0 -2
  47. package/dist/api/k8s/v1/api.gen.cjs +3 -1
  48. package/dist/api/k8s/v1/api.gen.js +3 -1
  49. package/dist/api/k8s/v1/marshalling.gen.cjs +1 -0
  50. package/dist/api/k8s/v1/marshalling.gen.js +1 -0
  51. package/dist/api/k8s/v1/types.gen.d.ts +5 -0
  52. package/dist/api/lb/v1/types.gen.d.ts +3 -3
  53. package/dist/api/mongodb/v1alpha1/api.gen.cjs +6 -2
  54. package/dist/api/mongodb/v1alpha1/api.gen.js +6 -2
  55. package/dist/api/qaas/v1alpha1/api.gen.cjs +6 -2
  56. package/dist/api/qaas/v1alpha1/api.gen.js +6 -2
  57. package/dist/api/rdb/v1/api.gen.cjs +6 -2
  58. package/dist/api/rdb/v1/api.gen.js +6 -2
  59. package/dist/api/redis/v1/api.gen.cjs +3 -1
  60. package/dist/api/redis/v1/api.gen.js +3 -1
  61. package/dist/api/registry/v1/api.gen.cjs +9 -3
  62. package/dist/api/registry/v1/api.gen.js +9 -3
  63. package/dist/api/secret/v1beta1/api.gen.cjs +32 -0
  64. package/dist/api/secret/v1beta1/api.gen.d.ts +17 -1
  65. package/dist/api/secret/v1beta1/api.gen.js +32 -0
  66. package/dist/api/secret/v1beta1/index.gen.d.ts +1 -1
  67. package/dist/api/secret/v1beta1/types.gen.d.ts +17 -0
  68. package/dist/api/serverless_sqldb/v1alpha1/api.gen.cjs +3 -1
  69. package/dist/api/serverless_sqldb/v1alpha1/api.gen.js +3 -1
  70. package/dist/api/vpc/v2/api.gen.cjs +33 -0
  71. package/dist/api/vpc/v2/api.gen.d.ts +17 -1
  72. package/dist/api/vpc/v2/api.gen.js +34 -1
  73. package/dist/api/vpc/v2/index.gen.d.ts +1 -1
  74. package/dist/api/vpc/v2/marshalling.gen.cjs +59 -0
  75. package/dist/api/vpc/v2/marshalling.gen.d.ts +4 -1
  76. package/dist/api/vpc/v2/marshalling.gen.js +59 -0
  77. package/dist/api/vpc/v2/types.gen.d.ts +80 -0
  78. package/dist/api/vpc/v2/validation-rules.gen.cjs +18 -0
  79. package/dist/api/vpc/v2/validation-rules.gen.d.ts +17 -0
  80. package/dist/api/vpc/v2/validation-rules.gen.js +18 -0
  81. package/dist/api/vpcgw/v1/api.gen.cjs +3 -1
  82. package/dist/api/vpcgw/v1/api.gen.js +3 -1
  83. package/dist/api/vpcgw/v2/api.gen.cjs +3 -1
  84. package/dist/api/vpcgw/v2/api.gen.js +3 -1
  85. package/dist/api/webhosting/v1/api.gen.cjs +6 -2
  86. package/dist/api/webhosting/v1/api.gen.js +6 -2
  87. package/dist/api/webhosting/v1/marshalling.gen.cjs +17 -14
  88. package/dist/api/webhosting/v1/marshalling.gen.js +17 -14
  89. package/dist/api/webhosting/v1/types.gen.d.ts +13 -3
  90. package/dist/package.json.cjs +76 -0
  91. package/dist/package.json.js +76 -0
  92. package/dist/scw/constants.cjs +2 -1
  93. package/dist/scw/constants.d.ts +2 -2
  94. package/dist/scw/constants.js +2 -1
  95. package/package.json +2 -3
@@ -292,7 +292,9 @@ class API extends api.API {
292
292
  * @returns A Promise of Instance
293
293
  */
294
294
  waitForInstance = (request, options) => intervalRetrier.waitForResource(
295
- options?.stop ?? ((res) => Promise.resolve(!content_gen.INSTANCE_TRANSIENT_STATUSES.includes(res.status))),
295
+ options?.stop ?? ((res) => Promise.resolve(
296
+ !content_gen.INSTANCE_TRANSIENT_STATUSES.includes(res.status)
297
+ )),
296
298
  this.getInstance,
297
299
  request,
298
300
  options
@@ -1026,7 +1028,9 @@ class API extends api.API {
1026
1028
  * @returns A Promise of Snapshot
1027
1029
  */
1028
1030
  waitForSnapshot = (request, options) => intervalRetrier.waitForResource(
1029
- options?.stop ?? ((res) => Promise.resolve(!content_gen.SNAPSHOT_TRANSIENT_STATUSES.includes(res.status))),
1031
+ options?.stop ?? ((res) => Promise.resolve(
1032
+ !content_gen.SNAPSHOT_TRANSIENT_STATUSES.includes(res.status)
1033
+ )),
1030
1034
  this.getSnapshot,
1031
1035
  request,
1032
1036
  options
@@ -290,7 +290,9 @@ class API extends API$1 {
290
290
  * @returns A Promise of Instance
291
291
  */
292
292
  waitForInstance = (request, options) => waitForResource(
293
- options?.stop ?? ((res) => Promise.resolve(!INSTANCE_TRANSIENT_STATUSES.includes(res.status))),
293
+ options?.stop ?? ((res) => Promise.resolve(
294
+ !INSTANCE_TRANSIENT_STATUSES.includes(res.status)
295
+ )),
294
296
  this.getInstance,
295
297
  request,
296
298
  options
@@ -1024,7 +1026,9 @@ class API extends API$1 {
1024
1026
  * @returns A Promise of Snapshot
1025
1027
  */
1026
1028
  waitForSnapshot = (request, options) => waitForResource(
1027
- options?.stop ?? ((res) => Promise.resolve(!SNAPSHOT_TRANSIENT_STATUSES.includes(res.status))),
1029
+ options?.stop ?? ((res) => Promise.resolve(
1030
+ !SNAPSHOT_TRANSIENT_STATUSES.includes(res.status)
1031
+ )),
1028
1032
  this.getSnapshot,
1029
1033
  request,
1030
1034
  options
@@ -84,7 +84,9 @@ class API extends api.API {
84
84
  * @returns A Promise of Cluster
85
85
  */
86
86
  waitForCluster = (request, options) => intervalRetrier.waitForResource(
87
- options?.stop ?? ((res) => Promise.resolve(!content_gen.CLUSTER_TRANSIENT_STATUSES.includes(res.status))),
87
+ options?.stop ?? ((res) => Promise.resolve(
88
+ !content_gen.CLUSTER_TRANSIENT_STATUSES.includes(res.status)
89
+ )),
88
90
  this.getCluster,
89
91
  request,
90
92
  options
@@ -82,7 +82,9 @@ class API extends API$1 {
82
82
  * @returns A Promise of Cluster
83
83
  */
84
84
  waitForCluster = (request, options) => waitForResource(
85
- options?.stop ?? ((res) => Promise.resolve(!CLUSTER_TRANSIENT_STATUSES.includes(res.status))),
85
+ options?.stop ?? ((res) => Promise.resolve(
86
+ !CLUSTER_TRANSIENT_STATUSES.includes(res.status)
87
+ )),
86
88
  this.getCluster,
87
89
  request,
88
90
  options
@@ -70,7 +70,9 @@ class API extends api.API {
70
70
  * @returns A Promise of Namespace
71
71
  */
72
72
  waitForNamespace = (request, options) => intervalRetrier.waitForResource(
73
- options?.stop ?? ((res) => Promise.resolve(!content_gen.NAMESPACE_TRANSIENT_STATUSES.includes(res.status))),
73
+ options?.stop ?? ((res) => Promise.resolve(
74
+ !content_gen.NAMESPACE_TRANSIENT_STATUSES.includes(res.status)
75
+ )),
74
76
  this.getNamespace,
75
77
  request,
76
78
  options
@@ -182,7 +184,9 @@ class API extends api.API {
182
184
  * @returns A Promise of Image
183
185
  */
184
186
  waitForImage = (request, options) => intervalRetrier.waitForResource(
185
- options?.stop ?? ((res) => Promise.resolve(!content_gen.IMAGE_TRANSIENT_STATUSES.includes(res.status))),
187
+ options?.stop ?? ((res) => Promise.resolve(
188
+ !content_gen.IMAGE_TRANSIENT_STATUSES.includes(res.status)
189
+ )),
186
190
  this.getImage,
187
191
  request,
188
192
  options
@@ -268,7 +272,9 @@ class API extends api.API {
268
272
  * @returns A Promise of Tag
269
273
  */
270
274
  waitForTag = (request, options) => intervalRetrier.waitForResource(
271
- options?.stop ?? ((res) => Promise.resolve(!content_gen.TAG_TRANSIENT_STATUSES.includes(res.status))),
275
+ options?.stop ?? ((res) => Promise.resolve(
276
+ !content_gen.TAG_TRANSIENT_STATUSES.includes(res.status)
277
+ )),
272
278
  this.getTag,
273
279
  request,
274
280
  options
@@ -68,7 +68,9 @@ class API extends API$1 {
68
68
  * @returns A Promise of Namespace
69
69
  */
70
70
  waitForNamespace = (request, options) => waitForResource(
71
- options?.stop ?? ((res) => Promise.resolve(!NAMESPACE_TRANSIENT_STATUSES.includes(res.status))),
71
+ options?.stop ?? ((res) => Promise.resolve(
72
+ !NAMESPACE_TRANSIENT_STATUSES.includes(res.status)
73
+ )),
72
74
  this.getNamespace,
73
75
  request,
74
76
  options
@@ -180,7 +182,9 @@ class API extends API$1 {
180
182
  * @returns A Promise of Image
181
183
  */
182
184
  waitForImage = (request, options) => waitForResource(
183
- options?.stop ?? ((res) => Promise.resolve(!IMAGE_TRANSIENT_STATUSES.includes(res.status))),
185
+ options?.stop ?? ((res) => Promise.resolve(
186
+ !IMAGE_TRANSIENT_STATUSES.includes(res.status)
187
+ )),
184
188
  this.getImage,
185
189
  request,
186
190
  options
@@ -266,7 +270,9 @@ class API extends API$1 {
266
270
  * @returns A Promise of Tag
267
271
  */
268
272
  waitForTag = (request, options) => waitForResource(
269
- options?.stop ?? ((res) => Promise.resolve(!TAG_TRANSIENT_STATUSES.includes(res.status))),
273
+ options?.stop ?? ((res) => Promise.resolve(
274
+ !TAG_TRANSIENT_STATUSES.includes(res.status)
275
+ )),
270
276
  this.getTag,
271
277
  request,
272
278
  options
@@ -387,5 +387,37 @@ class API extends api.API {
387
387
  * @returns A Promise of ListSecretTypesResponse
388
388
  */
389
389
  listSecretTypes = (request = {}) => resourcePaginator.enrichForPagination("types", this.pageOfListSecretTypes, request);
390
+ /**
391
+ * Restore a version. Restore a secret's version specified by the `region`,
392
+ * `secret_id` and `revision` parameters.
393
+ *
394
+ * @param request - The request {@link RestoreSecretVersionRequest}
395
+ * @returns A Promise of SecretVersion
396
+ */
397
+ restoreSecretVersion = (request) => this.client.fetch(
398
+ {
399
+ body: "{}",
400
+ headers: jsonContentHeaders,
401
+ method: "POST",
402
+ path: `/secret-manager/v1beta1/regions/${marshalling.validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/secrets/${marshalling.validatePathParam("secretId", request.secretId)}/versions/${marshalling.validatePathParam("revision", request.revision)}/restore`
403
+ },
404
+ marshalling_gen.unmarshalSecretVersion
405
+ );
406
+ /**
407
+ * Restore a secret. Restore a secret and all its versions scheduled for
408
+ * deletion specified by the `region` and `secret_id` parameters.
409
+ *
410
+ * @param request - The request {@link RestoreSecretRequest}
411
+ * @returns A Promise of Secret
412
+ */
413
+ restoreSecret = (request) => this.client.fetch(
414
+ {
415
+ body: "{}",
416
+ headers: jsonContentHeaders,
417
+ method: "POST",
418
+ path: `/secret-manager/v1beta1/regions/${marshalling.validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/secrets/${marshalling.validatePathParam("secretId", request.secretId)}/restore`
419
+ },
420
+ marshalling_gen.unmarshalSecret
421
+ );
390
422
  }
391
423
  exports.API = API;
@@ -1,6 +1,6 @@
1
1
  import { API as ParentAPI } from '../../../bridge';
2
2
  import type { Region as ScwRegion } from '../../../bridge';
3
- import type { AccessSecretVersionByPathRequest, AccessSecretVersionRequest, AccessSecretVersionResponse, AddSecretOwnerRequest, BrowseSecretsRequest, BrowseSecretsResponse, CreateSecretRequest, CreateSecretVersionRequest, DeleteSecretRequest, DeleteSecretVersionRequest, DisableSecretVersionRequest, EnableSecretVersionRequest, GetSecretRequest, GetSecretVersionRequest, ListSecretTypesRequest, ListSecretTypesResponse, ListSecretVersionsRequest, ListSecretVersionsResponse, ListSecretsRequest, ListSecretsResponse, ListTagsRequest, ListTagsResponse, ProtectSecretRequest, Secret, SecretVersion, UnprotectSecretRequest, UpdateSecretRequest, UpdateSecretVersionRequest } from './types.gen';
3
+ import type { AccessSecretVersionByPathRequest, AccessSecretVersionRequest, AccessSecretVersionResponse, AddSecretOwnerRequest, BrowseSecretsRequest, BrowseSecretsResponse, CreateSecretRequest, CreateSecretVersionRequest, DeleteSecretRequest, DeleteSecretVersionRequest, DisableSecretVersionRequest, EnableSecretVersionRequest, GetSecretRequest, GetSecretVersionRequest, ListSecretTypesRequest, ListSecretTypesResponse, ListSecretVersionsRequest, ListSecretVersionsResponse, ListSecretsRequest, ListSecretsResponse, ListTagsRequest, ListTagsResponse, ProtectSecretRequest, RestoreSecretRequest, RestoreSecretVersionRequest, Secret, SecretVersion, UnprotectSecretRequest, UpdateSecretRequest, UpdateSecretVersionRequest } from './types.gen';
4
4
  /**
5
5
  * Secret Manager API.
6
6
  *
@@ -190,4 +190,20 @@ export declare class API extends ParentAPI {
190
190
  all: () => Promise<import("./types.gen").SecretType[]>;
191
191
  [Symbol.asyncIterator]: () => AsyncGenerator<import("./types.gen").SecretType[], void, void>;
192
192
  };
193
+ /**
194
+ * Restore a version. Restore a secret's version specified by the `region`,
195
+ * `secret_id` and `revision` parameters.
196
+ *
197
+ * @param request - The request {@link RestoreSecretVersionRequest}
198
+ * @returns A Promise of SecretVersion
199
+ */
200
+ restoreSecretVersion: (request: Readonly<RestoreSecretVersionRequest>) => Promise<SecretVersion>;
201
+ /**
202
+ * Restore a secret. Restore a secret and all its versions scheduled for
203
+ * deletion specified by the `region` and `secret_id` parameters.
204
+ *
205
+ * @param request - The request {@link RestoreSecretRequest}
206
+ * @returns A Promise of Secret
207
+ */
208
+ restoreSecret: (request: Readonly<RestoreSecretRequest>) => Promise<Secret>;
193
209
  }
@@ -385,6 +385,38 @@ class API extends API$1 {
385
385
  * @returns A Promise of ListSecretTypesResponse
386
386
  */
387
387
  listSecretTypes = (request = {}) => enrichForPagination("types", this.pageOfListSecretTypes, request);
388
+ /**
389
+ * Restore a version. Restore a secret's version specified by the `region`,
390
+ * `secret_id` and `revision` parameters.
391
+ *
392
+ * @param request - The request {@link RestoreSecretVersionRequest}
393
+ * @returns A Promise of SecretVersion
394
+ */
395
+ restoreSecretVersion = (request) => this.client.fetch(
396
+ {
397
+ body: "{}",
398
+ headers: jsonContentHeaders,
399
+ method: "POST",
400
+ path: `/secret-manager/v1beta1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/secrets/${validatePathParam("secretId", request.secretId)}/versions/${validatePathParam("revision", request.revision)}/restore`
401
+ },
402
+ unmarshalSecretVersion
403
+ );
404
+ /**
405
+ * Restore a secret. Restore a secret and all its versions scheduled for
406
+ * deletion specified by the `region` and `secret_id` parameters.
407
+ *
408
+ * @param request - The request {@link RestoreSecretRequest}
409
+ * @returns A Promise of Secret
410
+ */
411
+ restoreSecret = (request) => this.client.fetch(
412
+ {
413
+ body: "{}",
414
+ headers: jsonContentHeaders,
415
+ method: "POST",
416
+ path: `/secret-manager/v1beta1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/secrets/${validatePathParam("secretId", request.secretId)}/restore`
417
+ },
418
+ unmarshalSecret
419
+ );
388
420
  }
389
421
  export {
390
422
  API
@@ -1,3 +1,3 @@
1
1
  export { API } from './api.gen.js';
2
- export type { AccessSecretVersionByPathRequest, AccessSecretVersionRequest, AccessSecretVersionResponse, AddSecretOwnerRequest, BasicCredentials, BrowseSecretsRequest, BrowseSecretsRequestOrderBy, BrowseSecretsResponse, BrowseSecretsResponseItem, BrowseSecretsResponseItemFolderDetails, BrowseSecretsResponseItemSecretDetails, CreateSecretRequest, CreateSecretVersionRequest, DatabaseCredentials, DeleteSecretRequest, DeleteSecretVersionRequest, DisableSecretVersionRequest, EnableSecretVersionRequest, EphemeralPolicy, EphemeralPolicyAction, EphemeralProperties, GetSecretRequest, GetSecretVersionRequest, ListSecretTypesRequest, ListSecretTypesResponse, ListSecretVersionsRequest, ListSecretVersionsResponse, ListSecretsRequest, ListSecretsRequestOrderBy, ListSecretsResponse, ListTagsRequest, ListTagsResponse, Product, ProtectSecretRequest, SSHKey, Secret, SecretStatus, SecretType, SecretVersion, SecretVersionStatus, UnprotectSecretRequest, UpdateSecretRequest, UpdateSecretVersionRequest, } from './types.gen';
2
+ export type { AccessSecretVersionByPathRequest, AccessSecretVersionRequest, AccessSecretVersionResponse, AddSecretOwnerRequest, BasicCredentials, BrowseSecretsRequest, BrowseSecretsRequestOrderBy, BrowseSecretsResponse, BrowseSecretsResponseItem, BrowseSecretsResponseItemFolderDetails, BrowseSecretsResponseItemSecretDetails, CreateSecretRequest, CreateSecretVersionRequest, DatabaseCredentials, DeleteSecretRequest, DeleteSecretVersionRequest, DisableSecretVersionRequest, EnableSecretVersionRequest, EphemeralPolicy, EphemeralPolicyAction, EphemeralProperties, GetSecretRequest, GetSecretVersionRequest, ListSecretTypesRequest, ListSecretTypesResponse, ListSecretVersionsRequest, ListSecretVersionsResponse, ListSecretsRequest, ListSecretsRequestOrderBy, ListSecretsResponse, ListTagsRequest, ListTagsResponse, Product, ProtectSecretRequest, RestoreSecretRequest, RestoreSecretVersionRequest, SSHKey, Secret, SecretStatus, SecretType, SecretVersion, SecretVersionStatus, UnprotectSecretRequest, UpdateSecretRequest, UpdateSecretVersionRequest, } from './types.gen';
3
3
  export * as ValidationRules from './validation-rules.gen.js';
@@ -485,6 +485,23 @@ export type ProtectSecretRequest = {
485
485
  /** ID of the secret to enable secret protection for. */
486
486
  secretId: string;
487
487
  };
488
+ export type RestoreSecretRequest = {
489
+ /**
490
+ * Region to target. If none is passed will use default region from the
491
+ * config.
492
+ */
493
+ region?: ScwRegion;
494
+ secretId: string;
495
+ };
496
+ export type RestoreSecretVersionRequest = {
497
+ /**
498
+ * Region to target. If none is passed will use default region from the
499
+ * config.
500
+ */
501
+ region?: ScwRegion;
502
+ secretId: string;
503
+ revision: string;
504
+ };
488
505
  export interface SSHKey {
489
506
  /** The private SSH key. */
490
507
  sshPrivateKey: string;
@@ -54,7 +54,9 @@ class API extends api.API {
54
54
  * @returns A Promise of Database
55
55
  */
56
56
  waitForDatabase = (request, options) => intervalRetrier.waitForResource(
57
- options?.stop ?? ((res) => Promise.resolve(!content_gen.DATABASE_TRANSIENT_STATUSES.includes(res.status))),
57
+ options?.stop ?? ((res) => Promise.resolve(
58
+ !content_gen.DATABASE_TRANSIENT_STATUSES.includes(res.status)
59
+ )),
58
60
  this.getDatabase,
59
61
  request,
60
62
  options
@@ -52,7 +52,9 @@ class API extends API$1 {
52
52
  * @returns A Promise of Database
53
53
  */
54
54
  waitForDatabase = (request, options) => waitForResource(
55
- options?.stop ?? ((res) => Promise.resolve(!DATABASE_TRANSIENT_STATUSES.includes(res.status))),
55
+ options?.stop ?? ((res) => Promise.resolve(
56
+ !DATABASE_TRANSIENT_STATUSES.includes(res.status)
57
+ )),
56
58
  this.getDatabase,
57
59
  request,
58
60
  options
@@ -368,5 +368,38 @@ class API extends api.API {
368
368
  method: "DELETE",
369
369
  path: `/vpc/v2/regions/${marshalling.validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/routes/${marshalling.validatePathParam("routeId", request.routeId)}`
370
370
  });
371
+ /**
372
+ * Get Acl Rules for VPC. Retrieve a list of ACL rules for a VPC, specified by
373
+ * its VPC ID.
374
+ *
375
+ * @param request - The request {@link GetAclRequest}
376
+ * @returns A Promise of GetAclResponse
377
+ */
378
+ getAcl = (request) => this.client.fetch(
379
+ {
380
+ method: "GET",
381
+ path: `/vpc/v2/regions/${marshalling.validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/vpcs/${marshalling.validatePathParam("vpcId", request.vpcId)}/acl-rules`,
382
+ urlParams: marshalling.urlParams(["is_ipv6", request.isIpv6])
383
+ },
384
+ marshalling_gen.unmarshalGetAclResponse
385
+ );
386
+ /**
387
+ * Set VPC ACL rules. Set the list of ACL rules and the default routing policy
388
+ * for a VPC.
389
+ *
390
+ * @param request - The request {@link SetAclRequest}
391
+ * @returns A Promise of SetAclResponse
392
+ */
393
+ setAcl = (request) => this.client.fetch(
394
+ {
395
+ body: JSON.stringify(
396
+ marshalling_gen.marshalSetAclRequest(request, this.client.settings)
397
+ ),
398
+ headers: jsonContentHeaders,
399
+ method: "PUT",
400
+ path: `/vpc/v2/regions/${marshalling.validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/vpcs/${marshalling.validatePathParam("vpcId", request.vpcId)}/acl-rules`
401
+ },
402
+ marshalling_gen.unmarshalSetAclResponse
403
+ );
371
404
  }
372
405
  exports.API = API;
@@ -1,6 +1,6 @@
1
1
  import { API as ParentAPI } from '../../../bridge';
2
2
  import type { Region as ScwRegion } from '../../../bridge';
3
- import type { AddSubnetsRequest, AddSubnetsResponse, CreatePrivateNetworkRequest, CreateRouteRequest, CreateVPCRequest, DeletePrivateNetworkRequest, DeleteRouteRequest, DeleteSubnetsRequest, DeleteSubnetsResponse, DeleteVPCRequest, EnableDHCPRequest, EnableRoutingRequest, GetPrivateNetworkRequest, GetRouteRequest, GetVPCRequest, ListPrivateNetworksRequest, ListPrivateNetworksResponse, ListSubnetsRequest, ListSubnetsResponse, ListVPCsRequest, ListVPCsResponse, PrivateNetwork, Route, SetSubnetsRequest, SetSubnetsResponse, UpdatePrivateNetworkRequest, UpdateRouteRequest, UpdateVPCRequest, VPC } from './types.gen';
3
+ import type { AddSubnetsRequest, AddSubnetsResponse, CreatePrivateNetworkRequest, CreateRouteRequest, CreateVPCRequest, DeletePrivateNetworkRequest, DeleteRouteRequest, DeleteSubnetsRequest, DeleteSubnetsResponse, DeleteVPCRequest, EnableDHCPRequest, EnableRoutingRequest, GetAclRequest, GetAclResponse, GetPrivateNetworkRequest, GetRouteRequest, GetVPCRequest, ListPrivateNetworksRequest, ListPrivateNetworksResponse, ListSubnetsRequest, ListSubnetsResponse, ListVPCsRequest, ListVPCsResponse, PrivateNetwork, Route, SetAclRequest, SetAclResponse, SetSubnetsRequest, SetSubnetsResponse, UpdatePrivateNetworkRequest, UpdateRouteRequest, UpdateVPCRequest, VPC } from './types.gen';
4
4
  /**
5
5
  * VPC API.
6
6
  *
@@ -176,4 +176,20 @@ export declare class API extends ParentAPI {
176
176
  * @param request - The request {@link DeleteRouteRequest}
177
177
  */
178
178
  deleteRoute: (request: Readonly<DeleteRouteRequest>) => Promise<void>;
179
+ /**
180
+ * Get Acl Rules for VPC. Retrieve a list of ACL rules for a VPC, specified by
181
+ * its VPC ID.
182
+ *
183
+ * @param request - The request {@link GetAclRequest}
184
+ * @returns A Promise of GetAclResponse
185
+ */
186
+ getAcl: (request: Readonly<GetAclRequest>) => Promise<GetAclResponse>;
187
+ /**
188
+ * Set VPC ACL rules. Set the list of ACL rules and the default routing policy
189
+ * for a VPC.
190
+ *
191
+ * @param request - The request {@link SetAclRequest}
192
+ * @returns A Promise of SetAclResponse
193
+ */
194
+ setAcl: (request: Readonly<SetAclRequest>) => Promise<SetAclResponse>;
179
195
  }
@@ -2,7 +2,7 @@ import { API as API$1 } from "../../../scw/api.js";
2
2
  import { validatePathParam, urlParams } from "../../../helpers/marshalling.js";
3
3
  import "../../../vendor/base64/index.js";
4
4
  import { enrichForPagination } from "../../../scw/fetch/resource-paginator.js";
5
- import { unmarshalListVPCsResponse, marshalCreateVPCRequest, unmarshalVPC, marshalUpdateVPCRequest, unmarshalListPrivateNetworksResponse, marshalCreatePrivateNetworkRequest, unmarshalPrivateNetwork, marshalUpdatePrivateNetworkRequest, unmarshalListSubnetsResponse, marshalSetSubnetsRequest, unmarshalSetSubnetsResponse, marshalAddSubnetsRequest, unmarshalAddSubnetsResponse, marshalDeleteSubnetsRequest, unmarshalDeleteSubnetsResponse, marshalCreateRouteRequest, unmarshalRoute, marshalUpdateRouteRequest } from "./marshalling.gen.js";
5
+ import { unmarshalListVPCsResponse, marshalCreateVPCRequest, unmarshalVPC, marshalUpdateVPCRequest, unmarshalListPrivateNetworksResponse, marshalCreatePrivateNetworkRequest, unmarshalPrivateNetwork, marshalUpdatePrivateNetworkRequest, unmarshalListSubnetsResponse, marshalSetSubnetsRequest, unmarshalSetSubnetsResponse, marshalAddSubnetsRequest, unmarshalAddSubnetsResponse, marshalDeleteSubnetsRequest, unmarshalDeleteSubnetsResponse, marshalCreateRouteRequest, unmarshalRoute, marshalUpdateRouteRequest, unmarshalGetAclResponse, marshalSetAclRequest, unmarshalSetAclResponse } from "./marshalling.gen.js";
6
6
  const jsonContentHeaders = {
7
7
  "Content-Type": "application/json; charset=utf-8"
8
8
  };
@@ -366,6 +366,39 @@ class API extends API$1 {
366
366
  method: "DELETE",
367
367
  path: `/vpc/v2/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/routes/${validatePathParam("routeId", request.routeId)}`
368
368
  });
369
+ /**
370
+ * Get Acl Rules for VPC. Retrieve a list of ACL rules for a VPC, specified by
371
+ * its VPC ID.
372
+ *
373
+ * @param request - The request {@link GetAclRequest}
374
+ * @returns A Promise of GetAclResponse
375
+ */
376
+ getAcl = (request) => this.client.fetch(
377
+ {
378
+ method: "GET",
379
+ path: `/vpc/v2/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/vpcs/${validatePathParam("vpcId", request.vpcId)}/acl-rules`,
380
+ urlParams: urlParams(["is_ipv6", request.isIpv6])
381
+ },
382
+ unmarshalGetAclResponse
383
+ );
384
+ /**
385
+ * Set VPC ACL rules. Set the list of ACL rules and the default routing policy
386
+ * for a VPC.
387
+ *
388
+ * @param request - The request {@link SetAclRequest}
389
+ * @returns A Promise of SetAclResponse
390
+ */
391
+ setAcl = (request) => this.client.fetch(
392
+ {
393
+ body: JSON.stringify(
394
+ marshalSetAclRequest(request, this.client.settings)
395
+ ),
396
+ headers: jsonContentHeaders,
397
+ method: "PUT",
398
+ path: `/vpc/v2/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/vpcs/${validatePathParam("vpcId", request.vpcId)}/acl-rules`
399
+ },
400
+ unmarshalSetAclResponse
401
+ );
369
402
  }
370
403
  export {
371
404
  API
@@ -1,3 +1,3 @@
1
1
  export { API } from './api.gen.js';
2
- export type { AddSubnetsRequest, AddSubnetsResponse, CreatePrivateNetworkRequest, CreateRouteRequest, CreateVPCRequest, DeletePrivateNetworkRequest, DeleteRouteRequest, DeleteSubnetsRequest, DeleteSubnetsResponse, DeleteVPCRequest, EnableDHCPRequest, EnableRoutingRequest, GetPrivateNetworkRequest, GetRouteRequest, GetVPCRequest, ListPrivateNetworksRequest, ListPrivateNetworksRequestOrderBy, ListPrivateNetworksResponse, ListSubnetsRequest, ListSubnetsRequestOrderBy, ListSubnetsResponse, ListVPCsRequest, ListVPCsRequestOrderBy, ListVPCsResponse, PrivateNetwork, Route, SetSubnetsRequest, SetSubnetsResponse, Subnet, UpdatePrivateNetworkRequest, UpdateRouteRequest, UpdateVPCRequest, VPC, } from './types.gen';
2
+ export type { AclRule, AclRuleProtocol, Action, AddSubnetsRequest, AddSubnetsResponse, CreatePrivateNetworkRequest, CreateRouteRequest, CreateVPCRequest, DeletePrivateNetworkRequest, DeleteRouteRequest, DeleteSubnetsRequest, DeleteSubnetsResponse, DeleteVPCRequest, EnableDHCPRequest, EnableRoutingRequest, GetAclRequest, GetAclResponse, GetPrivateNetworkRequest, GetRouteRequest, GetVPCRequest, ListPrivateNetworksRequest, ListPrivateNetworksRequestOrderBy, ListPrivateNetworksResponse, ListSubnetsRequest, ListSubnetsRequestOrderBy, ListSubnetsResponse, ListVPCsRequest, ListVPCsRequestOrderBy, ListVPCsResponse, PrivateNetwork, Route, SetAclRequest, SetAclResponse, SetSubnetsRequest, SetSubnetsResponse, Subnet, UpdatePrivateNetworkRequest, UpdateRouteRequest, UpdateVPCRequest, VPC, } from './types.gen';
3
3
  export * as ValidationRules from './validation-rules.gen.js';
@@ -100,6 +100,35 @@ const unmarshalDeleteSubnetsResponse = (data) => {
100
100
  subnets: data.subnets
101
101
  };
102
102
  };
103
+ const unmarshalAclRule = (data) => {
104
+ if (!json.isJSONObject(data)) {
105
+ throw new TypeError(
106
+ `Unmarshalling the type 'AclRule' failed as data isn't a dictionary.`
107
+ );
108
+ }
109
+ return {
110
+ action: data.action,
111
+ description: data.description,
112
+ destination: data.destination,
113
+ dstPortHigh: data.dst_port_high,
114
+ dstPortLow: data.dst_port_low,
115
+ protocol: data.protocol,
116
+ source: data.source,
117
+ srcPortHigh: data.src_port_high,
118
+ srcPortLow: data.src_port_low
119
+ };
120
+ };
121
+ const unmarshalGetAclResponse = (data) => {
122
+ if (!json.isJSONObject(data)) {
123
+ throw new TypeError(
124
+ `Unmarshalling the type 'GetAclResponse' failed as data isn't a dictionary.`
125
+ );
126
+ }
127
+ return {
128
+ defaultPolicy: data.default_policy,
129
+ rules: marshalling.unmarshalArrayOfObject(data.rules, unmarshalAclRule)
130
+ };
131
+ };
103
132
  const unmarshalListPrivateNetworksResponse = (data) => {
104
133
  if (!json.isJSONObject(data)) {
105
134
  throw new TypeError(
@@ -136,6 +165,17 @@ const unmarshalListVPCsResponse = (data) => {
136
165
  vpcs: marshalling.unmarshalArrayOfObject(data.vpcs, unmarshalVPC)
137
166
  };
138
167
  };
168
+ const unmarshalSetAclResponse = (data) => {
169
+ if (!json.isJSONObject(data)) {
170
+ throw new TypeError(
171
+ `Unmarshalling the type 'SetAclResponse' failed as data isn't a dictionary.`
172
+ );
173
+ }
174
+ return {
175
+ defaultPolicy: data.default_policy,
176
+ rules: marshalling.unmarshalArrayOfObject(data.rules, unmarshalAclRule)
177
+ };
178
+ };
139
179
  const unmarshalSetSubnetsResponse = (data) => {
140
180
  if (!json.isJSONObject(data)) {
141
181
  throw new TypeError(
@@ -173,6 +213,22 @@ const marshalCreateVPCRequest = (request, defaults) => ({
173
213
  const marshalDeleteSubnetsRequest = (request, defaults) => ({
174
214
  subnets: request.subnets
175
215
  });
216
+ const marshalAclRule = (request, defaults) => ({
217
+ action: request.action,
218
+ description: request.description,
219
+ destination: request.destination,
220
+ dst_port_high: request.dstPortHigh,
221
+ dst_port_low: request.dstPortLow,
222
+ protocol: request.protocol,
223
+ source: request.source,
224
+ src_port_high: request.srcPortHigh,
225
+ src_port_low: request.srcPortLow
226
+ });
227
+ const marshalSetAclRequest = (request, defaults) => ({
228
+ default_policy: request.defaultPolicy,
229
+ is_ipv6: request.isIpv6,
230
+ rules: request.rules.map((elt) => marshalAclRule(elt))
231
+ });
176
232
  const marshalSetSubnetsRequest = (request, defaults) => ({
177
233
  subnets: request.subnets
178
234
  });
@@ -196,16 +252,19 @@ exports.marshalCreatePrivateNetworkRequest = marshalCreatePrivateNetworkRequest;
196
252
  exports.marshalCreateRouteRequest = marshalCreateRouteRequest;
197
253
  exports.marshalCreateVPCRequest = marshalCreateVPCRequest;
198
254
  exports.marshalDeleteSubnetsRequest = marshalDeleteSubnetsRequest;
255
+ exports.marshalSetAclRequest = marshalSetAclRequest;
199
256
  exports.marshalSetSubnetsRequest = marshalSetSubnetsRequest;
200
257
  exports.marshalUpdatePrivateNetworkRequest = marshalUpdatePrivateNetworkRequest;
201
258
  exports.marshalUpdateRouteRequest = marshalUpdateRouteRequest;
202
259
  exports.marshalUpdateVPCRequest = marshalUpdateVPCRequest;
203
260
  exports.unmarshalAddSubnetsResponse = unmarshalAddSubnetsResponse;
204
261
  exports.unmarshalDeleteSubnetsResponse = unmarshalDeleteSubnetsResponse;
262
+ exports.unmarshalGetAclResponse = unmarshalGetAclResponse;
205
263
  exports.unmarshalListPrivateNetworksResponse = unmarshalListPrivateNetworksResponse;
206
264
  exports.unmarshalListSubnetsResponse = unmarshalListSubnetsResponse;
207
265
  exports.unmarshalListVPCsResponse = unmarshalListVPCsResponse;
208
266
  exports.unmarshalPrivateNetwork = unmarshalPrivateNetwork;
209
267
  exports.unmarshalRoute = unmarshalRoute;
268
+ exports.unmarshalSetAclResponse = unmarshalSetAclResponse;
210
269
  exports.unmarshalSetSubnetsResponse = unmarshalSetSubnetsResponse;
211
270
  exports.unmarshalVPC = unmarshalVPC;
@@ -1,19 +1,22 @@
1
1
  import type { DefaultValues } from '../../../bridge';
2
- import type { AddSubnetsRequest, AddSubnetsResponse, CreatePrivateNetworkRequest, CreateRouteRequest, CreateVPCRequest, DeleteSubnetsRequest, DeleteSubnetsResponse, ListPrivateNetworksResponse, ListSubnetsResponse, ListVPCsResponse, PrivateNetwork, Route, SetSubnetsRequest, SetSubnetsResponse, UpdatePrivateNetworkRequest, UpdateRouteRequest, UpdateVPCRequest, VPC } from './types.gen';
2
+ import type { AddSubnetsRequest, AddSubnetsResponse, CreatePrivateNetworkRequest, CreateRouteRequest, CreateVPCRequest, DeleteSubnetsRequest, DeleteSubnetsResponse, GetAclResponse, ListPrivateNetworksResponse, ListSubnetsResponse, ListVPCsResponse, PrivateNetwork, Route, SetAclRequest, SetAclResponse, SetSubnetsRequest, SetSubnetsResponse, UpdatePrivateNetworkRequest, UpdateRouteRequest, UpdateVPCRequest, VPC } from './types.gen';
3
3
  export declare const unmarshalPrivateNetwork: (data: unknown) => PrivateNetwork;
4
4
  export declare const unmarshalRoute: (data: unknown) => Route;
5
5
  export declare const unmarshalVPC: (data: unknown) => VPC;
6
6
  export declare const unmarshalAddSubnetsResponse: (data: unknown) => AddSubnetsResponse;
7
7
  export declare const unmarshalDeleteSubnetsResponse: (data: unknown) => DeleteSubnetsResponse;
8
+ export declare const unmarshalGetAclResponse: (data: unknown) => GetAclResponse;
8
9
  export declare const unmarshalListPrivateNetworksResponse: (data: unknown) => ListPrivateNetworksResponse;
9
10
  export declare const unmarshalListSubnetsResponse: (data: unknown) => ListSubnetsResponse;
10
11
  export declare const unmarshalListVPCsResponse: (data: unknown) => ListVPCsResponse;
12
+ export declare const unmarshalSetAclResponse: (data: unknown) => SetAclResponse;
11
13
  export declare const unmarshalSetSubnetsResponse: (data: unknown) => SetSubnetsResponse;
12
14
  export declare const marshalAddSubnetsRequest: (request: AddSubnetsRequest, defaults: DefaultValues) => Record<string, unknown>;
13
15
  export declare const marshalCreatePrivateNetworkRequest: (request: CreatePrivateNetworkRequest, defaults: DefaultValues) => Record<string, unknown>;
14
16
  export declare const marshalCreateRouteRequest: (request: CreateRouteRequest, defaults: DefaultValues) => Record<string, unknown>;
15
17
  export declare const marshalCreateVPCRequest: (request: CreateVPCRequest, defaults: DefaultValues) => Record<string, unknown>;
16
18
  export declare const marshalDeleteSubnetsRequest: (request: DeleteSubnetsRequest, defaults: DefaultValues) => Record<string, unknown>;
19
+ export declare const marshalSetAclRequest: (request: SetAclRequest, defaults: DefaultValues) => Record<string, unknown>;
17
20
  export declare const marshalSetSubnetsRequest: (request: SetSubnetsRequest, defaults: DefaultValues) => Record<string, unknown>;
18
21
  export declare const marshalUpdatePrivateNetworkRequest: (request: UpdatePrivateNetworkRequest, defaults: DefaultValues) => Record<string, unknown>;
19
22
  export declare const marshalUpdateRouteRequest: (request: UpdateRouteRequest, defaults: DefaultValues) => Record<string, unknown>;
@@ -98,6 +98,35 @@ const unmarshalDeleteSubnetsResponse = (data) => {
98
98
  subnets: data.subnets
99
99
  };
100
100
  };
101
+ const unmarshalAclRule = (data) => {
102
+ if (!isJSONObject(data)) {
103
+ throw new TypeError(
104
+ `Unmarshalling the type 'AclRule' failed as data isn't a dictionary.`
105
+ );
106
+ }
107
+ return {
108
+ action: data.action,
109
+ description: data.description,
110
+ destination: data.destination,
111
+ dstPortHigh: data.dst_port_high,
112
+ dstPortLow: data.dst_port_low,
113
+ protocol: data.protocol,
114
+ source: data.source,
115
+ srcPortHigh: data.src_port_high,
116
+ srcPortLow: data.src_port_low
117
+ };
118
+ };
119
+ const unmarshalGetAclResponse = (data) => {
120
+ if (!isJSONObject(data)) {
121
+ throw new TypeError(
122
+ `Unmarshalling the type 'GetAclResponse' failed as data isn't a dictionary.`
123
+ );
124
+ }
125
+ return {
126
+ defaultPolicy: data.default_policy,
127
+ rules: unmarshalArrayOfObject(data.rules, unmarshalAclRule)
128
+ };
129
+ };
101
130
  const unmarshalListPrivateNetworksResponse = (data) => {
102
131
  if (!isJSONObject(data)) {
103
132
  throw new TypeError(
@@ -134,6 +163,17 @@ const unmarshalListVPCsResponse = (data) => {
134
163
  vpcs: unmarshalArrayOfObject(data.vpcs, unmarshalVPC)
135
164
  };
136
165
  };
166
+ const unmarshalSetAclResponse = (data) => {
167
+ if (!isJSONObject(data)) {
168
+ throw new TypeError(
169
+ `Unmarshalling the type 'SetAclResponse' failed as data isn't a dictionary.`
170
+ );
171
+ }
172
+ return {
173
+ defaultPolicy: data.default_policy,
174
+ rules: unmarshalArrayOfObject(data.rules, unmarshalAclRule)
175
+ };
176
+ };
137
177
  const unmarshalSetSubnetsResponse = (data) => {
138
178
  if (!isJSONObject(data)) {
139
179
  throw new TypeError(
@@ -171,6 +211,22 @@ const marshalCreateVPCRequest = (request, defaults) => ({
171
211
  const marshalDeleteSubnetsRequest = (request, defaults) => ({
172
212
  subnets: request.subnets
173
213
  });
214
+ const marshalAclRule = (request, defaults) => ({
215
+ action: request.action,
216
+ description: request.description,
217
+ destination: request.destination,
218
+ dst_port_high: request.dstPortHigh,
219
+ dst_port_low: request.dstPortLow,
220
+ protocol: request.protocol,
221
+ source: request.source,
222
+ src_port_high: request.srcPortHigh,
223
+ src_port_low: request.srcPortLow
224
+ });
225
+ const marshalSetAclRequest = (request, defaults) => ({
226
+ default_policy: request.defaultPolicy,
227
+ is_ipv6: request.isIpv6,
228
+ rules: request.rules.map((elt) => marshalAclRule(elt))
229
+ });
174
230
  const marshalSetSubnetsRequest = (request, defaults) => ({
175
231
  subnets: request.subnets
176
232
  });
@@ -195,17 +251,20 @@ export {
195
251
  marshalCreateRouteRequest,
196
252
  marshalCreateVPCRequest,
197
253
  marshalDeleteSubnetsRequest,
254
+ marshalSetAclRequest,
198
255
  marshalSetSubnetsRequest,
199
256
  marshalUpdatePrivateNetworkRequest,
200
257
  marshalUpdateRouteRequest,
201
258
  marshalUpdateVPCRequest,
202
259
  unmarshalAddSubnetsResponse,
203
260
  unmarshalDeleteSubnetsResponse,
261
+ unmarshalGetAclResponse,
204
262
  unmarshalListPrivateNetworksResponse,
205
263
  unmarshalListSubnetsResponse,
206
264
  unmarshalListVPCsResponse,
207
265
  unmarshalPrivateNetwork,
208
266
  unmarshalRoute,
267
+ unmarshalSetAclResponse,
209
268
  unmarshalSetSubnetsResponse,
210
269
  unmarshalVPC
211
270
  };