@pulumi/harness 0.9.1 → 0.9.2
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/autostopping/ruleEcs.d.ts +28 -0
- package/autostopping/ruleEcs.js +28 -0
- package/autostopping/ruleEcs.js.map +1 -1
- package/package.json +2 -2
- package/platform/connectorRancher.d.ts +17 -0
- package/platform/connectorRancher.js +17 -0
- package/platform/connectorRancher.js.map +1 -1
- package/platform/environment.d.ts +83 -0
- package/platform/environment.js +83 -0
- package/platform/environment.js.map +1 -1
- package/platform/gcpSecretManagerConnector.d.ts +49 -0
- package/platform/gcpSecretManagerConnector.js +49 -0
- package/platform/gcpSecretManagerConnector.js.map +1 -1
- package/platform/getSecretWinrm.d.ts +147 -0
- package/platform/getSecretWinrm.js +84 -0
- package/platform/getSecretWinrm.js.map +1 -0
- package/platform/index.d.ts +6 -0
- package/platform/index.js +12 -4
- package/platform/index.js.map +1 -1
- package/platform/infraModuleTesting.d.ts +18 -0
- package/platform/infraModuleTesting.js +18 -0
- package/platform/infraModuleTesting.js.map +1 -1
- package/platform/infrastructure.d.ts +40 -0
- package/platform/infrastructure.js +40 -0
- package/platform/infrastructure.js.map +1 -1
- package/platform/secretWinrm.d.ts +440 -0
- package/platform/secretWinrm.js +362 -0
- package/platform/secretWinrm.js.map +1 -0
- package/platform/service.d.ts +75 -0
- package/platform/service.js +75 -0
- package/platform/service.js.map +1 -1
- package/types/input.d.ts +72 -0
- package/types/output.d.ts +144 -0
|
@@ -0,0 +1,362 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *** WARNING: this file was generated by pulumi-language-nodejs. ***
|
|
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.SecretWinrm = void 0;
|
|
6
|
+
const pulumi = require("@pulumi/pulumi");
|
|
7
|
+
const utilities = require("../utilities");
|
|
8
|
+
/**
|
|
9
|
+
* Resource for creating a WinRM credential secret.
|
|
10
|
+
*
|
|
11
|
+
* ## Example Usage
|
|
12
|
+
*
|
|
13
|
+
* ```typescript
|
|
14
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
15
|
+
* import * as harness from "@pulumi/harness";
|
|
16
|
+
*
|
|
17
|
+
* // ============================================================================
|
|
18
|
+
* // ACCOUNT LEVEL TESTS (3 scenarios)
|
|
19
|
+
* // ============================================================================
|
|
20
|
+
* // 1. Account-level NTLM
|
|
21
|
+
* const accountNtlmPassword = new harness.platform.SecretText("account_ntlm_password", {
|
|
22
|
+
* identifier: "account_ntlm_password_v3",
|
|
23
|
+
* name: "account_ntlm_password_v3",
|
|
24
|
+
* description: "Password for account-level NTLM",
|
|
25
|
+
* secretManagerIdentifier: "harnessSecretManager",
|
|
26
|
+
* valueType: "Inline",
|
|
27
|
+
* value: "account_ntlm_pass",
|
|
28
|
+
* });
|
|
29
|
+
* const accountNtlm = new harness.platform.SecretWinrm("account_ntlm", {
|
|
30
|
+
* identifier: "account_ntlm_v3",
|
|
31
|
+
* name: "Account NTLM v3",
|
|
32
|
+
* description: "Account-level WinRM with NTLM",
|
|
33
|
+
* tags: [
|
|
34
|
+
* "scope:account",
|
|
35
|
+
* "auth:ntlm",
|
|
36
|
+
* ],
|
|
37
|
+
* port: 5986,
|
|
38
|
+
* ntlm: {
|
|
39
|
+
* domain: "example.com",
|
|
40
|
+
* username: "admin",
|
|
41
|
+
* passwordRef: pulumi.interpolate`account.${accountNtlmPassword.id}`,
|
|
42
|
+
* useSsl: true,
|
|
43
|
+
* skipCertCheck: false,
|
|
44
|
+
* useNoProfile: true,
|
|
45
|
+
* },
|
|
46
|
+
* });
|
|
47
|
+
* // 2. Account-level Kerberos with KeyTab
|
|
48
|
+
* const accountKerberosKeytab = new harness.platform.SecretWinrm("account_kerberos_keytab", {
|
|
49
|
+
* identifier: "account_kerberos_keytab_v3",
|
|
50
|
+
* name: "Account Kerberos KeyTab v3",
|
|
51
|
+
* description: "Account-level WinRM with Kerberos KeyTab",
|
|
52
|
+
* tags: [
|
|
53
|
+
* "scope:account",
|
|
54
|
+
* "auth:kerberos-keytab",
|
|
55
|
+
* ],
|
|
56
|
+
* port: 5986,
|
|
57
|
+
* kerberos: {
|
|
58
|
+
* principal: "service@EXAMPLE.COM",
|
|
59
|
+
* realm: "EXAMPLE.COM",
|
|
60
|
+
* tgtGenerationMethod: "KeyTabFilePath",
|
|
61
|
+
* useSsl: true,
|
|
62
|
+
* skipCertCheck: true,
|
|
63
|
+
* useNoProfile: true,
|
|
64
|
+
* tgtKeyTabFilePathSpec: {
|
|
65
|
+
* keyPath: "/etc/krb5.keytab",
|
|
66
|
+
* },
|
|
67
|
+
* },
|
|
68
|
+
* });
|
|
69
|
+
* // 3. Account-level Kerberos with Password
|
|
70
|
+
* const accountKerberosPassword1 = new harness.platform.SecretText("account_kerberos_password_1", {
|
|
71
|
+
* identifier: "account_kerb_pass_20251111",
|
|
72
|
+
* name: "account_kerb_pass_20251111",
|
|
73
|
+
* description: "Password for account-level Kerberos",
|
|
74
|
+
* secretManagerIdentifier: "harnessSecretManager",
|
|
75
|
+
* valueType: "Inline",
|
|
76
|
+
* value: "account_kerberos_pass",
|
|
77
|
+
* });
|
|
78
|
+
* const accountKerberosPassword1SecretWinrm = new harness.platform.SecretWinrm("account_kerberos_password_1", {
|
|
79
|
+
* identifier: "account_kerb_winrm_20251111",
|
|
80
|
+
* name: "Account Kerberos WinRM 20251111",
|
|
81
|
+
* description: "Account-level WinRM with Kerberos Password",
|
|
82
|
+
* tags: [
|
|
83
|
+
* "scope:account",
|
|
84
|
+
* "auth:kerberos-password",
|
|
85
|
+
* ],
|
|
86
|
+
* port: 5986,
|
|
87
|
+
* kerberos: {
|
|
88
|
+
* principal: "user@EXAMPLE.COM",
|
|
89
|
+
* realm: "EXAMPLE.COM",
|
|
90
|
+
* tgtGenerationMethod: "Password",
|
|
91
|
+
* useSsl: true,
|
|
92
|
+
* skipCertCheck: false,
|
|
93
|
+
* useNoProfile: true,
|
|
94
|
+
* tgtPasswordSpec: {
|
|
95
|
+
* passwordRef: pulumi.interpolate`account.${accountKerberosPassword1.id}`,
|
|
96
|
+
* },
|
|
97
|
+
* },
|
|
98
|
+
* });
|
|
99
|
+
* // ============================================================================
|
|
100
|
+
* // ORGANIZATION LEVEL TESTS (3 scenarios)
|
|
101
|
+
* // ============================================================================
|
|
102
|
+
* // 4. Org-level NTLM
|
|
103
|
+
* const orgNtlmPassword = new harness.platform.SecretText("org_ntlm_password", {
|
|
104
|
+
* identifier: "org_ntlm_password_v3",
|
|
105
|
+
* name: "org_ntlm_password_v3",
|
|
106
|
+
* description: "Password for org-level NTLM",
|
|
107
|
+
* orgId: "default",
|
|
108
|
+
* secretManagerIdentifier: "harnessSecretManager",
|
|
109
|
+
* valueType: "Inline",
|
|
110
|
+
* value: "org_ntlm_pass",
|
|
111
|
+
* });
|
|
112
|
+
* const orgNtlm = new harness.platform.SecretWinrm("org_ntlm", {
|
|
113
|
+
* identifier: "org_ntlm_v3",
|
|
114
|
+
* name: "Org NTLM v3",
|
|
115
|
+
* description: "Org-level WinRM with NTLM",
|
|
116
|
+
* orgId: "default",
|
|
117
|
+
* tags: [
|
|
118
|
+
* "scope:org",
|
|
119
|
+
* "auth:ntlm",
|
|
120
|
+
* ],
|
|
121
|
+
* port: 5985,
|
|
122
|
+
* ntlm: {
|
|
123
|
+
* domain: "org.example.com",
|
|
124
|
+
* username: "orgadmin",
|
|
125
|
+
* passwordRef: pulumi.interpolate`org.${orgNtlmPassword.id}`,
|
|
126
|
+
* useSsl: false,
|
|
127
|
+
* skipCertCheck: false,
|
|
128
|
+
* useNoProfile: true,
|
|
129
|
+
* },
|
|
130
|
+
* });
|
|
131
|
+
* // 5. Org-level Kerberos with KeyTab
|
|
132
|
+
* const orgKerberosKeytab = new harness.platform.SecretWinrm("org_kerberos_keytab", {
|
|
133
|
+
* identifier: "org_kerberos_keytab_v3",
|
|
134
|
+
* name: "Org Kerberos KeyTab v3",
|
|
135
|
+
* description: "Org-level WinRM with Kerberos KeyTab",
|
|
136
|
+
* orgId: "default",
|
|
137
|
+
* tags: [
|
|
138
|
+
* "scope:org",
|
|
139
|
+
* "auth:kerberos-keytab",
|
|
140
|
+
* ],
|
|
141
|
+
* port: 5986,
|
|
142
|
+
* kerberos: {
|
|
143
|
+
* principal: "orgservice@EXAMPLE.COM",
|
|
144
|
+
* realm: "EXAMPLE.COM",
|
|
145
|
+
* tgtGenerationMethod: "KeyTabFilePath",
|
|
146
|
+
* useSsl: true,
|
|
147
|
+
* skipCertCheck: true,
|
|
148
|
+
* useNoProfile: true,
|
|
149
|
+
* tgtKeyTabFilePathSpec: {
|
|
150
|
+
* keyPath: "/etc/org.keytab",
|
|
151
|
+
* },
|
|
152
|
+
* },
|
|
153
|
+
* });
|
|
154
|
+
* // 6. Org-level Kerberos with Password
|
|
155
|
+
* const orgKerberosPassword = new harness.platform.SecretText("org_kerberos_password", {
|
|
156
|
+
* identifier: "org_kerb_pass_v3",
|
|
157
|
+
* name: "org_kerb_pass_v3",
|
|
158
|
+
* description: "Password for org-level Kerberos",
|
|
159
|
+
* orgId: "default",
|
|
160
|
+
* secretManagerIdentifier: "harnessSecretManager",
|
|
161
|
+
* valueType: "Inline",
|
|
162
|
+
* value: "org_kerberos_pass",
|
|
163
|
+
* });
|
|
164
|
+
* const orgKerberosPasswordSecretWinrm = new harness.platform.SecretWinrm("org_kerberos_password", {
|
|
165
|
+
* identifier: "org_kerb_winrm_v3",
|
|
166
|
+
* name: "Org Kerberos WinRM v3",
|
|
167
|
+
* description: "Org-level WinRM with Kerberos Password",
|
|
168
|
+
* orgId: "default",
|
|
169
|
+
* tags: [
|
|
170
|
+
* "scope:org",
|
|
171
|
+
* "auth:kerberos-password",
|
|
172
|
+
* ],
|
|
173
|
+
* port: 5986,
|
|
174
|
+
* kerberos: {
|
|
175
|
+
* principal: "orguser@EXAMPLE.COM",
|
|
176
|
+
* realm: "EXAMPLE.COM",
|
|
177
|
+
* tgtGenerationMethod: "Password",
|
|
178
|
+
* useSsl: true,
|
|
179
|
+
* skipCertCheck: false,
|
|
180
|
+
* useNoProfile: true,
|
|
181
|
+
* tgtPasswordSpec: {
|
|
182
|
+
* passwordRef: pulumi.interpolate`org.${orgKerberosPassword.id}`,
|
|
183
|
+
* },
|
|
184
|
+
* },
|
|
185
|
+
* });
|
|
186
|
+
* // ============================================================================
|
|
187
|
+
* // PROJECT LEVEL TESTS (3 scenarios)
|
|
188
|
+
* // ============================================================================
|
|
189
|
+
* // 7. Project-level NTLM
|
|
190
|
+
* const projectNtlmPassword = new harness.platform.SecretText("project_ntlm_password", {
|
|
191
|
+
* identifier: "proj_ntlm_pass_v3",
|
|
192
|
+
* name: "proj_ntlm_pass_v3",
|
|
193
|
+
* description: "Password for project-level NTLM",
|
|
194
|
+
* orgId: "default",
|
|
195
|
+
* projectId: "winrm_support_terraform",
|
|
196
|
+
* secretManagerIdentifier: "harnessSecretManager",
|
|
197
|
+
* valueType: "Inline",
|
|
198
|
+
* value: "project_ntlm_pass",
|
|
199
|
+
* });
|
|
200
|
+
* const projectNtlm = new harness.platform.SecretWinrm("project_ntlm", {
|
|
201
|
+
* identifier: "proj_ntlm_winrm_v3",
|
|
202
|
+
* name: "Project NTLM WinRM v3",
|
|
203
|
+
* description: "Project-level WinRM with NTLM",
|
|
204
|
+
* orgId: "default",
|
|
205
|
+
* projectId: "winrm_support_terraform",
|
|
206
|
+
* tags: [
|
|
207
|
+
* "scope:project",
|
|
208
|
+
* "auth:ntlm",
|
|
209
|
+
* ],
|
|
210
|
+
* port: 5986,
|
|
211
|
+
* ntlm: {
|
|
212
|
+
* domain: "project.example.com",
|
|
213
|
+
* username: "projectadmin",
|
|
214
|
+
* passwordRef: projectNtlmPassword.id,
|
|
215
|
+
* useSsl: true,
|
|
216
|
+
* skipCertCheck: false,
|
|
217
|
+
* useNoProfile: false,
|
|
218
|
+
* },
|
|
219
|
+
* });
|
|
220
|
+
* // 8. Project-level Kerberos with KeyTab
|
|
221
|
+
* const projectKerberosKeytab = new harness.platform.SecretWinrm("project_kerberos_keytab", {
|
|
222
|
+
* identifier: "proj_kerb_keytab_v3",
|
|
223
|
+
* name: "Project Kerberos KeyTab v3",
|
|
224
|
+
* description: "Project-level WinRM with Kerberos KeyTab",
|
|
225
|
+
* orgId: "default",
|
|
226
|
+
* projectId: "winrm_support_terraform",
|
|
227
|
+
* tags: [
|
|
228
|
+
* "scope:project",
|
|
229
|
+
* "auth:kerberos-keytab",
|
|
230
|
+
* ],
|
|
231
|
+
* port: 5986,
|
|
232
|
+
* kerberos: {
|
|
233
|
+
* principal: "projectservice@EXAMPLE.COM",
|
|
234
|
+
* realm: "EXAMPLE.COM",
|
|
235
|
+
* tgtGenerationMethod: "KeyTabFilePath",
|
|
236
|
+
* useSsl: false,
|
|
237
|
+
* skipCertCheck: false,
|
|
238
|
+
* useNoProfile: false,
|
|
239
|
+
* tgtKeyTabFilePathSpec: {
|
|
240
|
+
* keyPath: "/etc/project.keytab",
|
|
241
|
+
* },
|
|
242
|
+
* },
|
|
243
|
+
* });
|
|
244
|
+
* // 9. Project-level Kerberos with Password
|
|
245
|
+
* const projectKerberosPassword = new harness.platform.SecretText("project_kerberos_password", {
|
|
246
|
+
* identifier: "proj_kerb_pass_v3",
|
|
247
|
+
* name: "proj_kerb_pass_v3",
|
|
248
|
+
* description: "Password for project-level Kerberos",
|
|
249
|
+
* orgId: "default",
|
|
250
|
+
* projectId: "winrm_support_terraform",
|
|
251
|
+
* secretManagerIdentifier: "harnessSecretManager",
|
|
252
|
+
* valueType: "Inline",
|
|
253
|
+
* value: "project_kerberos_pass",
|
|
254
|
+
* });
|
|
255
|
+
* const projectKerberosPasswordSecretWinrm = new harness.platform.SecretWinrm("project_kerberos_password", {
|
|
256
|
+
* identifier: "proj_kerb_winrm_v3",
|
|
257
|
+
* name: "Project Kerberos WinRM v3",
|
|
258
|
+
* description: "Project-level WinRM with Kerberos Password",
|
|
259
|
+
* orgId: "default",
|
|
260
|
+
* projectId: "winrm_support_terraform",
|
|
261
|
+
* tags: [
|
|
262
|
+
* "scope:project",
|
|
263
|
+
* "auth:kerberos-password",
|
|
264
|
+
* ],
|
|
265
|
+
* port: 5986,
|
|
266
|
+
* kerberos: {
|
|
267
|
+
* principal: "projectuser@EXAMPLE.COM",
|
|
268
|
+
* realm: "EXAMPLE.COM",
|
|
269
|
+
* tgtGenerationMethod: "Password",
|
|
270
|
+
* useSsl: false,
|
|
271
|
+
* skipCertCheck: true,
|
|
272
|
+
* useNoProfile: true,
|
|
273
|
+
* tgtPasswordSpec: {
|
|
274
|
+
* passwordRef: projectKerberosPassword.id,
|
|
275
|
+
* },
|
|
276
|
+
* },
|
|
277
|
+
* });
|
|
278
|
+
* ```
|
|
279
|
+
*
|
|
280
|
+
* ## Import
|
|
281
|
+
*
|
|
282
|
+
* The `pulumi import` command can be used, for example:
|
|
283
|
+
*
|
|
284
|
+
* Import account level WinRM credential
|
|
285
|
+
*
|
|
286
|
+
* ```sh
|
|
287
|
+
* $ pulumi import harness:platform/secretWinrm:SecretWinrm example <winrm_credential_id>
|
|
288
|
+
* ```
|
|
289
|
+
*
|
|
290
|
+
* Import organization level WinRM credential
|
|
291
|
+
*
|
|
292
|
+
* ```sh
|
|
293
|
+
* $ pulumi import harness:platform/secretWinrm:SecretWinrm example <org_id>/<winrm_credential_id>
|
|
294
|
+
* ```
|
|
295
|
+
*
|
|
296
|
+
* Import project level WinRM credential
|
|
297
|
+
*
|
|
298
|
+
* ```sh
|
|
299
|
+
* $ pulumi import harness:platform/secretWinrm:SecretWinrm example <org_id>/<project_id>/<winrm_credential_id>
|
|
300
|
+
* ```
|
|
301
|
+
*/
|
|
302
|
+
class SecretWinrm extends pulumi.CustomResource {
|
|
303
|
+
/**
|
|
304
|
+
* Get an existing SecretWinrm resource's state with the given name, ID, and optional extra
|
|
305
|
+
* properties used to qualify the lookup.
|
|
306
|
+
*
|
|
307
|
+
* @param name The _unique_ name of the resulting resource.
|
|
308
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
309
|
+
* @param state Any extra arguments used during the lookup.
|
|
310
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
311
|
+
*/
|
|
312
|
+
static get(name, id, state, opts) {
|
|
313
|
+
return new SecretWinrm(name, state, { ...opts, id: id });
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* Returns true if the given object is an instance of SecretWinrm. This is designed to work even
|
|
317
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
318
|
+
*/
|
|
319
|
+
static isInstance(obj) {
|
|
320
|
+
if (obj === undefined || obj === null) {
|
|
321
|
+
return false;
|
|
322
|
+
}
|
|
323
|
+
return obj['__pulumiType'] === SecretWinrm.__pulumiType;
|
|
324
|
+
}
|
|
325
|
+
constructor(name, argsOrState, opts) {
|
|
326
|
+
let resourceInputs = {};
|
|
327
|
+
opts = opts || {};
|
|
328
|
+
if (opts.id) {
|
|
329
|
+
const state = argsOrState;
|
|
330
|
+
resourceInputs["description"] = state?.description;
|
|
331
|
+
resourceInputs["identifier"] = state?.identifier;
|
|
332
|
+
resourceInputs["kerberos"] = state?.kerberos;
|
|
333
|
+
resourceInputs["name"] = state?.name;
|
|
334
|
+
resourceInputs["ntlm"] = state?.ntlm;
|
|
335
|
+
resourceInputs["orgId"] = state?.orgId;
|
|
336
|
+
resourceInputs["port"] = state?.port;
|
|
337
|
+
resourceInputs["projectId"] = state?.projectId;
|
|
338
|
+
resourceInputs["tags"] = state?.tags;
|
|
339
|
+
}
|
|
340
|
+
else {
|
|
341
|
+
const args = argsOrState;
|
|
342
|
+
if (args?.identifier === undefined && !opts.urn) {
|
|
343
|
+
throw new Error("Missing required property 'identifier'");
|
|
344
|
+
}
|
|
345
|
+
resourceInputs["description"] = args?.description;
|
|
346
|
+
resourceInputs["identifier"] = args?.identifier;
|
|
347
|
+
resourceInputs["kerberos"] = args?.kerberos;
|
|
348
|
+
resourceInputs["name"] = args?.name;
|
|
349
|
+
resourceInputs["ntlm"] = args?.ntlm;
|
|
350
|
+
resourceInputs["orgId"] = args?.orgId;
|
|
351
|
+
resourceInputs["port"] = args?.port;
|
|
352
|
+
resourceInputs["projectId"] = args?.projectId;
|
|
353
|
+
resourceInputs["tags"] = args?.tags;
|
|
354
|
+
}
|
|
355
|
+
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
356
|
+
super(SecretWinrm.__pulumiType, name, resourceInputs, opts);
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
exports.SecretWinrm = SecretWinrm;
|
|
360
|
+
/** @internal */
|
|
361
|
+
SecretWinrm.__pulumiType = 'harness:platform/secretWinrm:SecretWinrm';
|
|
362
|
+
//# sourceMappingURL=secretWinrm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secretWinrm.js","sourceRoot":"","sources":["../../platform/secretWinrm.ts"],"names":[],"mappings":"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"}
|
package/platform/service.d.ts
CHANGED
|
@@ -6,6 +6,81 @@ import * as outputs from "../types/output";
|
|
|
6
6
|
*
|
|
7
7
|
* ## Example Usage
|
|
8
8
|
*
|
|
9
|
+
* ```typescript
|
|
10
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
11
|
+
* import * as harness from "@pulumi/harness";
|
|
12
|
+
*
|
|
13
|
+
* const example = new harness.platform.Service("example", {
|
|
14
|
+
* identifier: "identifier",
|
|
15
|
+
* name: "name",
|
|
16
|
+
* description: "test",
|
|
17
|
+
* orgId: "org_id",
|
|
18
|
+
* projectId: "project_id",
|
|
19
|
+
* gitDetails: {
|
|
20
|
+
* branchName: "branchName",
|
|
21
|
+
* commitMessage: "commitMessage",
|
|
22
|
+
* filePath: "filePath",
|
|
23
|
+
* connectorRef: "connectorRef",
|
|
24
|
+
* storeType: "REMOTE",
|
|
25
|
+
* repoName: "repoName",
|
|
26
|
+
* },
|
|
27
|
+
* yaml: `service:
|
|
28
|
+
* name: name
|
|
29
|
+
* identifier: identifier
|
|
30
|
+
* serviceDefinition:
|
|
31
|
+
* spec:
|
|
32
|
+
* manifests:
|
|
33
|
+
* - manifest:
|
|
34
|
+
* identifier: manifest1
|
|
35
|
+
* type: K8sManifest
|
|
36
|
+
* spec:
|
|
37
|
+
* store:
|
|
38
|
+
* type: Github
|
|
39
|
+
* spec:
|
|
40
|
+
* connectorRef: <+input>
|
|
41
|
+
* gitFetchType: Branch
|
|
42
|
+
* paths:
|
|
43
|
+
* - files1
|
|
44
|
+
* repoName: <+input>
|
|
45
|
+
* branch: master
|
|
46
|
+
* skipResourceVersioning: false
|
|
47
|
+
* configFiles:
|
|
48
|
+
* - configFile:
|
|
49
|
+
* identifier: configFile1
|
|
50
|
+
* spec:
|
|
51
|
+
* store:
|
|
52
|
+
* type: Harness
|
|
53
|
+
* spec:
|
|
54
|
+
* files:
|
|
55
|
+
* - <+org.description>
|
|
56
|
+
* variables:
|
|
57
|
+
* - name: var1
|
|
58
|
+
* type: String
|
|
59
|
+
* value: val1
|
|
60
|
+
* - name: var2
|
|
61
|
+
* type: String
|
|
62
|
+
* value: val2
|
|
63
|
+
* type: Kubernetes
|
|
64
|
+
* gitOpsEnabled: false
|
|
65
|
+
* `,
|
|
66
|
+
* });
|
|
67
|
+
* //## Importing Service from Git
|
|
68
|
+
* const test = new harness.platform.Service("test", {
|
|
69
|
+
* identifier: "id",
|
|
70
|
+
* name: "name",
|
|
71
|
+
* orgId: "org_id",
|
|
72
|
+
* projectId: "project_id",
|
|
73
|
+
* importFromGit: true,
|
|
74
|
+
* gitDetails: {
|
|
75
|
+
* storeType: "REMOTE",
|
|
76
|
+
* connectorRef: "account.DoNotDeleteGitX",
|
|
77
|
+
* repoName: "pcf_practice",
|
|
78
|
+
* filePath: ".harness/accountService.yaml",
|
|
79
|
+
* branch: "main",
|
|
80
|
+
* },
|
|
81
|
+
* });
|
|
82
|
+
* ```
|
|
83
|
+
*
|
|
9
84
|
* ## Import
|
|
10
85
|
*
|
|
11
86
|
* The `pulumi import` command can be used, for example:
|
package/platform/service.js
CHANGED
|
@@ -10,6 +10,81 @@ const utilities = require("../utilities");
|
|
|
10
10
|
*
|
|
11
11
|
* ## Example Usage
|
|
12
12
|
*
|
|
13
|
+
* ```typescript
|
|
14
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
15
|
+
* import * as harness from "@pulumi/harness";
|
|
16
|
+
*
|
|
17
|
+
* const example = new harness.platform.Service("example", {
|
|
18
|
+
* identifier: "identifier",
|
|
19
|
+
* name: "name",
|
|
20
|
+
* description: "test",
|
|
21
|
+
* orgId: "org_id",
|
|
22
|
+
* projectId: "project_id",
|
|
23
|
+
* gitDetails: {
|
|
24
|
+
* branchName: "branchName",
|
|
25
|
+
* commitMessage: "commitMessage",
|
|
26
|
+
* filePath: "filePath",
|
|
27
|
+
* connectorRef: "connectorRef",
|
|
28
|
+
* storeType: "REMOTE",
|
|
29
|
+
* repoName: "repoName",
|
|
30
|
+
* },
|
|
31
|
+
* yaml: `service:
|
|
32
|
+
* name: name
|
|
33
|
+
* identifier: identifier
|
|
34
|
+
* serviceDefinition:
|
|
35
|
+
* spec:
|
|
36
|
+
* manifests:
|
|
37
|
+
* - manifest:
|
|
38
|
+
* identifier: manifest1
|
|
39
|
+
* type: K8sManifest
|
|
40
|
+
* spec:
|
|
41
|
+
* store:
|
|
42
|
+
* type: Github
|
|
43
|
+
* spec:
|
|
44
|
+
* connectorRef: <+input>
|
|
45
|
+
* gitFetchType: Branch
|
|
46
|
+
* paths:
|
|
47
|
+
* - files1
|
|
48
|
+
* repoName: <+input>
|
|
49
|
+
* branch: master
|
|
50
|
+
* skipResourceVersioning: false
|
|
51
|
+
* configFiles:
|
|
52
|
+
* - configFile:
|
|
53
|
+
* identifier: configFile1
|
|
54
|
+
* spec:
|
|
55
|
+
* store:
|
|
56
|
+
* type: Harness
|
|
57
|
+
* spec:
|
|
58
|
+
* files:
|
|
59
|
+
* - <+org.description>
|
|
60
|
+
* variables:
|
|
61
|
+
* - name: var1
|
|
62
|
+
* type: String
|
|
63
|
+
* value: val1
|
|
64
|
+
* - name: var2
|
|
65
|
+
* type: String
|
|
66
|
+
* value: val2
|
|
67
|
+
* type: Kubernetes
|
|
68
|
+
* gitOpsEnabled: false
|
|
69
|
+
* `,
|
|
70
|
+
* });
|
|
71
|
+
* //## Importing Service from Git
|
|
72
|
+
* const test = new harness.platform.Service("test", {
|
|
73
|
+
* identifier: "id",
|
|
74
|
+
* name: "name",
|
|
75
|
+
* orgId: "org_id",
|
|
76
|
+
* projectId: "project_id",
|
|
77
|
+
* importFromGit: true,
|
|
78
|
+
* gitDetails: {
|
|
79
|
+
* storeType: "REMOTE",
|
|
80
|
+
* connectorRef: "account.DoNotDeleteGitX",
|
|
81
|
+
* repoName: "pcf_practice",
|
|
82
|
+
* filePath: ".harness/accountService.yaml",
|
|
83
|
+
* branch: "main",
|
|
84
|
+
* },
|
|
85
|
+
* });
|
|
86
|
+
* ```
|
|
87
|
+
*
|
|
13
88
|
* ## Import
|
|
14
89
|
*
|
|
15
90
|
* The `pulumi import` command can be used, for example:
|
package/platform/service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../platform/service.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAGzC,0CAA0C;AAE1C
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../platform/service.ts"],"names":[],"mappings":"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"}
|
package/types/input.d.ts
CHANGED
|
@@ -34211,6 +34211,78 @@ export declare namespace platform {
|
|
|
34211
34211
|
interface SecretTextAdditionalMetadataValue {
|
|
34212
34212
|
version?: pulumi.Input<string>;
|
|
34213
34213
|
}
|
|
34214
|
+
interface SecretWinrmKerberos {
|
|
34215
|
+
/**
|
|
34216
|
+
* Kerberos principal.
|
|
34217
|
+
*/
|
|
34218
|
+
principal: pulumi.Input<string>;
|
|
34219
|
+
/**
|
|
34220
|
+
* Kerberos realm.
|
|
34221
|
+
*/
|
|
34222
|
+
realm: pulumi.Input<string>;
|
|
34223
|
+
/**
|
|
34224
|
+
* Skip certificate verification.
|
|
34225
|
+
*/
|
|
34226
|
+
skipCertCheck?: pulumi.Input<boolean>;
|
|
34227
|
+
/**
|
|
34228
|
+
* Method to generate TGT (Ticket Granting Ticket).
|
|
34229
|
+
*/
|
|
34230
|
+
tgtGenerationMethod?: pulumi.Input<string>;
|
|
34231
|
+
/**
|
|
34232
|
+
* TGT generation using key tab file.
|
|
34233
|
+
*/
|
|
34234
|
+
tgtKeyTabFilePathSpec?: pulumi.Input<inputs.platform.SecretWinrmKerberosTgtKeyTabFilePathSpec>;
|
|
34235
|
+
/**
|
|
34236
|
+
* TGT generation using password.
|
|
34237
|
+
*/
|
|
34238
|
+
tgtPasswordSpec?: pulumi.Input<inputs.platform.SecretWinrmKerberosTgtPasswordSpec>;
|
|
34239
|
+
/**
|
|
34240
|
+
* Use no profile.
|
|
34241
|
+
*/
|
|
34242
|
+
useNoProfile?: pulumi.Input<boolean>;
|
|
34243
|
+
/**
|
|
34244
|
+
* Use SSL/TLS for WinRM communication.
|
|
34245
|
+
*/
|
|
34246
|
+
useSsl?: pulumi.Input<boolean>;
|
|
34247
|
+
}
|
|
34248
|
+
interface SecretWinrmKerberosTgtKeyTabFilePathSpec {
|
|
34249
|
+
/**
|
|
34250
|
+
* Path to the key tab file.
|
|
34251
|
+
*/
|
|
34252
|
+
keyPath: pulumi.Input<string>;
|
|
34253
|
+
}
|
|
34254
|
+
interface SecretWinrmKerberosTgtPasswordSpec {
|
|
34255
|
+
/**
|
|
34256
|
+
* Reference to a secret containing the password. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account' to the expression: account.{identifier}.
|
|
34257
|
+
*/
|
|
34258
|
+
passwordRef: pulumi.Input<string>;
|
|
34259
|
+
}
|
|
34260
|
+
interface SecretWinrmNtlm {
|
|
34261
|
+
/**
|
|
34262
|
+
* Domain name for NTLM authentication.
|
|
34263
|
+
*/
|
|
34264
|
+
domain?: pulumi.Input<string>;
|
|
34265
|
+
/**
|
|
34266
|
+
* Reference to a secret containing the password to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account' to the expression: account.{identifier}.
|
|
34267
|
+
*/
|
|
34268
|
+
passwordRef: pulumi.Input<string>;
|
|
34269
|
+
/**
|
|
34270
|
+
* Skip certificate verification.
|
|
34271
|
+
*/
|
|
34272
|
+
skipCertCheck?: pulumi.Input<boolean>;
|
|
34273
|
+
/**
|
|
34274
|
+
* Use no profile.
|
|
34275
|
+
*/
|
|
34276
|
+
useNoProfile?: pulumi.Input<boolean>;
|
|
34277
|
+
/**
|
|
34278
|
+
* Use SSL/TLS for WinRM communication.
|
|
34279
|
+
*/
|
|
34280
|
+
useSsl?: pulumi.Input<boolean>;
|
|
34281
|
+
/**
|
|
34282
|
+
* Username to use for authentication.
|
|
34283
|
+
*/
|
|
34284
|
+
username: pulumi.Input<string>;
|
|
34285
|
+
}
|
|
34214
34286
|
interface ServiceGitDetails {
|
|
34215
34287
|
/**
|
|
34216
34288
|
* Name of the default branch (this checks out a new branch titled by branch_name).
|