@pulumiverse/scaleway 1.35.0-alpha.1761031391 → 1.35.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.
- package/baremetalServer.d.ts +8 -0
- package/baremetalServer.js +8 -0
- package/baremetalServer.js.map +1 -1
- package/billing/getConsumptions.d.ts +4 -0
- package/billing/getConsumptions.js +4 -0
- package/billing/getConsumptions.js.map +1 -1
- package/block/snapshot.d.ts +4 -0
- package/block/snapshot.js +4 -0
- package/block/snapshot.js.map +1 -1
- package/blockSnapshot.d.ts +4 -0
- package/blockSnapshot.js +4 -0
- package/blockSnapshot.js.map +1 -1
- package/databaseInstance.d.ts +4 -4
- package/databaseInstance.js +3 -3
- package/databaseInstance.js.map +1 -1
- package/databases/instance.d.ts +4 -4
- package/databases/instance.js +3 -3
- package/databases/instance.js.map +1 -1
- package/edgeServicesCacheStage.d.ts +2 -0
- package/edgeServicesCacheStage.js +2 -0
- package/edgeServicesCacheStage.js.map +1 -1
- package/elasticmetal/server.d.ts +8 -0
- package/elasticmetal/server.js +8 -0
- package/elasticmetal/server.js.map +1 -1
- package/fileFilesystem.d.ts +3 -1
- package/fileFilesystem.js +3 -1
- package/fileFilesystem.js.map +1 -1
- package/getBillingConsumptions.d.ts +4 -0
- package/getBillingConsumptions.js +4 -0
- package/getBillingConsumptions.js.map +1 -1
- package/inference/deployment.d.ts +2 -0
- package/inference/deployment.js +2 -0
- package/inference/deployment.js.map +1 -1
- package/inferenceDeployment.d.ts +2 -0
- package/inferenceDeployment.js +2 -0
- package/inferenceDeployment.js.map +1 -1
- package/instance/image.d.ts +40 -15
- package/instance/image.js +25 -0
- package/instance/image.js.map +1 -1
- package/instanceImage.d.ts +40 -15
- package/instanceImage.js +25 -0
- package/instanceImage.js.map +1 -1
- package/keyManagerKey.d.ts +54 -12
- package/keyManagerKey.js +35 -9
- package/keyManagerKey.js.map +1 -1
- package/kubernetes/cluster.d.ts +29 -0
- package/kubernetes/cluster.js +29 -0
- package/kubernetes/cluster.js.map +1 -1
- package/kubernetesCluster.d.ts +29 -0
- package/kubernetesCluster.js +29 -0
- package/kubernetesCluster.js.map +1 -1
- package/package.json +2 -2
- package/types/input.d.ts +36 -56
- package/types/output.d.ts +36 -56
package/instance/image.d.ts
CHANGED
|
@@ -41,6 +41,29 @@ import * as outputs from "../types/output";
|
|
|
41
41
|
* });
|
|
42
42
|
* ```
|
|
43
43
|
*
|
|
44
|
+
* ### With additional volumes
|
|
45
|
+
*
|
|
46
|
+
* ```typescript
|
|
47
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
48
|
+
* import * as scaleway from "@pulumiverse/scaleway";
|
|
49
|
+
*
|
|
50
|
+
* const server = new scaleway.instance.Server("server", {
|
|
51
|
+
* image: "ubuntu_jammy",
|
|
52
|
+
* type: "DEV1-S",
|
|
53
|
+
* });
|
|
54
|
+
* const volume = new scaleway.instance.Volume("volume", {
|
|
55
|
+
* type: "b_ssd",
|
|
56
|
+
* sizeInGb: 20,
|
|
57
|
+
* });
|
|
58
|
+
* const volumeSnapshot = new scaleway.instance.Snapshot("volume_snapshot", {volumeId: volume.id});
|
|
59
|
+
* const serverSnapshot = new scaleway.instance.Snapshot("server_snapshot", {volumeId: main.rootVolume[0].volumeId});
|
|
60
|
+
* const image = new scaleway.instance.Image("image", {
|
|
61
|
+
* name: "image_with_extra_volumes",
|
|
62
|
+
* rootVolumeId: serverSnapshot.id,
|
|
63
|
+
* additionalVolumeIds: [volumeSnapshot.id],
|
|
64
|
+
* });
|
|
65
|
+
* ```
|
|
66
|
+
*
|
|
44
67
|
* ## Import
|
|
45
68
|
*
|
|
46
69
|
* Images can be imported using the `{zone}/{id}`, e.g.
|
|
@@ -69,10 +92,8 @@ export declare class Image extends pulumi.CustomResource {
|
|
|
69
92
|
static isInstance(obj: any): obj is Image;
|
|
70
93
|
/**
|
|
71
94
|
* List of IDs of the snapshots of the additional volumes to be attached to the image.
|
|
72
|
-
*
|
|
73
|
-
* > **Important:** For now it is only possible to have 1 additional_volume.
|
|
74
95
|
*/
|
|
75
|
-
readonly additionalVolumeIds: pulumi.Output<string | undefined>;
|
|
96
|
+
readonly additionalVolumeIds: pulumi.Output<string[] | undefined>;
|
|
76
97
|
/**
|
|
77
98
|
* The description of the extra volumes attached to the image.
|
|
78
99
|
*/
|
|
@@ -82,7 +103,7 @@ export declare class Image extends pulumi.CustomResource {
|
|
|
82
103
|
*/
|
|
83
104
|
readonly architecture: pulumi.Output<string | undefined>;
|
|
84
105
|
/**
|
|
85
|
-
* Date of the
|
|
106
|
+
* Date of the image creation.
|
|
86
107
|
*/
|
|
87
108
|
readonly creationDate: pulumi.Output<string>;
|
|
88
109
|
/**
|
|
@@ -90,7 +111,7 @@ export declare class Image extends pulumi.CustomResource {
|
|
|
90
111
|
*/
|
|
91
112
|
readonly fromServerId: pulumi.Output<string>;
|
|
92
113
|
/**
|
|
93
|
-
* Date of
|
|
114
|
+
* Date of image latest update.
|
|
94
115
|
*/
|
|
95
116
|
readonly modificationDate: pulumi.Output<string>;
|
|
96
117
|
/**
|
|
@@ -114,7 +135,11 @@ export declare class Image extends pulumi.CustomResource {
|
|
|
114
135
|
*/
|
|
115
136
|
readonly rootVolumeId: pulumi.Output<string>;
|
|
116
137
|
/**
|
|
117
|
-
*
|
|
138
|
+
* The description of the root volume attached to the image.
|
|
139
|
+
*/
|
|
140
|
+
readonly rootVolumes: pulumi.Output<outputs.instance.ImageRootVolume[]>;
|
|
141
|
+
/**
|
|
142
|
+
* State of the image. Possible values are: `available`, `creating` or `error`.
|
|
118
143
|
*/
|
|
119
144
|
readonly state: pulumi.Output<string>;
|
|
120
145
|
/**
|
|
@@ -140,10 +165,8 @@ export declare class Image extends pulumi.CustomResource {
|
|
|
140
165
|
export interface ImageState {
|
|
141
166
|
/**
|
|
142
167
|
* List of IDs of the snapshots of the additional volumes to be attached to the image.
|
|
143
|
-
*
|
|
144
|
-
* > **Important:** For now it is only possible to have 1 additional_volume.
|
|
145
168
|
*/
|
|
146
|
-
additionalVolumeIds?: pulumi.Input<string>;
|
|
169
|
+
additionalVolumeIds?: pulumi.Input<pulumi.Input<string>[]>;
|
|
147
170
|
/**
|
|
148
171
|
* The description of the extra volumes attached to the image.
|
|
149
172
|
*/
|
|
@@ -153,7 +176,7 @@ export interface ImageState {
|
|
|
153
176
|
*/
|
|
154
177
|
architecture?: pulumi.Input<string>;
|
|
155
178
|
/**
|
|
156
|
-
* Date of the
|
|
179
|
+
* Date of the image creation.
|
|
157
180
|
*/
|
|
158
181
|
creationDate?: pulumi.Input<string>;
|
|
159
182
|
/**
|
|
@@ -161,7 +184,7 @@ export interface ImageState {
|
|
|
161
184
|
*/
|
|
162
185
|
fromServerId?: pulumi.Input<string>;
|
|
163
186
|
/**
|
|
164
|
-
* Date of
|
|
187
|
+
* Date of image latest update.
|
|
165
188
|
*/
|
|
166
189
|
modificationDate?: pulumi.Input<string>;
|
|
167
190
|
/**
|
|
@@ -185,7 +208,11 @@ export interface ImageState {
|
|
|
185
208
|
*/
|
|
186
209
|
rootVolumeId?: pulumi.Input<string>;
|
|
187
210
|
/**
|
|
188
|
-
*
|
|
211
|
+
* The description of the root volume attached to the image.
|
|
212
|
+
*/
|
|
213
|
+
rootVolumes?: pulumi.Input<pulumi.Input<inputs.instance.ImageRootVolume>[]>;
|
|
214
|
+
/**
|
|
215
|
+
* State of the image. Possible values are: `available`, `creating` or `error`.
|
|
189
216
|
*/
|
|
190
217
|
state?: pulumi.Input<string>;
|
|
191
218
|
/**
|
|
@@ -203,10 +230,8 @@ export interface ImageState {
|
|
|
203
230
|
export interface ImageArgs {
|
|
204
231
|
/**
|
|
205
232
|
* List of IDs of the snapshots of the additional volumes to be attached to the image.
|
|
206
|
-
*
|
|
207
|
-
* > **Important:** For now it is only possible to have 1 additional_volume.
|
|
208
233
|
*/
|
|
209
|
-
additionalVolumeIds?: pulumi.Input<string>;
|
|
234
|
+
additionalVolumeIds?: pulumi.Input<pulumi.Input<string>[]>;
|
|
210
235
|
/**
|
|
211
236
|
* The architecture the image is compatible with. Possible values are: `x8664` or `arm`.
|
|
212
237
|
*/
|
package/instance/image.js
CHANGED
|
@@ -45,6 +45,29 @@ const utilities = require("../utilities");
|
|
|
45
45
|
* });
|
|
46
46
|
* ```
|
|
47
47
|
*
|
|
48
|
+
* ### With additional volumes
|
|
49
|
+
*
|
|
50
|
+
* ```typescript
|
|
51
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
52
|
+
* import * as scaleway from "@pulumiverse/scaleway";
|
|
53
|
+
*
|
|
54
|
+
* const server = new scaleway.instance.Server("server", {
|
|
55
|
+
* image: "ubuntu_jammy",
|
|
56
|
+
* type: "DEV1-S",
|
|
57
|
+
* });
|
|
58
|
+
* const volume = new scaleway.instance.Volume("volume", {
|
|
59
|
+
* type: "b_ssd",
|
|
60
|
+
* sizeInGb: 20,
|
|
61
|
+
* });
|
|
62
|
+
* const volumeSnapshot = new scaleway.instance.Snapshot("volume_snapshot", {volumeId: volume.id});
|
|
63
|
+
* const serverSnapshot = new scaleway.instance.Snapshot("server_snapshot", {volumeId: main.rootVolume[0].volumeId});
|
|
64
|
+
* const image = new scaleway.instance.Image("image", {
|
|
65
|
+
* name: "image_with_extra_volumes",
|
|
66
|
+
* rootVolumeId: serverSnapshot.id,
|
|
67
|
+
* additionalVolumeIds: [volumeSnapshot.id],
|
|
68
|
+
* });
|
|
69
|
+
* ```
|
|
70
|
+
*
|
|
48
71
|
* ## Import
|
|
49
72
|
*
|
|
50
73
|
* Images can be imported using the `{zone}/{id}`, e.g.
|
|
@@ -94,6 +117,7 @@ class Image extends pulumi.CustomResource {
|
|
|
94
117
|
resourceInputs["projectId"] = state?.projectId;
|
|
95
118
|
resourceInputs["public"] = state?.public;
|
|
96
119
|
resourceInputs["rootVolumeId"] = state?.rootVolumeId;
|
|
120
|
+
resourceInputs["rootVolumes"] = state?.rootVolumes;
|
|
97
121
|
resourceInputs["state"] = state?.state;
|
|
98
122
|
resourceInputs["tags"] = state?.tags;
|
|
99
123
|
resourceInputs["zone"] = state?.zone;
|
|
@@ -116,6 +140,7 @@ class Image extends pulumi.CustomResource {
|
|
|
116
140
|
resourceInputs["fromServerId"] = undefined /*out*/;
|
|
117
141
|
resourceInputs["modificationDate"] = undefined /*out*/;
|
|
118
142
|
resourceInputs["organizationId"] = undefined /*out*/;
|
|
143
|
+
resourceInputs["rootVolumes"] = undefined /*out*/;
|
|
119
144
|
resourceInputs["state"] = undefined /*out*/;
|
|
120
145
|
}
|
|
121
146
|
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
package/instance/image.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.js","sourceRoot":"","sources":["../../instance/image.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAGzC,0CAA0C;AAE1C
|
|
1
|
+
{"version":3,"file":"image.js","sourceRoot":"","sources":["../../instance/image.ts"],"names":[],"mappings":"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"}
|
package/instanceImage.d.ts
CHANGED
|
@@ -41,6 +41,29 @@ import * as outputs from "./types/output";
|
|
|
41
41
|
* });
|
|
42
42
|
* ```
|
|
43
43
|
*
|
|
44
|
+
* ### With additional volumes
|
|
45
|
+
*
|
|
46
|
+
* ```typescript
|
|
47
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
48
|
+
* import * as scaleway from "@pulumiverse/scaleway";
|
|
49
|
+
*
|
|
50
|
+
* const server = new scaleway.instance.Server("server", {
|
|
51
|
+
* image: "ubuntu_jammy",
|
|
52
|
+
* type: "DEV1-S",
|
|
53
|
+
* });
|
|
54
|
+
* const volume = new scaleway.instance.Volume("volume", {
|
|
55
|
+
* type: "b_ssd",
|
|
56
|
+
* sizeInGb: 20,
|
|
57
|
+
* });
|
|
58
|
+
* const volumeSnapshot = new scaleway.instance.Snapshot("volume_snapshot", {volumeId: volume.id});
|
|
59
|
+
* const serverSnapshot = new scaleway.instance.Snapshot("server_snapshot", {volumeId: main.rootVolume[0].volumeId});
|
|
60
|
+
* const image = new scaleway.instance.Image("image", {
|
|
61
|
+
* name: "image_with_extra_volumes",
|
|
62
|
+
* rootVolumeId: serverSnapshot.id,
|
|
63
|
+
* additionalVolumeIds: [volumeSnapshot.id],
|
|
64
|
+
* });
|
|
65
|
+
* ```
|
|
66
|
+
*
|
|
44
67
|
* ## Import
|
|
45
68
|
*
|
|
46
69
|
* Images can be imported using the `{zone}/{id}`, e.g.
|
|
@@ -71,10 +94,8 @@ export declare class InstanceImage extends pulumi.CustomResource {
|
|
|
71
94
|
static isInstance(obj: any): obj is InstanceImage;
|
|
72
95
|
/**
|
|
73
96
|
* List of IDs of the snapshots of the additional volumes to be attached to the image.
|
|
74
|
-
*
|
|
75
|
-
* > **Important:** For now it is only possible to have 1 additional_volume.
|
|
76
97
|
*/
|
|
77
|
-
readonly additionalVolumeIds: pulumi.Output<string | undefined>;
|
|
98
|
+
readonly additionalVolumeIds: pulumi.Output<string[] | undefined>;
|
|
78
99
|
/**
|
|
79
100
|
* The description of the extra volumes attached to the image.
|
|
80
101
|
*/
|
|
@@ -84,7 +105,7 @@ export declare class InstanceImage extends pulumi.CustomResource {
|
|
|
84
105
|
*/
|
|
85
106
|
readonly architecture: pulumi.Output<string | undefined>;
|
|
86
107
|
/**
|
|
87
|
-
* Date of the
|
|
108
|
+
* Date of the image creation.
|
|
88
109
|
*/
|
|
89
110
|
readonly creationDate: pulumi.Output<string>;
|
|
90
111
|
/**
|
|
@@ -92,7 +113,7 @@ export declare class InstanceImage extends pulumi.CustomResource {
|
|
|
92
113
|
*/
|
|
93
114
|
readonly fromServerId: pulumi.Output<string>;
|
|
94
115
|
/**
|
|
95
|
-
* Date of
|
|
116
|
+
* Date of image latest update.
|
|
96
117
|
*/
|
|
97
118
|
readonly modificationDate: pulumi.Output<string>;
|
|
98
119
|
/**
|
|
@@ -116,7 +137,11 @@ export declare class InstanceImage extends pulumi.CustomResource {
|
|
|
116
137
|
*/
|
|
117
138
|
readonly rootVolumeId: pulumi.Output<string>;
|
|
118
139
|
/**
|
|
119
|
-
*
|
|
140
|
+
* The description of the root volume attached to the image.
|
|
141
|
+
*/
|
|
142
|
+
readonly rootVolumes: pulumi.Output<outputs.InstanceImageRootVolume[]>;
|
|
143
|
+
/**
|
|
144
|
+
* State of the image. Possible values are: `available`, `creating` or `error`.
|
|
120
145
|
*/
|
|
121
146
|
readonly state: pulumi.Output<string>;
|
|
122
147
|
/**
|
|
@@ -143,10 +168,8 @@ export declare class InstanceImage extends pulumi.CustomResource {
|
|
|
143
168
|
export interface InstanceImageState {
|
|
144
169
|
/**
|
|
145
170
|
* List of IDs of the snapshots of the additional volumes to be attached to the image.
|
|
146
|
-
*
|
|
147
|
-
* > **Important:** For now it is only possible to have 1 additional_volume.
|
|
148
171
|
*/
|
|
149
|
-
additionalVolumeIds?: pulumi.Input<string>;
|
|
172
|
+
additionalVolumeIds?: pulumi.Input<pulumi.Input<string>[]>;
|
|
150
173
|
/**
|
|
151
174
|
* The description of the extra volumes attached to the image.
|
|
152
175
|
*/
|
|
@@ -156,7 +179,7 @@ export interface InstanceImageState {
|
|
|
156
179
|
*/
|
|
157
180
|
architecture?: pulumi.Input<string>;
|
|
158
181
|
/**
|
|
159
|
-
* Date of the
|
|
182
|
+
* Date of the image creation.
|
|
160
183
|
*/
|
|
161
184
|
creationDate?: pulumi.Input<string>;
|
|
162
185
|
/**
|
|
@@ -164,7 +187,7 @@ export interface InstanceImageState {
|
|
|
164
187
|
*/
|
|
165
188
|
fromServerId?: pulumi.Input<string>;
|
|
166
189
|
/**
|
|
167
|
-
* Date of
|
|
190
|
+
* Date of image latest update.
|
|
168
191
|
*/
|
|
169
192
|
modificationDate?: pulumi.Input<string>;
|
|
170
193
|
/**
|
|
@@ -188,7 +211,11 @@ export interface InstanceImageState {
|
|
|
188
211
|
*/
|
|
189
212
|
rootVolumeId?: pulumi.Input<string>;
|
|
190
213
|
/**
|
|
191
|
-
*
|
|
214
|
+
* The description of the root volume attached to the image.
|
|
215
|
+
*/
|
|
216
|
+
rootVolumes?: pulumi.Input<pulumi.Input<inputs.InstanceImageRootVolume>[]>;
|
|
217
|
+
/**
|
|
218
|
+
* State of the image. Possible values are: `available`, `creating` or `error`.
|
|
192
219
|
*/
|
|
193
220
|
state?: pulumi.Input<string>;
|
|
194
221
|
/**
|
|
@@ -206,10 +233,8 @@ export interface InstanceImageState {
|
|
|
206
233
|
export interface InstanceImageArgs {
|
|
207
234
|
/**
|
|
208
235
|
* List of IDs of the snapshots of the additional volumes to be attached to the image.
|
|
209
|
-
*
|
|
210
|
-
* > **Important:** For now it is only possible to have 1 additional_volume.
|
|
211
236
|
*/
|
|
212
|
-
additionalVolumeIds?: pulumi.Input<string>;
|
|
237
|
+
additionalVolumeIds?: pulumi.Input<pulumi.Input<string>[]>;
|
|
213
238
|
/**
|
|
214
239
|
* The architecture the image is compatible with. Possible values are: `x8664` or `arm`.
|
|
215
240
|
*/
|
package/instanceImage.js
CHANGED
|
@@ -45,6 +45,29 @@ const utilities = require("./utilities");
|
|
|
45
45
|
* });
|
|
46
46
|
* ```
|
|
47
47
|
*
|
|
48
|
+
* ### With additional volumes
|
|
49
|
+
*
|
|
50
|
+
* ```typescript
|
|
51
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
52
|
+
* import * as scaleway from "@pulumiverse/scaleway";
|
|
53
|
+
*
|
|
54
|
+
* const server = new scaleway.instance.Server("server", {
|
|
55
|
+
* image: "ubuntu_jammy",
|
|
56
|
+
* type: "DEV1-S",
|
|
57
|
+
* });
|
|
58
|
+
* const volume = new scaleway.instance.Volume("volume", {
|
|
59
|
+
* type: "b_ssd",
|
|
60
|
+
* sizeInGb: 20,
|
|
61
|
+
* });
|
|
62
|
+
* const volumeSnapshot = new scaleway.instance.Snapshot("volume_snapshot", {volumeId: volume.id});
|
|
63
|
+
* const serverSnapshot = new scaleway.instance.Snapshot("server_snapshot", {volumeId: main.rootVolume[0].volumeId});
|
|
64
|
+
* const image = new scaleway.instance.Image("image", {
|
|
65
|
+
* name: "image_with_extra_volumes",
|
|
66
|
+
* rootVolumeId: serverSnapshot.id,
|
|
67
|
+
* additionalVolumeIds: [volumeSnapshot.id],
|
|
68
|
+
* });
|
|
69
|
+
* ```
|
|
70
|
+
*
|
|
48
71
|
* ## Import
|
|
49
72
|
*
|
|
50
73
|
* Images can be imported using the `{zone}/{id}`, e.g.
|
|
@@ -99,6 +122,7 @@ class InstanceImage extends pulumi.CustomResource {
|
|
|
99
122
|
resourceInputs["projectId"] = state?.projectId;
|
|
100
123
|
resourceInputs["public"] = state?.public;
|
|
101
124
|
resourceInputs["rootVolumeId"] = state?.rootVolumeId;
|
|
125
|
+
resourceInputs["rootVolumes"] = state?.rootVolumes;
|
|
102
126
|
resourceInputs["state"] = state?.state;
|
|
103
127
|
resourceInputs["tags"] = state?.tags;
|
|
104
128
|
resourceInputs["zone"] = state?.zone;
|
|
@@ -121,6 +145,7 @@ class InstanceImage extends pulumi.CustomResource {
|
|
|
121
145
|
resourceInputs["fromServerId"] = undefined /*out*/;
|
|
122
146
|
resourceInputs["modificationDate"] = undefined /*out*/;
|
|
123
147
|
resourceInputs["organizationId"] = undefined /*out*/;
|
|
148
|
+
resourceInputs["rootVolumes"] = undefined /*out*/;
|
|
124
149
|
resourceInputs["state"] = undefined /*out*/;
|
|
125
150
|
}
|
|
126
151
|
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
package/instanceImage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instanceImage.js","sourceRoot":"","sources":["../instanceImage.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC
|
|
1
|
+
{"version":3,"file":"instanceImage.js","sourceRoot":"","sources":["../instanceImage.ts"],"names":[],"mappings":"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"}
|
package/keyManagerKey.d.ts
CHANGED
|
@@ -7,15 +7,18 @@ import * as outputs from "./types/output";
|
|
|
7
7
|
*
|
|
8
8
|
* ## Example Usage
|
|
9
9
|
*
|
|
10
|
+
* ### Symmetric Encryption Key
|
|
11
|
+
*
|
|
10
12
|
* ```typescript
|
|
11
13
|
* import * as pulumi from "@pulumi/pulumi";
|
|
12
14
|
* import * as scaleway from "@pulumiverse/scaleway";
|
|
13
15
|
*
|
|
14
|
-
* const
|
|
16
|
+
* const symmetric = new scaleway.KeyManagerKey("symmetric", {
|
|
15
17
|
* name: "my-kms-key",
|
|
16
18
|
* region: "fr-par",
|
|
17
19
|
* projectId: "your-project-id",
|
|
18
20
|
* usage: "symmetric_encryption",
|
|
21
|
+
* algorithm: "aes_256_gcm",
|
|
19
22
|
* description: "Key for encrypting secrets",
|
|
20
23
|
* tags: [
|
|
21
24
|
* "env:prod",
|
|
@@ -28,28 +31,46 @@ import * as outputs from "./types/output";
|
|
|
28
31
|
* });
|
|
29
32
|
* ```
|
|
30
33
|
*
|
|
31
|
-
*
|
|
34
|
+
* ### Asymmetric Encryption Key with RSA-4096
|
|
32
35
|
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
* - **Project and Region**: If not specified, `projectId` and `region` will default to the provider configuration.
|
|
36
|
+
* ```typescript
|
|
37
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
38
|
+
* import * as scaleway from "@pulumiverse/scaleway";
|
|
37
39
|
*
|
|
38
|
-
*
|
|
40
|
+
* const rsa4096 = new scaleway.KeyManagerKey("rsa_4096", {
|
|
41
|
+
* name: "rsa-4096-key",
|
|
42
|
+
* region: "fr-par",
|
|
43
|
+
* usage: "asymmetric_encryption",
|
|
44
|
+
* algorithm: "rsa_oaep_4096_sha256",
|
|
45
|
+
* description: "Key for encrypting large files with RSA-4096",
|
|
46
|
+
* unprotected: true,
|
|
47
|
+
* });
|
|
48
|
+
* ```
|
|
49
|
+
*
|
|
50
|
+
* ### Asymmetric Signing Key
|
|
39
51
|
*
|
|
40
52
|
* ```typescript
|
|
41
53
|
* import * as pulumi from "@pulumi/pulumi";
|
|
42
54
|
* import * as scaleway from "@pulumiverse/scaleway";
|
|
43
55
|
*
|
|
44
|
-
* const
|
|
45
|
-
* name: "
|
|
56
|
+
* const signing = new scaleway.KeyManagerKey("signing", {
|
|
57
|
+
* name: "signing-key",
|
|
46
58
|
* region: "fr-par",
|
|
47
59
|
* usage: "asymmetric_signing",
|
|
60
|
+
* algorithm: "rsa_pss_2048_sha256",
|
|
48
61
|
* description: "Key for signing documents",
|
|
49
62
|
* unprotected: true,
|
|
50
63
|
* });
|
|
51
64
|
* ```
|
|
52
65
|
*
|
|
66
|
+
* ## Notes
|
|
67
|
+
*
|
|
68
|
+
* - **Protection**: By default, keys are protected and cannot be deleted. To allow deletion, set `unprotected = true` when creating the key.
|
|
69
|
+
* - **Rotation Policy**: The `rotationPolicy` block allows you to set automatic rotation for your key.
|
|
70
|
+
* - **Origin**: The `origin` argument is optional and defaults to `scalewayKms`. Use `external` if you want to import an external key (see Scaleway documentation for details).
|
|
71
|
+
* - **Project and Region**: If not specified, `projectId` and `region` will default to the provider configuration.
|
|
72
|
+
* - **Algorithm Validation**: The provider validates that the specified `algorithm` is compatible with the `usage` type at plan time, providing early feedback on configuration errors.
|
|
73
|
+
*
|
|
53
74
|
* ## Import
|
|
54
75
|
*
|
|
55
76
|
* You can import a key using its ID and region:
|
|
@@ -74,6 +95,11 @@ export declare class KeyManagerKey extends pulumi.CustomResource {
|
|
|
74
95
|
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
75
96
|
*/
|
|
76
97
|
static isInstance(obj: any): obj is KeyManagerKey;
|
|
98
|
+
/**
|
|
99
|
+
* – The cryptographic algorithm to use. Valid values depend on the `usage`:
|
|
100
|
+
* - For `symmetricEncryption`:
|
|
101
|
+
*/
|
|
102
|
+
readonly algorithm: pulumi.Output<string>;
|
|
77
103
|
/**
|
|
78
104
|
* The date and time when the key was created.
|
|
79
105
|
*/
|
|
@@ -96,6 +122,8 @@ export declare class KeyManagerKey extends pulumi.CustomResource {
|
|
|
96
122
|
readonly origin: pulumi.Output<string | undefined>;
|
|
97
123
|
/**
|
|
98
124
|
* – The ID of the project the key belongs to.
|
|
125
|
+
*
|
|
126
|
+
* **Key Usage and Algorithm (both required):**
|
|
99
127
|
*/
|
|
100
128
|
readonly projectId: pulumi.Output<string>;
|
|
101
129
|
/**
|
|
@@ -135,7 +163,7 @@ export declare class KeyManagerKey extends pulumi.CustomResource {
|
|
|
135
163
|
*/
|
|
136
164
|
readonly updatedAt: pulumi.Output<string>;
|
|
137
165
|
/**
|
|
138
|
-
* – The usage of the key. Valid values
|
|
166
|
+
* – The usage type of the key. Valid values:
|
|
139
167
|
*/
|
|
140
168
|
readonly usage: pulumi.Output<string>;
|
|
141
169
|
/**
|
|
@@ -151,6 +179,11 @@ export declare class KeyManagerKey extends pulumi.CustomResource {
|
|
|
151
179
|
* Input properties used for looking up and filtering KeyManagerKey resources.
|
|
152
180
|
*/
|
|
153
181
|
export interface KeyManagerKeyState {
|
|
182
|
+
/**
|
|
183
|
+
* – The cryptographic algorithm to use. Valid values depend on the `usage`:
|
|
184
|
+
* - For `symmetricEncryption`:
|
|
185
|
+
*/
|
|
186
|
+
algorithm?: pulumi.Input<string>;
|
|
154
187
|
/**
|
|
155
188
|
* The date and time when the key was created.
|
|
156
189
|
*/
|
|
@@ -173,6 +206,8 @@ export interface KeyManagerKeyState {
|
|
|
173
206
|
origin?: pulumi.Input<string>;
|
|
174
207
|
/**
|
|
175
208
|
* – The ID of the project the key belongs to.
|
|
209
|
+
*
|
|
210
|
+
* **Key Usage and Algorithm (both required):**
|
|
176
211
|
*/
|
|
177
212
|
projectId?: pulumi.Input<string>;
|
|
178
213
|
/**
|
|
@@ -212,7 +247,7 @@ export interface KeyManagerKeyState {
|
|
|
212
247
|
*/
|
|
213
248
|
updatedAt?: pulumi.Input<string>;
|
|
214
249
|
/**
|
|
215
|
-
* – The usage of the key. Valid values
|
|
250
|
+
* – The usage type of the key. Valid values:
|
|
216
251
|
*/
|
|
217
252
|
usage?: pulumi.Input<string>;
|
|
218
253
|
}
|
|
@@ -220,6 +255,11 @@ export interface KeyManagerKeyState {
|
|
|
220
255
|
* The set of arguments for constructing a KeyManagerKey resource.
|
|
221
256
|
*/
|
|
222
257
|
export interface KeyManagerKeyArgs {
|
|
258
|
+
/**
|
|
259
|
+
* – The cryptographic algorithm to use. Valid values depend on the `usage`:
|
|
260
|
+
* - For `symmetricEncryption`:
|
|
261
|
+
*/
|
|
262
|
+
algorithm: pulumi.Input<string>;
|
|
223
263
|
/**
|
|
224
264
|
* – A description for the key.
|
|
225
265
|
*/
|
|
@@ -234,6 +274,8 @@ export interface KeyManagerKeyArgs {
|
|
|
234
274
|
origin?: pulumi.Input<string>;
|
|
235
275
|
/**
|
|
236
276
|
* – The ID of the project the key belongs to.
|
|
277
|
+
*
|
|
278
|
+
* **Key Usage and Algorithm (both required):**
|
|
237
279
|
*/
|
|
238
280
|
projectId?: pulumi.Input<string>;
|
|
239
281
|
/**
|
|
@@ -253,7 +295,7 @@ export interface KeyManagerKeyArgs {
|
|
|
253
295
|
*/
|
|
254
296
|
unprotected?: pulumi.Input<boolean>;
|
|
255
297
|
/**
|
|
256
|
-
* – The usage of the key. Valid values
|
|
298
|
+
* – The usage type of the key. Valid values:
|
|
257
299
|
*/
|
|
258
300
|
usage: pulumi.Input<string>;
|
|
259
301
|
}
|
package/keyManagerKey.js
CHANGED
|
@@ -11,15 +11,18 @@ const utilities = require("./utilities");
|
|
|
11
11
|
*
|
|
12
12
|
* ## Example Usage
|
|
13
13
|
*
|
|
14
|
+
* ### Symmetric Encryption Key
|
|
15
|
+
*
|
|
14
16
|
* ```typescript
|
|
15
17
|
* import * as pulumi from "@pulumi/pulumi";
|
|
16
18
|
* import * as scaleway from "@pulumiverse/scaleway";
|
|
17
19
|
*
|
|
18
|
-
* const
|
|
20
|
+
* const symmetric = new scaleway.KeyManagerKey("symmetric", {
|
|
19
21
|
* name: "my-kms-key",
|
|
20
22
|
* region: "fr-par",
|
|
21
23
|
* projectId: "your-project-id",
|
|
22
24
|
* usage: "symmetric_encryption",
|
|
25
|
+
* algorithm: "aes_256_gcm",
|
|
23
26
|
* description: "Key for encrypting secrets",
|
|
24
27
|
* tags: [
|
|
25
28
|
* "env:prod",
|
|
@@ -32,28 +35,46 @@ const utilities = require("./utilities");
|
|
|
32
35
|
* });
|
|
33
36
|
* ```
|
|
34
37
|
*
|
|
35
|
-
*
|
|
38
|
+
* ### Asymmetric Encryption Key with RSA-4096
|
|
36
39
|
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
40
|
+
* ```typescript
|
|
41
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
42
|
+
* import * as scaleway from "@pulumiverse/scaleway";
|
|
43
|
+
*
|
|
44
|
+
* const rsa4096 = new scaleway.KeyManagerKey("rsa_4096", {
|
|
45
|
+
* name: "rsa-4096-key",
|
|
46
|
+
* region: "fr-par",
|
|
47
|
+
* usage: "asymmetric_encryption",
|
|
48
|
+
* algorithm: "rsa_oaep_4096_sha256",
|
|
49
|
+
* description: "Key for encrypting large files with RSA-4096",
|
|
50
|
+
* unprotected: true,
|
|
51
|
+
* });
|
|
52
|
+
* ```
|
|
41
53
|
*
|
|
42
|
-
*
|
|
54
|
+
* ### Asymmetric Signing Key
|
|
43
55
|
*
|
|
44
56
|
* ```typescript
|
|
45
57
|
* import * as pulumi from "@pulumi/pulumi";
|
|
46
58
|
* import * as scaleway from "@pulumiverse/scaleway";
|
|
47
59
|
*
|
|
48
|
-
* const
|
|
49
|
-
* name: "
|
|
60
|
+
* const signing = new scaleway.KeyManagerKey("signing", {
|
|
61
|
+
* name: "signing-key",
|
|
50
62
|
* region: "fr-par",
|
|
51
63
|
* usage: "asymmetric_signing",
|
|
64
|
+
* algorithm: "rsa_pss_2048_sha256",
|
|
52
65
|
* description: "Key for signing documents",
|
|
53
66
|
* unprotected: true,
|
|
54
67
|
* });
|
|
55
68
|
* ```
|
|
56
69
|
*
|
|
70
|
+
* ## Notes
|
|
71
|
+
*
|
|
72
|
+
* - **Protection**: By default, keys are protected and cannot be deleted. To allow deletion, set `unprotected = true` when creating the key.
|
|
73
|
+
* - **Rotation Policy**: The `rotationPolicy` block allows you to set automatic rotation for your key.
|
|
74
|
+
* - **Origin**: The `origin` argument is optional and defaults to `scalewayKms`. Use `external` if you want to import an external key (see Scaleway documentation for details).
|
|
75
|
+
* - **Project and Region**: If not specified, `projectId` and `region` will default to the provider configuration.
|
|
76
|
+
* - **Algorithm Validation**: The provider validates that the specified `algorithm` is compatible with the `usage` type at plan time, providing early feedback on configuration errors.
|
|
77
|
+
*
|
|
57
78
|
* ## Import
|
|
58
79
|
*
|
|
59
80
|
* You can import a key using its ID and region:
|
|
@@ -90,6 +111,7 @@ class KeyManagerKey extends pulumi.CustomResource {
|
|
|
90
111
|
opts = opts || {};
|
|
91
112
|
if (opts.id) {
|
|
92
113
|
const state = argsOrState;
|
|
114
|
+
resourceInputs["algorithm"] = state?.algorithm;
|
|
93
115
|
resourceInputs["createdAt"] = state?.createdAt;
|
|
94
116
|
resourceInputs["description"] = state?.description;
|
|
95
117
|
resourceInputs["locked"] = state?.locked;
|
|
@@ -109,9 +131,13 @@ class KeyManagerKey extends pulumi.CustomResource {
|
|
|
109
131
|
}
|
|
110
132
|
else {
|
|
111
133
|
const args = argsOrState;
|
|
134
|
+
if (args?.algorithm === undefined && !opts.urn) {
|
|
135
|
+
throw new Error("Missing required property 'algorithm'");
|
|
136
|
+
}
|
|
112
137
|
if (args?.usage === undefined && !opts.urn) {
|
|
113
138
|
throw new Error("Missing required property 'usage'");
|
|
114
139
|
}
|
|
140
|
+
resourceInputs["algorithm"] = args?.algorithm;
|
|
115
141
|
resourceInputs["description"] = args?.description;
|
|
116
142
|
resourceInputs["name"] = args?.name;
|
|
117
143
|
resourceInputs["origin"] = args?.origin;
|
package/keyManagerKey.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyManagerKey.js","sourceRoot":"","sources":["../keyManagerKey.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC
|
|
1
|
+
{"version":3,"file":"keyManagerKey.js","sourceRoot":"","sources":["../keyManagerKey.ts"],"names":[],"mappings":"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"}
|