@pulumi/venafi 1.1.0 → 1.4.0-alpha.1637767766
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/README.md +1 -1
- package/certificate.d.ts +34 -34
- package/certificate.js +1 -0
- package/certificate.js.map +1 -1
- package/config/index.js +11 -4
- package/config/index.js.map +1 -1
- package/config/vars.d.ts +8 -8
- package/config/vars.js +49 -36
- package/config/vars.js.map +1 -1
- package/index.d.ts +1 -0
- package/index.js +19 -6
- package/index.js.map +1 -1
- package/package.json +4 -3
- package/package.json.bak +3 -2
- package/package.json.dev +4 -3
- package/policy.d.ts +4 -4
- package/policy.js +1 -0
- package/policy.js.map +1 -1
- package/provider.d.ts +42 -8
- package/provider.js +1 -0
- package/provider.js.map +1 -1
- package/sshCertificate.d.ts +300 -0
- package/sshCertificate.js +121 -0
- package/sshCertificate.js.map +1 -0
- package/utilities.js +1 -0
- package/utilities.js.map +1 -1
package/README.md
CHANGED
package/certificate.d.ts
CHANGED
|
@@ -142,81 +142,81 @@ export interface CertificateState {
|
|
|
142
142
|
* Key encryption algorithm, either `RSA` or `ECDSA`.
|
|
143
143
|
* Defaults to `RSA`.
|
|
144
144
|
*/
|
|
145
|
-
|
|
145
|
+
algorithm?: pulumi.Input<string>;
|
|
146
146
|
/**
|
|
147
147
|
* The X509 certificate in PEM format.
|
|
148
148
|
*/
|
|
149
|
-
|
|
150
|
-
|
|
149
|
+
certificate?: pulumi.Input<string>;
|
|
150
|
+
certificateDn?: pulumi.Input<string>;
|
|
151
151
|
/**
|
|
152
152
|
* The trust chain of X509 certificate authority certificates in PEM format
|
|
153
153
|
* concatenated together.
|
|
154
154
|
*/
|
|
155
|
-
|
|
155
|
+
chain?: pulumi.Input<string>;
|
|
156
156
|
/**
|
|
157
157
|
* The common name of the certificate.
|
|
158
158
|
*/
|
|
159
|
-
|
|
160
|
-
|
|
159
|
+
commonName?: pulumi.Input<string>;
|
|
160
|
+
csrPem?: pulumi.Input<string>;
|
|
161
161
|
/**
|
|
162
162
|
* Collection of Custom Field name-value pairs to
|
|
163
163
|
* assign to the certificate.
|
|
164
164
|
*/
|
|
165
|
-
|
|
165
|
+
customFields?: pulumi.Input<{
|
|
166
166
|
[key: string]: pulumi.Input<string>;
|
|
167
167
|
}>;
|
|
168
168
|
/**
|
|
169
169
|
* ECDSA curve to use when generating a key
|
|
170
170
|
*/
|
|
171
|
-
|
|
171
|
+
ecdsaCurve?: pulumi.Input<string>;
|
|
172
172
|
/**
|
|
173
173
|
* Number of hours before certificate expiry
|
|
174
174
|
* to request a new certificate.
|
|
175
175
|
*/
|
|
176
|
-
|
|
176
|
+
expirationWindow?: pulumi.Input<number>;
|
|
177
177
|
/**
|
|
178
178
|
* Used with validDays to indicate the target
|
|
179
179
|
* issuer when using Trust Protection Platform. Relevant values are: "DigiCert",
|
|
180
180
|
* "Entrust", and "Microsoft".
|
|
181
181
|
*/
|
|
182
|
-
|
|
182
|
+
issuerHint?: pulumi.Input<string>;
|
|
183
183
|
/**
|
|
184
184
|
* The password used to encrypt the private key.
|
|
185
185
|
*/
|
|
186
|
-
|
|
186
|
+
keyPassword?: pulumi.Input<string>;
|
|
187
187
|
/**
|
|
188
188
|
* A base64-encoded PKCS#12 keystore secured by the `keyPassword`.
|
|
189
189
|
*/
|
|
190
|
-
|
|
190
|
+
pkcs12?: pulumi.Input<string>;
|
|
191
191
|
/**
|
|
192
192
|
* The private key in PEM format.
|
|
193
193
|
*/
|
|
194
|
-
|
|
194
|
+
privateKeyPem?: pulumi.Input<string>;
|
|
195
195
|
/**
|
|
196
196
|
* Number of bits to use when generating an RSA key.
|
|
197
197
|
* Applies when `algorithm=RSA`. Defaults to `2048`.
|
|
198
198
|
*/
|
|
199
|
-
|
|
199
|
+
rsaBits?: pulumi.Input<number>;
|
|
200
200
|
/**
|
|
201
201
|
* List of DNS names to use as alternative
|
|
202
202
|
* subjects of the certificate.
|
|
203
203
|
*/
|
|
204
|
-
|
|
204
|
+
sanDns?: pulumi.Input<pulumi.Input<string>[]>;
|
|
205
205
|
/**
|
|
206
206
|
* List of email addresses to use as
|
|
207
207
|
* alternative subjects of the certificate.
|
|
208
208
|
*/
|
|
209
|
-
|
|
209
|
+
sanEmails?: pulumi.Input<pulumi.Input<string>[]>;
|
|
210
210
|
/**
|
|
211
211
|
* List of IP addresses to use as alternative
|
|
212
212
|
* subjects of the certificate.
|
|
213
213
|
*/
|
|
214
|
-
|
|
214
|
+
sanIps?: pulumi.Input<pulumi.Input<string>[]>;
|
|
215
215
|
/**
|
|
216
216
|
* Desired number of days for which the new
|
|
217
217
|
* certificate will be valid.
|
|
218
218
|
*/
|
|
219
|
-
|
|
219
|
+
validDays?: pulumi.Input<number>;
|
|
220
220
|
}
|
|
221
221
|
/**
|
|
222
222
|
* The set of arguments for constructing a Certificate resource.
|
|
@@ -226,70 +226,70 @@ export interface CertificateArgs {
|
|
|
226
226
|
* Key encryption algorithm, either `RSA` or `ECDSA`.
|
|
227
227
|
* Defaults to `RSA`.
|
|
228
228
|
*/
|
|
229
|
-
|
|
230
|
-
|
|
229
|
+
algorithm?: pulumi.Input<string>;
|
|
230
|
+
certificateDn?: pulumi.Input<string>;
|
|
231
231
|
/**
|
|
232
232
|
* The common name of the certificate.
|
|
233
233
|
*/
|
|
234
|
-
|
|
235
|
-
|
|
234
|
+
commonName: pulumi.Input<string>;
|
|
235
|
+
csrPem?: pulumi.Input<string>;
|
|
236
236
|
/**
|
|
237
237
|
* Collection of Custom Field name-value pairs to
|
|
238
238
|
* assign to the certificate.
|
|
239
239
|
*/
|
|
240
|
-
|
|
240
|
+
customFields?: pulumi.Input<{
|
|
241
241
|
[key: string]: pulumi.Input<string>;
|
|
242
242
|
}>;
|
|
243
243
|
/**
|
|
244
244
|
* ECDSA curve to use when generating a key
|
|
245
245
|
*/
|
|
246
|
-
|
|
246
|
+
ecdsaCurve?: pulumi.Input<string>;
|
|
247
247
|
/**
|
|
248
248
|
* Number of hours before certificate expiry
|
|
249
249
|
* to request a new certificate.
|
|
250
250
|
*/
|
|
251
|
-
|
|
251
|
+
expirationWindow?: pulumi.Input<number>;
|
|
252
252
|
/**
|
|
253
253
|
* Used with validDays to indicate the target
|
|
254
254
|
* issuer when using Trust Protection Platform. Relevant values are: "DigiCert",
|
|
255
255
|
* "Entrust", and "Microsoft".
|
|
256
256
|
*/
|
|
257
|
-
|
|
257
|
+
issuerHint?: pulumi.Input<string>;
|
|
258
258
|
/**
|
|
259
259
|
* The password used to encrypt the private key.
|
|
260
260
|
*/
|
|
261
|
-
|
|
261
|
+
keyPassword?: pulumi.Input<string>;
|
|
262
262
|
/**
|
|
263
263
|
* A base64-encoded PKCS#12 keystore secured by the `keyPassword`.
|
|
264
264
|
*/
|
|
265
|
-
|
|
265
|
+
pkcs12?: pulumi.Input<string>;
|
|
266
266
|
/**
|
|
267
267
|
* The private key in PEM format.
|
|
268
268
|
*/
|
|
269
|
-
|
|
269
|
+
privateKeyPem?: pulumi.Input<string>;
|
|
270
270
|
/**
|
|
271
271
|
* Number of bits to use when generating an RSA key.
|
|
272
272
|
* Applies when `algorithm=RSA`. Defaults to `2048`.
|
|
273
273
|
*/
|
|
274
|
-
|
|
274
|
+
rsaBits?: pulumi.Input<number>;
|
|
275
275
|
/**
|
|
276
276
|
* List of DNS names to use as alternative
|
|
277
277
|
* subjects of the certificate.
|
|
278
278
|
*/
|
|
279
|
-
|
|
279
|
+
sanDns?: pulumi.Input<pulumi.Input<string>[]>;
|
|
280
280
|
/**
|
|
281
281
|
* List of email addresses to use as
|
|
282
282
|
* alternative subjects of the certificate.
|
|
283
283
|
*/
|
|
284
|
-
|
|
284
|
+
sanEmails?: pulumi.Input<pulumi.Input<string>[]>;
|
|
285
285
|
/**
|
|
286
286
|
* List of IP addresses to use as alternative
|
|
287
287
|
* subjects of the certificate.
|
|
288
288
|
*/
|
|
289
|
-
|
|
289
|
+
sanIps?: pulumi.Input<pulumi.Input<string>[]>;
|
|
290
290
|
/**
|
|
291
291
|
* Desired number of days for which the new
|
|
292
292
|
* certificate will be valid.
|
|
293
293
|
*/
|
|
294
|
-
|
|
294
|
+
validDays?: pulumi.Input<number>;
|
|
295
295
|
}
|
package/certificate.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
|
3
3
|
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.Certificate = void 0;
|
|
5
6
|
const pulumi = require("@pulumi/pulumi");
|
|
6
7
|
const utilities = require("./utilities");
|
|
7
8
|
/**
|
package/certificate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"certificate.js","sourceRoot":"","sources":["../certificate.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF
|
|
1
|
+
{"version":3,"file":"certificate.js","sourceRoot":"","sources":["../certificate.ts"],"names":[],"mappings":"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"}
|
package/config/index.js
CHANGED
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
|
3
3
|
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
-
function
|
|
5
|
-
|
|
6
|
-
}
|
|
4
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
5
|
+
if (k2 === undefined) k2 = k;
|
|
6
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
7
|
+
}) : (function(o, m, k, k2) {
|
|
8
|
+
if (k2 === undefined) k2 = k;
|
|
9
|
+
o[k2] = m[k];
|
|
10
|
+
}));
|
|
11
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
12
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
13
|
+
};
|
|
7
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
15
|
// Export members:
|
|
9
|
-
|
|
16
|
+
__exportStar(require("./vars"), exports);
|
|
10
17
|
//# sourceMappingURL=index.js.map
|
package/config/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../config/index.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../config/index.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;;;;;;;;;;AAEjF,kBAAkB;AAClB,yCAAuB"}
|
package/config/vars.d.ts
CHANGED
|
@@ -1,35 +1,35 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Access token for TPP, user should use this for authentication
|
|
3
3
|
*/
|
|
4
|
-
export declare
|
|
4
|
+
export declare const accessToken: string | undefined;
|
|
5
5
|
/**
|
|
6
6
|
* API key for Venafi Cloud. Example: 142231b7-cvb0-412e-886b-6aeght0bc93d
|
|
7
7
|
*/
|
|
8
|
-
export declare
|
|
8
|
+
export declare const apiKey: string | undefined;
|
|
9
9
|
/**
|
|
10
10
|
* When set to true, the resulting certificate will be issued by an ephemeral, no trust CA rather than enrolling using
|
|
11
11
|
* Venafi Cloud or Platform. Useful for development and testing.
|
|
12
12
|
*/
|
|
13
|
-
export declare
|
|
13
|
+
export declare const devMode: boolean | undefined;
|
|
14
14
|
/**
|
|
15
15
|
* Password for WebSDK user. Example: password
|
|
16
16
|
*/
|
|
17
|
-
export declare
|
|
17
|
+
export declare const tppPassword: string | undefined;
|
|
18
18
|
/**
|
|
19
19
|
* WebSDK user for Venafi Platform. Example: admin
|
|
20
20
|
*/
|
|
21
|
-
export declare
|
|
21
|
+
export declare const tppUsername: string | undefined;
|
|
22
22
|
/**
|
|
23
23
|
* Use to specify a PEM-formatted file that contains certificates to be trust anchors for all communications with the
|
|
24
24
|
* Venafi Web Service. Example: trust_bundle = "${file("chain.pem")}"
|
|
25
25
|
*/
|
|
26
|
-
export declare
|
|
26
|
+
export declare const trustBundle: string | undefined;
|
|
27
27
|
/**
|
|
28
28
|
* The Venafi Web Service URL.. Example: https://tpp.venafi.example/vedsdk
|
|
29
29
|
*/
|
|
30
|
-
export declare
|
|
30
|
+
export declare const url: string | undefined;
|
|
31
31
|
/**
|
|
32
32
|
* DN of the Venafi Platform policy folder or name of the Venafi Cloud zone. Example for Platform: testpolicy\\vault
|
|
33
33
|
* Example for Venafi Cloud: Default
|
|
34
34
|
*/
|
|
35
|
-
export declare
|
|
35
|
+
export declare const zone: string | undefined;
|
package/config/vars.js
CHANGED
|
@@ -3,40 +3,53 @@
|
|
|
3
3
|
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
const pulumi = require("@pulumi/pulumi");
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
exports
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
6
|
+
const __config = new pulumi.Config("venafi");
|
|
7
|
+
Object.defineProperty(exports, "accessToken", {
|
|
8
|
+
get() {
|
|
9
|
+
return __config.get("accessToken");
|
|
10
|
+
},
|
|
11
|
+
enumerable: true,
|
|
12
|
+
});
|
|
13
|
+
Object.defineProperty(exports, "apiKey", {
|
|
14
|
+
get() {
|
|
15
|
+
return __config.get("apiKey");
|
|
16
|
+
},
|
|
17
|
+
enumerable: true,
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports, "devMode", {
|
|
20
|
+
get() {
|
|
21
|
+
return __config.getObject("devMode");
|
|
22
|
+
},
|
|
23
|
+
enumerable: true,
|
|
24
|
+
});
|
|
25
|
+
Object.defineProperty(exports, "tppPassword", {
|
|
26
|
+
get() {
|
|
27
|
+
return __config.get("tppPassword");
|
|
28
|
+
},
|
|
29
|
+
enumerable: true,
|
|
30
|
+
});
|
|
31
|
+
Object.defineProperty(exports, "tppUsername", {
|
|
32
|
+
get() {
|
|
33
|
+
return __config.get("tppUsername");
|
|
34
|
+
},
|
|
35
|
+
enumerable: true,
|
|
36
|
+
});
|
|
37
|
+
Object.defineProperty(exports, "trustBundle", {
|
|
38
|
+
get() {
|
|
39
|
+
return __config.get("trustBundle");
|
|
40
|
+
},
|
|
41
|
+
enumerable: true,
|
|
42
|
+
});
|
|
43
|
+
Object.defineProperty(exports, "url", {
|
|
44
|
+
get() {
|
|
45
|
+
return __config.get("url");
|
|
46
|
+
},
|
|
47
|
+
enumerable: true,
|
|
48
|
+
});
|
|
49
|
+
Object.defineProperty(exports, "zone", {
|
|
50
|
+
get() {
|
|
51
|
+
return __config.get("zone");
|
|
52
|
+
},
|
|
53
|
+
enumerable: true,
|
|
54
|
+
});
|
|
42
55
|
//# sourceMappingURL=vars.js.map
|
package/config/vars.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vars.js","sourceRoot":"","sources":["../../config/vars.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;AAEjF,yCAAyC;
|
|
1
|
+
{"version":3,"file":"vars.js","sourceRoot":"","sources":["../../config/vars.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;AAEjF,yCAAyC;AAIzC,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAM7C,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,aAAa,EAAE;IAC1C,GAAG;QACC,OAAO,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACvC,CAAC;IACD,UAAU,EAAE,IAAI;CACnB,CAAC,CAAC;AAMH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE;IACrC,GAAG;QACC,OAAO,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IACD,UAAU,EAAE,IAAI;CACnB,CAAC,CAAC;AAOH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE;IACtC,GAAG;QACC,OAAO,QAAQ,CAAC,SAAS,CAAU,SAAS,CAAC,CAAC;IAClD,CAAC;IACD,UAAU,EAAE,IAAI;CACnB,CAAC,CAAC;AAMH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,aAAa,EAAE;IAC1C,GAAG;QACC,OAAO,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACvC,CAAC;IACD,UAAU,EAAE,IAAI;CACnB,CAAC,CAAC;AAMH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,aAAa,EAAE;IAC1C,GAAG;QACC,OAAO,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACvC,CAAC;IACD,UAAU,EAAE,IAAI;CACnB,CAAC,CAAC;AAOH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,aAAa,EAAE;IAC1C,GAAG;QACC,OAAO,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACvC,CAAC;IACD,UAAU,EAAE,IAAI;CACnB,CAAC,CAAC;AAMH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE;IAClC,GAAG;QACC,OAAO,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IACD,UAAU,EAAE,IAAI;CACnB,CAAC,CAAC;AAOH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE;IACnC,GAAG;QACC,OAAO,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IACD,UAAU,EAAE,IAAI;CACnB,CAAC,CAAC"}
|
package/index.d.ts
CHANGED
package/index.js
CHANGED
|
@@ -1,22 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
|
3
3
|
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
-
function
|
|
5
|
-
|
|
6
|
-
}
|
|
4
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
5
|
+
if (k2 === undefined) k2 = k;
|
|
6
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
7
|
+
}) : (function(o, m, k, k2) {
|
|
8
|
+
if (k2 === undefined) k2 = k;
|
|
9
|
+
o[k2] = m[k];
|
|
10
|
+
}));
|
|
11
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
12
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
13
|
+
};
|
|
7
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.config = void 0;
|
|
8
16
|
const pulumi = require("@pulumi/pulumi");
|
|
9
17
|
const utilities = require("./utilities");
|
|
10
18
|
// Export members:
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
19
|
+
__exportStar(require("./certificate"), exports);
|
|
20
|
+
__exportStar(require("./policy"), exports);
|
|
21
|
+
__exportStar(require("./provider"), exports);
|
|
22
|
+
__exportStar(require("./sshCertificate"), exports);
|
|
14
23
|
// Export sub-modules:
|
|
15
24
|
const config = require("./config");
|
|
16
25
|
exports.config = config;
|
|
17
26
|
// Import resources to register:
|
|
18
27
|
const certificate_1 = require("./certificate");
|
|
19
28
|
const policy_1 = require("./policy");
|
|
29
|
+
const sshCertificate_1 = require("./sshCertificate");
|
|
20
30
|
const _module = {
|
|
21
31
|
version: utilities.getVersion(),
|
|
22
32
|
construct: (name, type, urn) => {
|
|
@@ -25,6 +35,8 @@ const _module = {
|
|
|
25
35
|
return new certificate_1.Certificate(name, undefined, { urn });
|
|
26
36
|
case "venafi:index/policy:Policy":
|
|
27
37
|
return new policy_1.Policy(name, undefined, { urn });
|
|
38
|
+
case "venafi:index/sshCertificate:SshCertificate":
|
|
39
|
+
return new sshCertificate_1.SshCertificate(name, undefined, { urn });
|
|
28
40
|
default:
|
|
29
41
|
throw new Error(`unknown resource type ${type}`);
|
|
30
42
|
}
|
|
@@ -32,6 +44,7 @@ const _module = {
|
|
|
32
44
|
};
|
|
33
45
|
pulumi.runtime.registerResourceModule("venafi", "index/certificate", _module);
|
|
34
46
|
pulumi.runtime.registerResourceModule("venafi", "index/policy", _module);
|
|
47
|
+
pulumi.runtime.registerResourceModule("venafi", "index/sshCertificate", _module);
|
|
35
48
|
const provider_1 = require("./provider");
|
|
36
49
|
pulumi.runtime.registerResourcePackage("venafi", {
|
|
37
50
|
version: utilities.getVersion(),
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;;;;;;;;;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC,kBAAkB;AAClB,gDAA8B;AAC9B,2CAAyB;AACzB,6CAA2B;AAC3B,mDAAiC;AAEjC,sBAAsB;AACtB,mCAAmC;AAG/B,wBAAM;AAGV,gCAAgC;AAChC,+CAA4C;AAC5C,qCAAkC;AAClC,qDAAkD;AAElD,MAAM,OAAO,GAAG;IACZ,OAAO,EAAE,SAAS,CAAC,UAAU,EAAE;IAC/B,SAAS,EAAE,CAAC,IAAY,EAAE,IAAY,EAAE,GAAW,EAAmB,EAAE;QACpE,QAAQ,IAAI,EAAE;YACV,KAAK,sCAAsC;gBACvC,OAAO,IAAI,yBAAW,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YACzD,KAAK,4BAA4B;gBAC7B,OAAO,IAAI,eAAM,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YACpD,KAAK,4CAA4C;gBAC7C,OAAO,IAAI,+BAAc,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YAC5D;gBACI,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;SACxD;IACL,CAAC;CACJ,CAAC;AACF,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,QAAQ,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAA;AAC7E,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,CAAA;AACxE,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,QAAQ,EAAE,sBAAsB,EAAE,OAAO,CAAC,CAAA;AAEhF,yCAAsC;AAEtC,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,QAAQ,EAAE;IAC7C,OAAO,EAAE,SAAS,CAAC,UAAU,EAAE;IAC/B,iBAAiB,EAAE,CAAC,IAAY,EAAE,IAAY,EAAE,GAAW,EAA2B,EAAE;QACpF,IAAI,IAAI,KAAK,yBAAyB,EAAE;YACpC,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;SACpD;QACD,OAAO,IAAI,mBAAQ,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IACvD,CAAC;CACJ,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pulumi/venafi",
|
|
3
|
-
"version": "v1.
|
|
3
|
+
"version": "v1.4.0-alpha.1637767766+5ae5709b",
|
|
4
4
|
"description": "A Pulumi package for creating and managing venafi cloud resources.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pulumi",
|
|
@@ -11,14 +11,15 @@
|
|
|
11
11
|
"license": "Apache-2.0",
|
|
12
12
|
"scripts": {
|
|
13
13
|
"build": "tsc",
|
|
14
|
-
"install": "node scripts/install-pulumi-plugin.js resource venafi v1.
|
|
14
|
+
"install": "node scripts/install-pulumi-plugin.js resource venafi v1.4.0-alpha.1637767766+5ae5709b"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
17
|
"@pulumi/pulumi": "^3.0.0"
|
|
18
18
|
},
|
|
19
19
|
"devDependencies": {
|
|
20
20
|
"@types/mime": "^2.0.0",
|
|
21
|
-
"@types/node": "^10.0.0"
|
|
21
|
+
"@types/node": "^10.0.0",
|
|
22
|
+
"typescript": "^4.3.5"
|
|
22
23
|
},
|
|
23
24
|
"pulumi": {
|
|
24
25
|
"resource": true
|
package/package.json.bak
CHANGED
package/package.json.dev
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pulumi/venafi",
|
|
3
|
-
"version": "v1.
|
|
3
|
+
"version": "v1.4.0-alpha.1637767766+5ae5709b",
|
|
4
4
|
"description": "A Pulumi package for creating and managing venafi cloud resources.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pulumi",
|
|
@@ -17,9 +17,10 @@
|
|
|
17
17
|
},
|
|
18
18
|
"devDependencies": {
|
|
19
19
|
"@types/mime": "^2.0.0",
|
|
20
|
-
"@types/node": "^10.0.0"
|
|
20
|
+
"@types/node": "^10.0.0",
|
|
21
|
+
"typescript": "^4.3.5"
|
|
21
22
|
},
|
|
22
23
|
"pulumi": {
|
|
23
24
|
"resource": true
|
|
24
25
|
}
|
|
25
|
-
}
|
|
26
|
+
}
|
package/policy.d.ts
CHANGED
|
@@ -70,12 +70,12 @@ export interface PolicyState {
|
|
|
70
70
|
* The JSON-formatted certificate policy
|
|
71
71
|
* specification. Typically read from a file using the `file` function.
|
|
72
72
|
*/
|
|
73
|
-
|
|
73
|
+
policySpecification?: pulumi.Input<string>;
|
|
74
74
|
/**
|
|
75
75
|
* The *Trust Protection Plaform* policy folder or
|
|
76
76
|
* *Venafi as a Service* application and issuing template.
|
|
77
77
|
*/
|
|
78
|
-
|
|
78
|
+
zone?: pulumi.Input<string>;
|
|
79
79
|
}
|
|
80
80
|
/**
|
|
81
81
|
* The set of arguments for constructing a Policy resource.
|
|
@@ -85,10 +85,10 @@ export interface PolicyArgs {
|
|
|
85
85
|
* The JSON-formatted certificate policy
|
|
86
86
|
* specification. Typically read from a file using the `file` function.
|
|
87
87
|
*/
|
|
88
|
-
|
|
88
|
+
policySpecification?: pulumi.Input<string>;
|
|
89
89
|
/**
|
|
90
90
|
* The *Trust Protection Plaform* policy folder or
|
|
91
91
|
* *Venafi as a Service* application and issuing template.
|
|
92
92
|
*/
|
|
93
|
-
|
|
93
|
+
zone?: pulumi.Input<string>;
|
|
94
94
|
}
|
package/policy.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
|
3
3
|
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.Policy = void 0;
|
|
5
6
|
const pulumi = require("@pulumi/pulumi");
|
|
6
7
|
const utilities = require("./utilities");
|
|
7
8
|
/**
|
package/policy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../policy.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF
|
|
1
|
+
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../policy.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAa,MAAO,SAAQ,MAAM,CAAC,cAAc;IA+C7C,YAAY,IAAY,EAAE,WAAsC,EAAE,IAAmC;QACjG,IAAI,MAAM,GAAkB,EAAE,CAAC;QAC/B,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAsC,CAAC;YACrD,MAAM,CAAC,qBAAqB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9E,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;SACnD;aAAM;YACH,MAAM,IAAI,GAAG,WAAqC,CAAC;YACnD,MAAM,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5E,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;SACjD;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACf,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,UAAU,EAAE,EAAC,CAAC,CAAC;SACxE;QACD,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IA9DD;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAmB,EAAE,IAAmC;QACjH,OAAO,IAAI,MAAM,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IAC7D,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,MAAM,CAAC,YAAY,CAAC;IACvD,CAAC;;AA1BL,wBAgEC;AAlDG,gBAAgB;AACO,mBAAY,GAAG,4BAA4B,CAAC"}
|
package/provider.d.ts
CHANGED
|
@@ -11,6 +11,40 @@ export declare class Provider extends pulumi.ProviderResource {
|
|
|
11
11
|
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
12
12
|
*/
|
|
13
13
|
static isInstance(obj: any): obj is Provider;
|
|
14
|
+
/**
|
|
15
|
+
* Access token for TPP, user should use this for authentication
|
|
16
|
+
*/
|
|
17
|
+
readonly accessToken: pulumi.Output<string | undefined>;
|
|
18
|
+
/**
|
|
19
|
+
* API key for Venafi Cloud. Example: 142231b7-cvb0-412e-886b-6aeght0bc93d
|
|
20
|
+
*/
|
|
21
|
+
readonly apiKey: pulumi.Output<string | undefined>;
|
|
22
|
+
/**
|
|
23
|
+
* Password for WebSDK user. Example: password
|
|
24
|
+
*
|
|
25
|
+
* @deprecated , please use access_token instead
|
|
26
|
+
*/
|
|
27
|
+
readonly tppPassword: pulumi.Output<string | undefined>;
|
|
28
|
+
/**
|
|
29
|
+
* WebSDK user for Venafi Platform. Example: admin
|
|
30
|
+
*
|
|
31
|
+
* @deprecated , please use access_token instead
|
|
32
|
+
*/
|
|
33
|
+
readonly tppUsername: pulumi.Output<string | undefined>;
|
|
34
|
+
/**
|
|
35
|
+
* Use to specify a PEM-formatted file that contains certificates to be trust anchors for all communications with the
|
|
36
|
+
* Venafi Web Service. Example: trust_bundle = "${file("chain.pem")}"
|
|
37
|
+
*/
|
|
38
|
+
readonly trustBundle: pulumi.Output<string | undefined>;
|
|
39
|
+
/**
|
|
40
|
+
* The Venafi Web Service URL.. Example: https://tpp.venafi.example/vedsdk
|
|
41
|
+
*/
|
|
42
|
+
readonly url: pulumi.Output<string | undefined>;
|
|
43
|
+
/**
|
|
44
|
+
* DN of the Venafi Platform policy folder or name of the Venafi Cloud zone. Example for Platform: testpolicy\\vault
|
|
45
|
+
* Example for Venafi Cloud: Default
|
|
46
|
+
*/
|
|
47
|
+
readonly zone: pulumi.Output<string | undefined>;
|
|
14
48
|
/**
|
|
15
49
|
* Create a Provider resource with the given unique name, arguments, and options.
|
|
16
50
|
*
|
|
@@ -27,40 +61,40 @@ export interface ProviderArgs {
|
|
|
27
61
|
/**
|
|
28
62
|
* Access token for TPP, user should use this for authentication
|
|
29
63
|
*/
|
|
30
|
-
|
|
64
|
+
accessToken?: pulumi.Input<string>;
|
|
31
65
|
/**
|
|
32
66
|
* API key for Venafi Cloud. Example: 142231b7-cvb0-412e-886b-6aeght0bc93d
|
|
33
67
|
*/
|
|
34
|
-
|
|
68
|
+
apiKey?: pulumi.Input<string>;
|
|
35
69
|
/**
|
|
36
70
|
* When set to true, the resulting certificate will be issued by an ephemeral, no trust CA rather than enrolling using
|
|
37
71
|
* Venafi Cloud or Platform. Useful for development and testing.
|
|
38
72
|
*/
|
|
39
|
-
|
|
73
|
+
devMode?: pulumi.Input<boolean>;
|
|
40
74
|
/**
|
|
41
75
|
* Password for WebSDK user. Example: password
|
|
42
76
|
*
|
|
43
77
|
* @deprecated , please use access_token instead
|
|
44
78
|
*/
|
|
45
|
-
|
|
79
|
+
tppPassword?: pulumi.Input<string>;
|
|
46
80
|
/**
|
|
47
81
|
* WebSDK user for Venafi Platform. Example: admin
|
|
48
82
|
*
|
|
49
83
|
* @deprecated , please use access_token instead
|
|
50
84
|
*/
|
|
51
|
-
|
|
85
|
+
tppUsername?: pulumi.Input<string>;
|
|
52
86
|
/**
|
|
53
87
|
* Use to specify a PEM-formatted file that contains certificates to be trust anchors for all communications with the
|
|
54
88
|
* Venafi Web Service. Example: trust_bundle = "${file("chain.pem")}"
|
|
55
89
|
*/
|
|
56
|
-
|
|
90
|
+
trustBundle?: pulumi.Input<string>;
|
|
57
91
|
/**
|
|
58
92
|
* The Venafi Web Service URL.. Example: https://tpp.venafi.example/vedsdk
|
|
59
93
|
*/
|
|
60
|
-
|
|
94
|
+
url?: pulumi.Input<string>;
|
|
61
95
|
/**
|
|
62
96
|
* DN of the Venafi Platform policy folder or name of the Venafi Cloud zone. Example for Platform: testpolicy\\vault
|
|
63
97
|
* Example for Venafi Cloud: Default
|
|
64
98
|
*/
|
|
65
|
-
|
|
99
|
+
zone?: pulumi.Input<string>;
|
|
66
100
|
}
|
package/provider.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
|
3
3
|
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.Provider = void 0;
|
|
5
6
|
const pulumi = require("@pulumi/pulumi");
|
|
6
7
|
const utilities = require("./utilities");
|
|
7
8
|
/**
|
package/provider.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../provider.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../provider.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;GAKG;AACH,MAAa,QAAS,SAAQ,MAAM,CAAC,gBAAgB;IAkDjD;;;;;;OAMG;IACH,YAAY,IAAY,EAAE,IAAmB,EAAE,IAA6B;QACxE,IAAI,MAAM,GAAkB,EAAE,CAAC;QAC/B,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB;YACI,MAAM,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5D,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YAClD,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACzF,MAAM,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5D,MAAM,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5D,MAAM,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5D,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5C,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;SACjD;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACf,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,UAAU,EAAE,EAAC,CAAC,CAAC;SACxE;QACD,KAAK,CAAC,QAAQ,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;IAtED;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,QAAQ,CAAC,YAAY,CAAC;IACzD,CAAC;;AAbL,4BA2EC;AA1EG,gBAAgB;AACO,qBAAY,GAAG,QAAQ,CAAC"}
|
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
import * as pulumi from "@pulumi/pulumi";
|
|
2
|
+
/**
|
|
3
|
+
* Provides access to request and retrieve SSH certificates from *Venafi Trust Protection Platform*.
|
|
4
|
+
*
|
|
5
|
+
* ## Example Usage
|
|
6
|
+
*
|
|
7
|
+
* ```typescript
|
|
8
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
9
|
+
* import * as venafi from "@pulumi/venafi";
|
|
10
|
+
*
|
|
11
|
+
* const sshCert = new venafi.SshCertificate("ssh_cert", {
|
|
12
|
+
* keyId: "my-first-ssh-certificate",
|
|
13
|
+
* keyPassphrase: "passw0rd",
|
|
14
|
+
* keySize: 3072,
|
|
15
|
+
* principals: ["seamus"],
|
|
16
|
+
* publicKeyMethod: "local",
|
|
17
|
+
* template: "Sample SSH CA",
|
|
18
|
+
* validHours: 24,
|
|
19
|
+
* });
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export declare class SshCertificate extends pulumi.CustomResource {
|
|
23
|
+
/**
|
|
24
|
+
* Get an existing SshCertificate resource's state with the given name, ID, and optional extra
|
|
25
|
+
* properties used to qualify the lookup.
|
|
26
|
+
*
|
|
27
|
+
* @param name The _unique_ name of the resulting resource.
|
|
28
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
29
|
+
* @param state Any extra arguments used during the lookup.
|
|
30
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
31
|
+
*/
|
|
32
|
+
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SshCertificateState, opts?: pulumi.CustomResourceOptions): SshCertificate;
|
|
33
|
+
/**
|
|
34
|
+
* Returns true if the given object is an instance of SshCertificate. This is designed to work even
|
|
35
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
36
|
+
*/
|
|
37
|
+
static isInstance(obj: any): obj is SshCertificate;
|
|
38
|
+
/**
|
|
39
|
+
* The issued SSH certificate.
|
|
40
|
+
*/
|
|
41
|
+
readonly certificate: pulumi.Output<string>;
|
|
42
|
+
/**
|
|
43
|
+
* Indicates whether the SSH certificate is for client or server authentication.
|
|
44
|
+
*/
|
|
45
|
+
readonly certificateType: pulumi.Output<string>;
|
|
46
|
+
/**
|
|
47
|
+
* A list of one or more valid IP or CIDR destination hosts where the certificate will authenticate.
|
|
48
|
+
*/
|
|
49
|
+
readonly destinationAddresses: pulumi.Output<string[] | undefined>;
|
|
50
|
+
/**
|
|
51
|
+
* A list of key-value pairs that contain certificate extensions from the CA template for client certificates. Allowed values (case-sensitive): *permit-X11-forwarding, permit-agent-forwarding, permit-port-forwarding, permit-pty, permit-user-rc*
|
|
52
|
+
*/
|
|
53
|
+
readonly extensions: pulumi.Output<string[] | undefined>;
|
|
54
|
+
/**
|
|
55
|
+
* The DN of the policy folder where the SSH certificate object will be created.
|
|
56
|
+
*/
|
|
57
|
+
readonly folder: pulumi.Output<string | undefined>;
|
|
58
|
+
/**
|
|
59
|
+
* A command to run after successful login.
|
|
60
|
+
*/
|
|
61
|
+
readonly forceCommand: pulumi.Output<string | undefined>;
|
|
62
|
+
/**
|
|
63
|
+
* The identifier of the requested SSH certificate.
|
|
64
|
+
*/
|
|
65
|
+
readonly keyId: pulumi.Output<string>;
|
|
66
|
+
/**
|
|
67
|
+
* Passphrase for encrypting the private key.
|
|
68
|
+
*/
|
|
69
|
+
readonly keyPassphrase: pulumi.Output<string | undefined>;
|
|
70
|
+
/**
|
|
71
|
+
* Number of bits to use when creating a key pair. (e.g. 3072)
|
|
72
|
+
*/
|
|
73
|
+
readonly keySize: pulumi.Output<number | undefined>;
|
|
74
|
+
/**
|
|
75
|
+
* The friendly name of the SSH certificate object. When not specified the `keyId` is used for the friendly name. If the object already exists the old certificate is archived and the CA issues a new certificate.
|
|
76
|
+
*/
|
|
77
|
+
readonly objectName: pulumi.Output<string | undefined>;
|
|
78
|
+
/**
|
|
79
|
+
* A list of user names for whom the requested certificate will be valid.
|
|
80
|
+
*/
|
|
81
|
+
readonly principals: pulumi.Output<string[] | undefined>;
|
|
82
|
+
/**
|
|
83
|
+
* The private key for the SSH certificate if generated by Venafi.
|
|
84
|
+
*/
|
|
85
|
+
readonly privateKey: pulumi.Output<string>;
|
|
86
|
+
/**
|
|
87
|
+
* The OpenSSH formatted public key that will be used to generate the SSH certificate.
|
|
88
|
+
*/
|
|
89
|
+
readonly publicKey: pulumi.Output<string | undefined>;
|
|
90
|
+
/**
|
|
91
|
+
* The SHA256 fingerprint of the SSH certificate's public key.
|
|
92
|
+
*/
|
|
93
|
+
readonly publicKeyFingerprint: pulumi.Output<string>;
|
|
94
|
+
/**
|
|
95
|
+
* Specifies whether the public key will be "local" (default), "file" or "service" generated.
|
|
96
|
+
*/
|
|
97
|
+
readonly publicKeyMethod: pulumi.Output<string | undefined>;
|
|
98
|
+
/**
|
|
99
|
+
* The serial number of the SSH certificate.
|
|
100
|
+
*/
|
|
101
|
+
readonly serial: pulumi.Output<string>;
|
|
102
|
+
/**
|
|
103
|
+
* The SHA256 fingerprint of the CA that signed the SSH certificate.
|
|
104
|
+
*/
|
|
105
|
+
readonly signingCa: pulumi.Output<string>;
|
|
106
|
+
/**
|
|
107
|
+
* A list of one or more valid IP or CIDR addresses that can use the SSH certificate.
|
|
108
|
+
*/
|
|
109
|
+
readonly sourceAddresses: pulumi.Output<string[] | undefined>;
|
|
110
|
+
/**
|
|
111
|
+
* The SSH certificate issuing template.
|
|
112
|
+
*/
|
|
113
|
+
readonly template: pulumi.Output<string>;
|
|
114
|
+
/**
|
|
115
|
+
* The date the SSH certificate was issued.
|
|
116
|
+
*/
|
|
117
|
+
readonly validFrom: pulumi.Output<string>;
|
|
118
|
+
/**
|
|
119
|
+
* Desired number of hours for which the certificate will be valid.
|
|
120
|
+
*/
|
|
121
|
+
readonly validHours: pulumi.Output<number | undefined>;
|
|
122
|
+
/**
|
|
123
|
+
* The date the SSH certificate will expire.
|
|
124
|
+
*/
|
|
125
|
+
readonly validTo: pulumi.Output<string>;
|
|
126
|
+
/**
|
|
127
|
+
* Specifies whether the private key will use Windows/DOS style line breaks.
|
|
128
|
+
*/
|
|
129
|
+
readonly windows: pulumi.Output<boolean | undefined>;
|
|
130
|
+
/**
|
|
131
|
+
* Create a SshCertificate resource with the given unique name, arguments, and options.
|
|
132
|
+
*
|
|
133
|
+
* @param name The _unique_ name of the resource.
|
|
134
|
+
* @param args The arguments to use to populate this resource's properties.
|
|
135
|
+
* @param opts A bag of options that control this resource's behavior.
|
|
136
|
+
*/
|
|
137
|
+
constructor(name: string, args: SshCertificateArgs, opts?: pulumi.CustomResourceOptions);
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Input properties used for looking up and filtering SshCertificate resources.
|
|
141
|
+
*/
|
|
142
|
+
export interface SshCertificateState {
|
|
143
|
+
/**
|
|
144
|
+
* The issued SSH certificate.
|
|
145
|
+
*/
|
|
146
|
+
certificate?: pulumi.Input<string>;
|
|
147
|
+
/**
|
|
148
|
+
* Indicates whether the SSH certificate is for client or server authentication.
|
|
149
|
+
*/
|
|
150
|
+
certificateType?: pulumi.Input<string>;
|
|
151
|
+
/**
|
|
152
|
+
* A list of one or more valid IP or CIDR destination hosts where the certificate will authenticate.
|
|
153
|
+
*/
|
|
154
|
+
destinationAddresses?: pulumi.Input<pulumi.Input<string>[]>;
|
|
155
|
+
/**
|
|
156
|
+
* A list of key-value pairs that contain certificate extensions from the CA template for client certificates. Allowed values (case-sensitive): *permit-X11-forwarding, permit-agent-forwarding, permit-port-forwarding, permit-pty, permit-user-rc*
|
|
157
|
+
*/
|
|
158
|
+
extensions?: pulumi.Input<pulumi.Input<string>[]>;
|
|
159
|
+
/**
|
|
160
|
+
* The DN of the policy folder where the SSH certificate object will be created.
|
|
161
|
+
*/
|
|
162
|
+
folder?: pulumi.Input<string>;
|
|
163
|
+
/**
|
|
164
|
+
* A command to run after successful login.
|
|
165
|
+
*/
|
|
166
|
+
forceCommand?: pulumi.Input<string>;
|
|
167
|
+
/**
|
|
168
|
+
* The identifier of the requested SSH certificate.
|
|
169
|
+
*/
|
|
170
|
+
keyId?: pulumi.Input<string>;
|
|
171
|
+
/**
|
|
172
|
+
* Passphrase for encrypting the private key.
|
|
173
|
+
*/
|
|
174
|
+
keyPassphrase?: pulumi.Input<string>;
|
|
175
|
+
/**
|
|
176
|
+
* Number of bits to use when creating a key pair. (e.g. 3072)
|
|
177
|
+
*/
|
|
178
|
+
keySize?: pulumi.Input<number>;
|
|
179
|
+
/**
|
|
180
|
+
* The friendly name of the SSH certificate object. When not specified the `keyId` is used for the friendly name. If the object already exists the old certificate is archived and the CA issues a new certificate.
|
|
181
|
+
*/
|
|
182
|
+
objectName?: pulumi.Input<string>;
|
|
183
|
+
/**
|
|
184
|
+
* A list of user names for whom the requested certificate will be valid.
|
|
185
|
+
*/
|
|
186
|
+
principals?: pulumi.Input<pulumi.Input<string>[]>;
|
|
187
|
+
/**
|
|
188
|
+
* The private key for the SSH certificate if generated by Venafi.
|
|
189
|
+
*/
|
|
190
|
+
privateKey?: pulumi.Input<string>;
|
|
191
|
+
/**
|
|
192
|
+
* The OpenSSH formatted public key that will be used to generate the SSH certificate.
|
|
193
|
+
*/
|
|
194
|
+
publicKey?: pulumi.Input<string>;
|
|
195
|
+
/**
|
|
196
|
+
* The SHA256 fingerprint of the SSH certificate's public key.
|
|
197
|
+
*/
|
|
198
|
+
publicKeyFingerprint?: pulumi.Input<string>;
|
|
199
|
+
/**
|
|
200
|
+
* Specifies whether the public key will be "local" (default), "file" or "service" generated.
|
|
201
|
+
*/
|
|
202
|
+
publicKeyMethod?: pulumi.Input<string>;
|
|
203
|
+
/**
|
|
204
|
+
* The serial number of the SSH certificate.
|
|
205
|
+
*/
|
|
206
|
+
serial?: pulumi.Input<string>;
|
|
207
|
+
/**
|
|
208
|
+
* The SHA256 fingerprint of the CA that signed the SSH certificate.
|
|
209
|
+
*/
|
|
210
|
+
signingCa?: pulumi.Input<string>;
|
|
211
|
+
/**
|
|
212
|
+
* A list of one or more valid IP or CIDR addresses that can use the SSH certificate.
|
|
213
|
+
*/
|
|
214
|
+
sourceAddresses?: pulumi.Input<pulumi.Input<string>[]>;
|
|
215
|
+
/**
|
|
216
|
+
* The SSH certificate issuing template.
|
|
217
|
+
*/
|
|
218
|
+
template?: pulumi.Input<string>;
|
|
219
|
+
/**
|
|
220
|
+
* The date the SSH certificate was issued.
|
|
221
|
+
*/
|
|
222
|
+
validFrom?: pulumi.Input<string>;
|
|
223
|
+
/**
|
|
224
|
+
* Desired number of hours for which the certificate will be valid.
|
|
225
|
+
*/
|
|
226
|
+
validHours?: pulumi.Input<number>;
|
|
227
|
+
/**
|
|
228
|
+
* The date the SSH certificate will expire.
|
|
229
|
+
*/
|
|
230
|
+
validTo?: pulumi.Input<string>;
|
|
231
|
+
/**
|
|
232
|
+
* Specifies whether the private key will use Windows/DOS style line breaks.
|
|
233
|
+
*/
|
|
234
|
+
windows?: pulumi.Input<boolean>;
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* The set of arguments for constructing a SshCertificate resource.
|
|
238
|
+
*/
|
|
239
|
+
export interface SshCertificateArgs {
|
|
240
|
+
/**
|
|
241
|
+
* A list of one or more valid IP or CIDR destination hosts where the certificate will authenticate.
|
|
242
|
+
*/
|
|
243
|
+
destinationAddresses?: pulumi.Input<pulumi.Input<string>[]>;
|
|
244
|
+
/**
|
|
245
|
+
* A list of key-value pairs that contain certificate extensions from the CA template for client certificates. Allowed values (case-sensitive): *permit-X11-forwarding, permit-agent-forwarding, permit-port-forwarding, permit-pty, permit-user-rc*
|
|
246
|
+
*/
|
|
247
|
+
extensions?: pulumi.Input<pulumi.Input<string>[]>;
|
|
248
|
+
/**
|
|
249
|
+
* The DN of the policy folder where the SSH certificate object will be created.
|
|
250
|
+
*/
|
|
251
|
+
folder?: pulumi.Input<string>;
|
|
252
|
+
/**
|
|
253
|
+
* A command to run after successful login.
|
|
254
|
+
*/
|
|
255
|
+
forceCommand?: pulumi.Input<string>;
|
|
256
|
+
/**
|
|
257
|
+
* The identifier of the requested SSH certificate.
|
|
258
|
+
*/
|
|
259
|
+
keyId: pulumi.Input<string>;
|
|
260
|
+
/**
|
|
261
|
+
* Passphrase for encrypting the private key.
|
|
262
|
+
*/
|
|
263
|
+
keyPassphrase?: pulumi.Input<string>;
|
|
264
|
+
/**
|
|
265
|
+
* Number of bits to use when creating a key pair. (e.g. 3072)
|
|
266
|
+
*/
|
|
267
|
+
keySize?: pulumi.Input<number>;
|
|
268
|
+
/**
|
|
269
|
+
* The friendly name of the SSH certificate object. When not specified the `keyId` is used for the friendly name. If the object already exists the old certificate is archived and the CA issues a new certificate.
|
|
270
|
+
*/
|
|
271
|
+
objectName?: pulumi.Input<string>;
|
|
272
|
+
/**
|
|
273
|
+
* A list of user names for whom the requested certificate will be valid.
|
|
274
|
+
*/
|
|
275
|
+
principals?: pulumi.Input<pulumi.Input<string>[]>;
|
|
276
|
+
/**
|
|
277
|
+
* The OpenSSH formatted public key that will be used to generate the SSH certificate.
|
|
278
|
+
*/
|
|
279
|
+
publicKey?: pulumi.Input<string>;
|
|
280
|
+
/**
|
|
281
|
+
* Specifies whether the public key will be "local" (default), "file" or "service" generated.
|
|
282
|
+
*/
|
|
283
|
+
publicKeyMethod?: pulumi.Input<string>;
|
|
284
|
+
/**
|
|
285
|
+
* A list of one or more valid IP or CIDR addresses that can use the SSH certificate.
|
|
286
|
+
*/
|
|
287
|
+
sourceAddresses?: pulumi.Input<pulumi.Input<string>[]>;
|
|
288
|
+
/**
|
|
289
|
+
* The SSH certificate issuing template.
|
|
290
|
+
*/
|
|
291
|
+
template: pulumi.Input<string>;
|
|
292
|
+
/**
|
|
293
|
+
* Desired number of hours for which the certificate will be valid.
|
|
294
|
+
*/
|
|
295
|
+
validHours?: pulumi.Input<number>;
|
|
296
|
+
/**
|
|
297
|
+
* Specifies whether the private key will use Windows/DOS style line breaks.
|
|
298
|
+
*/
|
|
299
|
+
windows?: pulumi.Input<boolean>;
|
|
300
|
+
}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
|
3
|
+
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.SshCertificate = void 0;
|
|
6
|
+
const pulumi = require("@pulumi/pulumi");
|
|
7
|
+
const utilities = require("./utilities");
|
|
8
|
+
/**
|
|
9
|
+
* Provides access to request and retrieve SSH certificates from *Venafi Trust Protection Platform*.
|
|
10
|
+
*
|
|
11
|
+
* ## Example Usage
|
|
12
|
+
*
|
|
13
|
+
* ```typescript
|
|
14
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
15
|
+
* import * as venafi from "@pulumi/venafi";
|
|
16
|
+
*
|
|
17
|
+
* const sshCert = new venafi.SshCertificate("ssh_cert", {
|
|
18
|
+
* keyId: "my-first-ssh-certificate",
|
|
19
|
+
* keyPassphrase: "passw0rd",
|
|
20
|
+
* keySize: 3072,
|
|
21
|
+
* principals: ["seamus"],
|
|
22
|
+
* publicKeyMethod: "local",
|
|
23
|
+
* template: "Sample SSH CA",
|
|
24
|
+
* validHours: 24,
|
|
25
|
+
* });
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
class SshCertificate extends pulumi.CustomResource {
|
|
29
|
+
constructor(name, argsOrState, opts) {
|
|
30
|
+
let inputs = {};
|
|
31
|
+
opts = opts || {};
|
|
32
|
+
if (opts.id) {
|
|
33
|
+
const state = argsOrState;
|
|
34
|
+
inputs["certificate"] = state ? state.certificate : undefined;
|
|
35
|
+
inputs["certificateType"] = state ? state.certificateType : undefined;
|
|
36
|
+
inputs["destinationAddresses"] = state ? state.destinationAddresses : undefined;
|
|
37
|
+
inputs["extensions"] = state ? state.extensions : undefined;
|
|
38
|
+
inputs["folder"] = state ? state.folder : undefined;
|
|
39
|
+
inputs["forceCommand"] = state ? state.forceCommand : undefined;
|
|
40
|
+
inputs["keyId"] = state ? state.keyId : undefined;
|
|
41
|
+
inputs["keyPassphrase"] = state ? state.keyPassphrase : undefined;
|
|
42
|
+
inputs["keySize"] = state ? state.keySize : undefined;
|
|
43
|
+
inputs["objectName"] = state ? state.objectName : undefined;
|
|
44
|
+
inputs["principals"] = state ? state.principals : undefined;
|
|
45
|
+
inputs["privateKey"] = state ? state.privateKey : undefined;
|
|
46
|
+
inputs["publicKey"] = state ? state.publicKey : undefined;
|
|
47
|
+
inputs["publicKeyFingerprint"] = state ? state.publicKeyFingerprint : undefined;
|
|
48
|
+
inputs["publicKeyMethod"] = state ? state.publicKeyMethod : undefined;
|
|
49
|
+
inputs["serial"] = state ? state.serial : undefined;
|
|
50
|
+
inputs["signingCa"] = state ? state.signingCa : undefined;
|
|
51
|
+
inputs["sourceAddresses"] = state ? state.sourceAddresses : undefined;
|
|
52
|
+
inputs["template"] = state ? state.template : undefined;
|
|
53
|
+
inputs["validFrom"] = state ? state.validFrom : undefined;
|
|
54
|
+
inputs["validHours"] = state ? state.validHours : undefined;
|
|
55
|
+
inputs["validTo"] = state ? state.validTo : undefined;
|
|
56
|
+
inputs["windows"] = state ? state.windows : undefined;
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
const args = argsOrState;
|
|
60
|
+
if ((!args || args.keyId === undefined) && !opts.urn) {
|
|
61
|
+
throw new Error("Missing required property 'keyId'");
|
|
62
|
+
}
|
|
63
|
+
if ((!args || args.template === undefined) && !opts.urn) {
|
|
64
|
+
throw new Error("Missing required property 'template'");
|
|
65
|
+
}
|
|
66
|
+
inputs["destinationAddresses"] = args ? args.destinationAddresses : undefined;
|
|
67
|
+
inputs["extensions"] = args ? args.extensions : undefined;
|
|
68
|
+
inputs["folder"] = args ? args.folder : undefined;
|
|
69
|
+
inputs["forceCommand"] = args ? args.forceCommand : undefined;
|
|
70
|
+
inputs["keyId"] = args ? args.keyId : undefined;
|
|
71
|
+
inputs["keyPassphrase"] = args ? args.keyPassphrase : undefined;
|
|
72
|
+
inputs["keySize"] = args ? args.keySize : undefined;
|
|
73
|
+
inputs["objectName"] = args ? args.objectName : undefined;
|
|
74
|
+
inputs["principals"] = args ? args.principals : undefined;
|
|
75
|
+
inputs["publicKey"] = args ? args.publicKey : undefined;
|
|
76
|
+
inputs["publicKeyMethod"] = args ? args.publicKeyMethod : undefined;
|
|
77
|
+
inputs["sourceAddresses"] = args ? args.sourceAddresses : undefined;
|
|
78
|
+
inputs["template"] = args ? args.template : undefined;
|
|
79
|
+
inputs["validHours"] = args ? args.validHours : undefined;
|
|
80
|
+
inputs["windows"] = args ? args.windows : undefined;
|
|
81
|
+
inputs["certificate"] = undefined /*out*/;
|
|
82
|
+
inputs["certificateType"] = undefined /*out*/;
|
|
83
|
+
inputs["privateKey"] = undefined /*out*/;
|
|
84
|
+
inputs["publicKeyFingerprint"] = undefined /*out*/;
|
|
85
|
+
inputs["serial"] = undefined /*out*/;
|
|
86
|
+
inputs["signingCa"] = undefined /*out*/;
|
|
87
|
+
inputs["validFrom"] = undefined /*out*/;
|
|
88
|
+
inputs["validTo"] = undefined /*out*/;
|
|
89
|
+
}
|
|
90
|
+
if (!opts.version) {
|
|
91
|
+
opts = pulumi.mergeOptions(opts, { version: utilities.getVersion() });
|
|
92
|
+
}
|
|
93
|
+
super(SshCertificate.__pulumiType, name, inputs, opts);
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Get an existing SshCertificate resource's state with the given name, ID, and optional extra
|
|
97
|
+
* properties used to qualify the lookup.
|
|
98
|
+
*
|
|
99
|
+
* @param name The _unique_ name of the resulting resource.
|
|
100
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
101
|
+
* @param state Any extra arguments used during the lookup.
|
|
102
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
103
|
+
*/
|
|
104
|
+
static get(name, id, state, opts) {
|
|
105
|
+
return new SshCertificate(name, state, Object.assign(Object.assign({}, opts), { id: id }));
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Returns true if the given object is an instance of SshCertificate. This is designed to work even
|
|
109
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
110
|
+
*/
|
|
111
|
+
static isInstance(obj) {
|
|
112
|
+
if (obj === undefined || obj === null) {
|
|
113
|
+
return false;
|
|
114
|
+
}
|
|
115
|
+
return obj['__pulumiType'] === SshCertificate.__pulumiType;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
exports.SshCertificate = SshCertificate;
|
|
119
|
+
/** @internal */
|
|
120
|
+
SshCertificate.__pulumiType = 'venafi:index/sshCertificate:SshCertificate';
|
|
121
|
+
//# sourceMappingURL=sshCertificate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sshCertificate.js","sourceRoot":"","sources":["../sshCertificate.ts"],"names":[],"mappings":"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"}
|
package/utilities.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
|
3
3
|
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.getVersion = exports.getEnvNumber = exports.getEnvBoolean = exports.getEnv = void 0;
|
|
5
6
|
function getEnv(...vars) {
|
|
6
7
|
for (const v of vars) {
|
|
7
8
|
const value = process.env[v];
|
package/utilities.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utilities.js","sourceRoot":"","sources":["../utilities.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF
|
|
1
|
+
{"version":3,"file":"utilities.js","sourceRoot":"","sources":["../utilities.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAGjF,SAAgB,MAAM,CAAC,GAAG,IAAc;IACpC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;QAClB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,KAAK,EAAE;YACP,OAAO,KAAK,CAAC;SAChB;KACJ;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AARD,wBAQC;AAED,SAAgB,aAAa,CAAC,GAAG,IAAc;IAC3C,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAC1B,IAAI,CAAC,KAAK,SAAS,EAAE;QACjB,uGAAuG;QACvG,yDAAyD;QACzD,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,SAAS,EAAE;YAC1E,OAAO,IAAI,CAAC;SACf;QACD,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,SAAS,EAAE;YAC7E,OAAO,KAAK,CAAC;SAChB;KACJ;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAbD,sCAaC;AAED,SAAgB,YAAY,CAAC,GAAG,IAAc;IAC1C,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAC1B,IAAI,CAAC,KAAK,SAAS,EAAE;QACjB,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACX,OAAO,CAAC,CAAC;SACZ;KACJ;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AATD,oCASC;AAED,SAAgB,UAAU;IACtB,IAAI,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC;IAChD,6EAA6E;IAC7E,iCAAiC;IACjC,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;QAC5B,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KAC9B;IACD,OAAO,OAAO,CAAC;AACnB,CAAC;AARD,gCAQC"}
|