@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.
@@ -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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"}
@@ -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:
@@ -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:
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../platform/service.ts"],"names":[],"mappings":"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"}
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).