@atensec/pulumi-thoth 0.1.3 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/access/{apiKey.ts → agentApiKey.ts} +29 -33
  2. package/access/endpointApiKey.ts +235 -0
  3. package/access/fleetApiKey.ts +235 -0
  4. package/access/getApiKeyAuthorization.ts +72 -0
  5. package/access/getApiKeys.ts +57 -0
  6. package/access/index.ts +33 -7
  7. package/billing/getCreditBank.ts +56 -0
  8. package/billing/getEstimate.ts +93 -0
  9. package/billing/getInvoices.ts +49 -0
  10. package/billing/getMonthlyCost.ts +38 -0
  11. package/billing/getPricing.ts +37 -0
  12. package/billing/getReport.ts +49 -0
  13. package/billing/getReports.ts +29 -0
  14. package/billing/index.ts +60 -0
  15. package/billing/overageCap.ts +174 -0
  16. package/browser/getEnrollments.ts +52 -0
  17. package/browser/getPolicies.ts +47 -0
  18. package/browser/getProviders.ts +28 -0
  19. package/browser/index.ts +15 -0
  20. package/config/vars.ts +3 -3
  21. package/fleet/fleet.ts +292 -0
  22. package/fleet/getEndpointStats.ts +36 -0
  23. package/fleet/getEndpoints.ts +52 -0
  24. package/fleet/getFleet.ts +48 -0
  25. package/fleet/getFleets.ts +57 -0
  26. package/fleet/index.ts +45 -0
  27. package/governance/getApprovals.ts +57 -0
  28. package/governance/getCostReport.ts +51 -0
  29. package/governance/getDay7Report.ts +46 -0
  30. package/governance/getEvidenceBundle.ts +47 -0
  31. package/governance/getEvidenceChain.ts +53 -0
  32. package/governance/getEvidenceVerify.ts +50 -0
  33. package/governance/getPacks.ts +28 -0
  34. package/governance/getReportsOverview.ts +46 -0
  35. package/governance/getRuntimeStatus.ts +46 -0
  36. package/governance/{tenantSettings.ts → governanceSettings.ts} +18 -244
  37. package/governance/index.ts +76 -7
  38. package/governance/packAssignment.ts +56 -0
  39. package/governance/packAssignmentBulk.ts +56 -0
  40. package/governance/pamSettings.ts +187 -0
  41. package/governance/siemSettings.ts +159 -0
  42. package/governance/webhookSettings.ts +145 -0
  43. package/index.ts +4 -0
  44. package/mdm/getProviders.ts +28 -0
  45. package/mdm/index.ts +5 -0
  46. package/package.json +1 -1
  47. package/provider.ts +9 -12
  48. package/tsconfig.json +37 -2
@@ -48,10 +48,22 @@ export class PackAssignment extends pulumi.CustomResource {
48
48
  * Approval policy ID for pack application.
49
49
  */
50
50
  declare public readonly approvalPolicyId: pulumi.Output<string | undefined>;
51
+ /**
52
+ * Force at least STEP_UP when normalized risk meets/exceeds this threshold (0-1).
53
+ */
54
+ declare public readonly criticalThreshold: pulumi.Output<number | undefined>;
55
+ /**
56
+ * Deterministic boost for delegation risk signals (0-100).
57
+ */
58
+ declare public readonly delegationBoost: pulumi.Output<number | undefined>;
51
59
  /**
52
60
  * Environment: dev or prod.
53
61
  */
54
62
  declare public readonly environment: pulumi.Output<string | undefined>;
63
+ /**
64
+ * Deterministic boost for purpose/sensitivity mismatch signals (0-100).
65
+ */
66
+ declare public readonly mismatchBoost: pulumi.Output<number | undefined>;
55
67
  /**
56
68
  * Pack override JSON object.
57
69
  */
@@ -80,6 +92,10 @@ export class PackAssignment extends pulumi.CustomResource {
80
92
  * Tenant ID from provider configuration.
81
93
  */
82
94
  declare public /*out*/ readonly tenantId: pulumi.Output<string>;
95
+ /**
96
+ * Ignore low-confidence purpose/delegation signals below this floor (0-1).
97
+ */
98
+ declare public readonly trustFloor: pulumi.Output<number | undefined>;
83
99
 
84
100
  /**
85
101
  * Create a PackAssignment resource with the given unique name, arguments, and options.
@@ -98,7 +114,10 @@ export class PackAssignment extends pulumi.CustomResource {
98
114
  resourceInputs["appliedAt"] = state?.appliedAt;
99
115
  resourceInputs["appliedBy"] = state?.appliedBy;
100
116
  resourceInputs["approvalPolicyId"] = state?.approvalPolicyId;
117
+ resourceInputs["criticalThreshold"] = state?.criticalThreshold;
118
+ resourceInputs["delegationBoost"] = state?.delegationBoost;
101
119
  resourceInputs["environment"] = state?.environment;
120
+ resourceInputs["mismatchBoost"] = state?.mismatchBoost;
102
121
  resourceInputs["overridesJson"] = state?.overridesJson;
103
122
  resourceInputs["packId"] = state?.packId;
104
123
  resourceInputs["regulation"] = state?.regulation;
@@ -106,6 +125,7 @@ export class PackAssignment extends pulumi.CustomResource {
106
125
  resourceInputs["ruleVersion"] = state?.ruleVersion;
107
126
  resourceInputs["status"] = state?.status;
108
127
  resourceInputs["tenantId"] = state?.tenantId;
128
+ resourceInputs["trustFloor"] = state?.trustFloor;
109
129
  } else {
110
130
  const args = argsOrState as PackAssignmentArgs | undefined;
111
131
  if (args?.agentId === undefined && !opts.urn) {
@@ -116,9 +136,13 @@ export class PackAssignment extends pulumi.CustomResource {
116
136
  }
117
137
  resourceInputs["agentId"] = args?.agentId;
118
138
  resourceInputs["approvalPolicyId"] = args?.approvalPolicyId;
139
+ resourceInputs["criticalThreshold"] = args?.criticalThreshold;
140
+ resourceInputs["delegationBoost"] = args?.delegationBoost;
119
141
  resourceInputs["environment"] = args?.environment;
142
+ resourceInputs["mismatchBoost"] = args?.mismatchBoost;
120
143
  resourceInputs["overridesJson"] = args?.overridesJson;
121
144
  resourceInputs["packId"] = args?.packId;
145
+ resourceInputs["trustFloor"] = args?.trustFloor;
122
146
  resourceInputs["appliedAt"] = undefined /*out*/;
123
147
  resourceInputs["appliedBy"] = undefined /*out*/;
124
148
  resourceInputs["regulation"] = undefined /*out*/;
@@ -152,10 +176,22 @@ export interface PackAssignmentState {
152
176
  * Approval policy ID for pack application.
153
177
  */
154
178
  approvalPolicyId?: pulumi.Input<string | undefined>;
179
+ /**
180
+ * Force at least STEP_UP when normalized risk meets/exceeds this threshold (0-1).
181
+ */
182
+ criticalThreshold?: pulumi.Input<number | undefined>;
183
+ /**
184
+ * Deterministic boost for delegation risk signals (0-100).
185
+ */
186
+ delegationBoost?: pulumi.Input<number | undefined>;
155
187
  /**
156
188
  * Environment: dev or prod.
157
189
  */
158
190
  environment?: pulumi.Input<string | undefined>;
191
+ /**
192
+ * Deterministic boost for purpose/sensitivity mismatch signals (0-100).
193
+ */
194
+ mismatchBoost?: pulumi.Input<number | undefined>;
159
195
  /**
160
196
  * Pack override JSON object.
161
197
  */
@@ -184,6 +220,10 @@ export interface PackAssignmentState {
184
220
  * Tenant ID from provider configuration.
185
221
  */
186
222
  tenantId?: pulumi.Input<string | undefined>;
223
+ /**
224
+ * Ignore low-confidence purpose/delegation signals below this floor (0-1).
225
+ */
226
+ trustFloor?: pulumi.Input<number | undefined>;
187
227
  }
188
228
 
189
229
  /**
@@ -198,10 +238,22 @@ export interface PackAssignmentArgs {
198
238
  * Approval policy ID for pack application.
199
239
  */
200
240
  approvalPolicyId?: pulumi.Input<string | undefined>;
241
+ /**
242
+ * Force at least STEP_UP when normalized risk meets/exceeds this threshold (0-1).
243
+ */
244
+ criticalThreshold?: pulumi.Input<number | undefined>;
245
+ /**
246
+ * Deterministic boost for delegation risk signals (0-100).
247
+ */
248
+ delegationBoost?: pulumi.Input<number | undefined>;
201
249
  /**
202
250
  * Environment: dev or prod.
203
251
  */
204
252
  environment?: pulumi.Input<string | undefined>;
253
+ /**
254
+ * Deterministic boost for purpose/sensitivity mismatch signals (0-100).
255
+ */
256
+ mismatchBoost?: pulumi.Input<number | undefined>;
205
257
  /**
206
258
  * Pack override JSON object.
207
259
  */
@@ -210,4 +262,8 @@ export interface PackAssignmentArgs {
210
262
  * Compliance pack identifier.
211
263
  */
212
264
  packId: pulumi.Input<string>;
265
+ /**
266
+ * Ignore low-confidence purpose/delegation signals below this floor (0-1).
267
+ */
268
+ trustFloor?: pulumi.Input<number | undefined>;
213
269
  }
@@ -48,6 +48,14 @@ export class PackAssignmentBulk extends pulumi.CustomResource {
48
48
  * Approval policy ID for pack application (defaults to 'default').
49
49
  */
50
50
  declare public readonly approvalPolicyId: pulumi.Output<string | undefined>;
51
+ /**
52
+ * Force at least STEP_UP when normalized risk meets/exceeds this threshold (0-1). Applied to selected pack_ids.
53
+ */
54
+ declare public readonly criticalThreshold: pulumi.Output<number | undefined>;
55
+ /**
56
+ * Deterministic boost for delegation risk signals (0-100). Applied to selected pack_ids.
57
+ */
58
+ declare public readonly delegationBoost: pulumi.Output<number | undefined>;
51
59
  /**
52
60
  * Endpoint IDs whose agents should receive the selected packs.
53
61
  */
@@ -68,6 +76,10 @@ export class PackAssignmentBulk extends pulumi.CustomResource {
68
76
  * Timestamp of the most recent apply operation.
69
77
  */
70
78
  declare public /*out*/ readonly lastAppliedAt: pulumi.Output<string>;
79
+ /**
80
+ * Deterministic boost for purpose/sensitivity mismatch signals (0-100). Applied to selected pack_ids.
81
+ */
82
+ declare public readonly mismatchBoost: pulumi.Output<number | undefined>;
71
83
  /**
72
84
  * JSON map keyed by<span pulumi-lang-nodejs=" packId " pulumi-lang-dotnet=" PackId " pulumi-lang-go=" packId " pulumi-lang-python=" pack_id " pulumi-lang-yaml=" packId " pulumi-lang-java=" packId "> packId </span>with per-pack overrides.
73
85
  */
@@ -96,6 +108,10 @@ export class PackAssignmentBulk extends pulumi.CustomResource {
96
108
  * Change this value to force a fresh apply run.
97
109
  */
98
110
  declare public readonly trigger: pulumi.Output<string | undefined>;
111
+ /**
112
+ * Ignore low-confidence purpose/delegation signals below this floor (0-1). Applied to selected pack_ids.
113
+ */
114
+ declare public readonly trustFloor: pulumi.Output<number | undefined>;
99
115
 
100
116
  /**
101
117
  * Create a PackAssignmentBulk resource with the given unique name, arguments, and options.
@@ -114,11 +130,14 @@ export class PackAssignmentBulk extends pulumi.CustomResource {
114
130
  resourceInputs["allAgents"] = state?.allAgents;
115
131
  resourceInputs["appliedCount"] = state?.appliedCount;
116
132
  resourceInputs["approvalPolicyId"] = state?.approvalPolicyId;
133
+ resourceInputs["criticalThreshold"] = state?.criticalThreshold;
134
+ resourceInputs["delegationBoost"] = state?.delegationBoost;
117
135
  resourceInputs["endpointIds"] = state?.endpointIds;
118
136
  resourceInputs["environment"] = state?.environment;
119
137
  resourceInputs["failedCount"] = state?.failedCount;
120
138
  resourceInputs["fleetIds"] = state?.fleetIds;
121
139
  resourceInputs["lastAppliedAt"] = state?.lastAppliedAt;
140
+ resourceInputs["mismatchBoost"] = state?.mismatchBoost;
122
141
  resourceInputs["overridesByPackJson"] = state?.overridesByPackJson;
123
142
  resourceInputs["packIds"] = state?.packIds;
124
143
  resourceInputs["resultsJson"] = state?.resultsJson;
@@ -126,6 +145,7 @@ export class PackAssignmentBulk extends pulumi.CustomResource {
126
145
  resourceInputs["tenantId"] = state?.tenantId;
127
146
  resourceInputs["totalOps"] = state?.totalOps;
128
147
  resourceInputs["trigger"] = state?.trigger;
148
+ resourceInputs["trustFloor"] = state?.trustFloor;
129
149
  } else {
130
150
  const args = argsOrState as PackAssignmentBulkArgs | undefined;
131
151
  if (args?.packIds === undefined && !opts.urn) {
@@ -134,12 +154,16 @@ export class PackAssignmentBulk extends pulumi.CustomResource {
134
154
  resourceInputs["agentIds"] = args?.agentIds;
135
155
  resourceInputs["allAgents"] = args?.allAgents;
136
156
  resourceInputs["approvalPolicyId"] = args?.approvalPolicyId;
157
+ resourceInputs["criticalThreshold"] = args?.criticalThreshold;
158
+ resourceInputs["delegationBoost"] = args?.delegationBoost;
137
159
  resourceInputs["endpointIds"] = args?.endpointIds;
138
160
  resourceInputs["environment"] = args?.environment;
139
161
  resourceInputs["fleetIds"] = args?.fleetIds;
162
+ resourceInputs["mismatchBoost"] = args?.mismatchBoost;
140
163
  resourceInputs["overridesByPackJson"] = args?.overridesByPackJson;
141
164
  resourceInputs["packIds"] = args?.packIds;
142
165
  resourceInputs["trigger"] = args?.trigger;
166
+ resourceInputs["trustFloor"] = args?.trustFloor;
143
167
  resourceInputs["appliedCount"] = undefined /*out*/;
144
168
  resourceInputs["failedCount"] = undefined /*out*/;
145
169
  resourceInputs["lastAppliedAt"] = undefined /*out*/;
@@ -173,6 +197,14 @@ export interface PackAssignmentBulkState {
173
197
  * Approval policy ID for pack application (defaults to 'default').
174
198
  */
175
199
  approvalPolicyId?: pulumi.Input<string | undefined>;
200
+ /**
201
+ * Force at least STEP_UP when normalized risk meets/exceeds this threshold (0-1). Applied to selected pack_ids.
202
+ */
203
+ criticalThreshold?: pulumi.Input<number | undefined>;
204
+ /**
205
+ * Deterministic boost for delegation risk signals (0-100). Applied to selected pack_ids.
206
+ */
207
+ delegationBoost?: pulumi.Input<number | undefined>;
176
208
  /**
177
209
  * Endpoint IDs whose agents should receive the selected packs.
178
210
  */
@@ -193,6 +225,10 @@ export interface PackAssignmentBulkState {
193
225
  * Timestamp of the most recent apply operation.
194
226
  */
195
227
  lastAppliedAt?: pulumi.Input<string | undefined>;
228
+ /**
229
+ * Deterministic boost for purpose/sensitivity mismatch signals (0-100). Applied to selected pack_ids.
230
+ */
231
+ mismatchBoost?: pulumi.Input<number | undefined>;
196
232
  /**
197
233
  * JSON map keyed by<span pulumi-lang-nodejs=" packId " pulumi-lang-dotnet=" PackId " pulumi-lang-go=" packId " pulumi-lang-python=" pack_id " pulumi-lang-yaml=" packId " pulumi-lang-java=" packId "> packId </span>with per-pack overrides.
198
234
  */
@@ -221,6 +257,10 @@ export interface PackAssignmentBulkState {
221
257
  * Change this value to force a fresh apply run.
222
258
  */
223
259
  trigger?: pulumi.Input<string | undefined>;
260
+ /**
261
+ * Ignore low-confidence purpose/delegation signals below this floor (0-1). Applied to selected pack_ids.
262
+ */
263
+ trustFloor?: pulumi.Input<number | undefined>;
224
264
  }
225
265
 
226
266
  /**
@@ -239,6 +279,14 @@ export interface PackAssignmentBulkArgs {
239
279
  * Approval policy ID for pack application (defaults to 'default').
240
280
  */
241
281
  approvalPolicyId?: pulumi.Input<string | undefined>;
282
+ /**
283
+ * Force at least STEP_UP when normalized risk meets/exceeds this threshold (0-1). Applied to selected pack_ids.
284
+ */
285
+ criticalThreshold?: pulumi.Input<number | undefined>;
286
+ /**
287
+ * Deterministic boost for delegation risk signals (0-100). Applied to selected pack_ids.
288
+ */
289
+ delegationBoost?: pulumi.Input<number | undefined>;
242
290
  /**
243
291
  * Endpoint IDs whose agents should receive the selected packs.
244
292
  */
@@ -251,6 +299,10 @@ export interface PackAssignmentBulkArgs {
251
299
  * Fleet IDs whose agents should receive the selected packs.
252
300
  */
253
301
  fleetIds?: pulumi.Input<pulumi.Input<string>[] | undefined>;
302
+ /**
303
+ * Deterministic boost for purpose/sensitivity mismatch signals (0-100). Applied to selected pack_ids.
304
+ */
305
+ mismatchBoost?: pulumi.Input<number | undefined>;
254
306
  /**
255
307
  * JSON map keyed by<span pulumi-lang-nodejs=" packId " pulumi-lang-dotnet=" PackId " pulumi-lang-go=" packId " pulumi-lang-python=" pack_id " pulumi-lang-yaml=" packId " pulumi-lang-java=" packId "> packId </span>with per-pack overrides.
256
308
  */
@@ -263,4 +315,8 @@ export interface PackAssignmentBulkArgs {
263
315
  * Change this value to force a fresh apply run.
264
316
  */
265
317
  trigger?: pulumi.Input<string | undefined>;
318
+ /**
319
+ * Ignore low-confidence purpose/delegation signals below this floor (0-1). Applied to selected pack_ids.
320
+ */
321
+ trustFloor?: pulumi.Input<number | undefined>;
266
322
  }
@@ -0,0 +1,187 @@
1
+ // *** WARNING: this file was generated by pulumi-language-nodejs. ***
2
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
3
+
4
+ import * as pulumi from "@pulumi/pulumi";
5
+ import * as utilities from "../utilities";
6
+
7
+ export class PamSettings extends pulumi.CustomResource {
8
+ /**
9
+ * Get an existing PamSettings resource's state with the given name, ID, and optional extra
10
+ * properties used to qualify the lookup.
11
+ *
12
+ * @param name The _unique_ name of the resulting resource.
13
+ * @param id The _unique_ provider ID of the resource to lookup.
14
+ * @param state Any extra arguments used during the lookup.
15
+ * @param opts Optional settings to control the behavior of the CustomResource.
16
+ */
17
+ public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: PamSettingsState, opts?: pulumi.CustomResourceOptions): PamSettings {
18
+ return new PamSettings(name, <any>state, { ...opts, id: id });
19
+ }
20
+
21
+ /** @internal */
22
+ public static readonly __pulumiType = 'thoth:governance/pamSettings:PamSettings';
23
+
24
+ /**
25
+ * Returns true if the given object is an instance of PamSettings. This is designed to work even
26
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
27
+ */
28
+ public static isInstance(obj: any): obj is PamSettings {
29
+ if (obj === undefined || obj === null) {
30
+ return false;
31
+ }
32
+ return obj['__pulumiType'] === PamSettings.__pulumiType;
33
+ }
34
+
35
+ /**
36
+ * Shared secret for PAM callback validation.
37
+ */
38
+ declare public readonly pamCallbackSecret: pulumi.Output<string | undefined>;
39
+ /**
40
+ * Enable PAM step-up callback integration.
41
+ */
42
+ declare public readonly pamEnabled: pulumi.Output<boolean | undefined>;
43
+ /**
44
+ * PAM provider slug.
45
+ */
46
+ declare public readonly pamProvider: pulumi.Output<string | undefined>;
47
+ /**
48
+ * Outbound PAM auth token.
49
+ */
50
+ declare public readonly pamRequestAuthToken: pulumi.Output<string | undefined>;
51
+ /**
52
+ * Outbound PAM request secret.
53
+ */
54
+ declare public readonly pamRequestSecret: pulumi.Output<string | undefined>;
55
+ /**
56
+ * Outbound PAM request timeout in seconds.
57
+ */
58
+ declare public readonly pamRequestTimeoutSeconds: pulumi.Output<number | undefined>;
59
+ /**
60
+ * Outbound PAM request URL.
61
+ */
62
+ declare public readonly pamRequestUrl: pulumi.Output<string | undefined>;
63
+ /**
64
+ * Tenant ID resolved from provider configuration.
65
+ */
66
+ declare public /*out*/ readonly tenantId: pulumi.Output<string>;
67
+ /**
68
+ * Last update timestamp returned by GovAPI.
69
+ */
70
+ declare public /*out*/ readonly updatedAt: pulumi.Output<string>;
71
+
72
+ /**
73
+ * Create a PamSettings resource with the given unique name, arguments, and options.
74
+ *
75
+ * @param name The _unique_ name of the resource.
76
+ * @param args The arguments to use to populate this resource's properties.
77
+ * @param opts A bag of options that control this resource's behavior.
78
+ */
79
+ constructor(name: string, args?: PamSettingsArgs, opts?: pulumi.CustomResourceOptions)
80
+ constructor(name: string, argsOrState?: PamSettingsArgs | PamSettingsState, opts?: pulumi.CustomResourceOptions) {
81
+ let resourceInputs: pulumi.Inputs = {};
82
+ opts = opts || {};
83
+ if (opts.id) {
84
+ const state = argsOrState as PamSettingsState | undefined;
85
+ resourceInputs["pamCallbackSecret"] = state?.pamCallbackSecret;
86
+ resourceInputs["pamEnabled"] = state?.pamEnabled;
87
+ resourceInputs["pamProvider"] = state?.pamProvider;
88
+ resourceInputs["pamRequestAuthToken"] = state?.pamRequestAuthToken;
89
+ resourceInputs["pamRequestSecret"] = state?.pamRequestSecret;
90
+ resourceInputs["pamRequestTimeoutSeconds"] = state?.pamRequestTimeoutSeconds;
91
+ resourceInputs["pamRequestUrl"] = state?.pamRequestUrl;
92
+ resourceInputs["tenantId"] = state?.tenantId;
93
+ resourceInputs["updatedAt"] = state?.updatedAt;
94
+ } else {
95
+ const args = argsOrState as PamSettingsArgs | undefined;
96
+ resourceInputs["pamCallbackSecret"] = args?.pamCallbackSecret ? pulumi.secret(args.pamCallbackSecret) : undefined;
97
+ resourceInputs["pamEnabled"] = args?.pamEnabled;
98
+ resourceInputs["pamProvider"] = args?.pamProvider;
99
+ resourceInputs["pamRequestAuthToken"] = args?.pamRequestAuthToken ? pulumi.secret(args.pamRequestAuthToken) : undefined;
100
+ resourceInputs["pamRequestSecret"] = args?.pamRequestSecret ? pulumi.secret(args.pamRequestSecret) : undefined;
101
+ resourceInputs["pamRequestTimeoutSeconds"] = args?.pamRequestTimeoutSeconds;
102
+ resourceInputs["pamRequestUrl"] = args?.pamRequestUrl;
103
+ resourceInputs["tenantId"] = undefined /*out*/;
104
+ resourceInputs["updatedAt"] = undefined /*out*/;
105
+ }
106
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
107
+ const secretOpts = { additionalSecretOutputs: ["pamCallbackSecret", "pamRequestAuthToken", "pamRequestSecret"] };
108
+ opts = pulumi.mergeOptions(opts, secretOpts);
109
+ super(PamSettings.__pulumiType, name, resourceInputs, opts);
110
+ }
111
+ }
112
+
113
+ /**
114
+ * Input properties used for looking up and filtering PamSettings resources.
115
+ */
116
+ export interface PamSettingsState {
117
+ /**
118
+ * Shared secret for PAM callback validation.
119
+ */
120
+ pamCallbackSecret?: pulumi.Input<string | undefined>;
121
+ /**
122
+ * Enable PAM step-up callback integration.
123
+ */
124
+ pamEnabled?: pulumi.Input<boolean | undefined>;
125
+ /**
126
+ * PAM provider slug.
127
+ */
128
+ pamProvider?: pulumi.Input<string | undefined>;
129
+ /**
130
+ * Outbound PAM auth token.
131
+ */
132
+ pamRequestAuthToken?: pulumi.Input<string | undefined>;
133
+ /**
134
+ * Outbound PAM request secret.
135
+ */
136
+ pamRequestSecret?: pulumi.Input<string | undefined>;
137
+ /**
138
+ * Outbound PAM request timeout in seconds.
139
+ */
140
+ pamRequestTimeoutSeconds?: pulumi.Input<number | undefined>;
141
+ /**
142
+ * Outbound PAM request URL.
143
+ */
144
+ pamRequestUrl?: pulumi.Input<string | undefined>;
145
+ /**
146
+ * Tenant ID resolved from provider configuration.
147
+ */
148
+ tenantId?: pulumi.Input<string | undefined>;
149
+ /**
150
+ * Last update timestamp returned by GovAPI.
151
+ */
152
+ updatedAt?: pulumi.Input<string | undefined>;
153
+ }
154
+
155
+ /**
156
+ * The set of arguments for constructing a PamSettings resource.
157
+ */
158
+ export interface PamSettingsArgs {
159
+ /**
160
+ * Shared secret for PAM callback validation.
161
+ */
162
+ pamCallbackSecret?: pulumi.Input<string | undefined>;
163
+ /**
164
+ * Enable PAM step-up callback integration.
165
+ */
166
+ pamEnabled?: pulumi.Input<boolean | undefined>;
167
+ /**
168
+ * PAM provider slug.
169
+ */
170
+ pamProvider?: pulumi.Input<string | undefined>;
171
+ /**
172
+ * Outbound PAM auth token.
173
+ */
174
+ pamRequestAuthToken?: pulumi.Input<string | undefined>;
175
+ /**
176
+ * Outbound PAM request secret.
177
+ */
178
+ pamRequestSecret?: pulumi.Input<string | undefined>;
179
+ /**
180
+ * Outbound PAM request timeout in seconds.
181
+ */
182
+ pamRequestTimeoutSeconds?: pulumi.Input<number | undefined>;
183
+ /**
184
+ * Outbound PAM request URL.
185
+ */
186
+ pamRequestUrl?: pulumi.Input<string | undefined>;
187
+ }
@@ -0,0 +1,159 @@
1
+ // *** WARNING: this file was generated by pulumi-language-nodejs. ***
2
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
3
+
4
+ import * as pulumi from "@pulumi/pulumi";
5
+ import * as utilities from "../utilities";
6
+
7
+ export class SiemSettings extends pulumi.CustomResource {
8
+ /**
9
+ * Get an existing SiemSettings resource's state with the given name, ID, and optional extra
10
+ * properties used to qualify the lookup.
11
+ *
12
+ * @param name The _unique_ name of the resulting resource.
13
+ * @param id The _unique_ provider ID of the resource to lookup.
14
+ * @param state Any extra arguments used during the lookup.
15
+ * @param opts Optional settings to control the behavior of the CustomResource.
16
+ */
17
+ public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SiemSettingsState, opts?: pulumi.CustomResourceOptions): SiemSettings {
18
+ return new SiemSettings(name, <any>state, { ...opts, id: id });
19
+ }
20
+
21
+ /** @internal */
22
+ public static readonly __pulumiType = 'thoth:governance/siemSettings:SiemSettings';
23
+
24
+ /**
25
+ * Returns true if the given object is an instance of SiemSettings. This is designed to work even
26
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
27
+ */
28
+ public static isInstance(obj: any): obj is SiemSettings {
29
+ if (obj === undefined || obj === null) {
30
+ return false;
31
+ }
32
+ return obj['__pulumiType'] === SiemSettings.__pulumiType;
33
+ }
34
+
35
+ /**
36
+ * SIEM provider slug.
37
+ */
38
+ declare public readonly siemProvider: pulumi.Output<string | undefined>;
39
+ /**
40
+ * Enable SIEM webhook delivery.
41
+ */
42
+ declare public readonly siemWebhookEnabled: pulumi.Output<boolean | undefined>;
43
+ /**
44
+ * SIEM webhook provider slug.
45
+ */
46
+ declare public readonly siemWebhookProvider: pulumi.Output<string | undefined>;
47
+ /**
48
+ * SIEM webhook signing secret.
49
+ */
50
+ declare public readonly siemWebhookSecret: pulumi.Output<string | undefined>;
51
+ /**
52
+ * SIEM webhook URL.
53
+ */
54
+ declare public readonly siemWebhookUrl: pulumi.Output<string | undefined>;
55
+ /**
56
+ * Tenant ID resolved from provider configuration.
57
+ */
58
+ declare public /*out*/ readonly tenantId: pulumi.Output<string>;
59
+ /**
60
+ * Last update timestamp returned by GovAPI.
61
+ */
62
+ declare public /*out*/ readonly updatedAt: pulumi.Output<string>;
63
+
64
+ /**
65
+ * Create a SiemSettings resource with the given unique name, arguments, and options.
66
+ *
67
+ * @param name The _unique_ name of the resource.
68
+ * @param args The arguments to use to populate this resource's properties.
69
+ * @param opts A bag of options that control this resource's behavior.
70
+ */
71
+ constructor(name: string, args?: SiemSettingsArgs, opts?: pulumi.CustomResourceOptions)
72
+ constructor(name: string, argsOrState?: SiemSettingsArgs | SiemSettingsState, opts?: pulumi.CustomResourceOptions) {
73
+ let resourceInputs: pulumi.Inputs = {};
74
+ opts = opts || {};
75
+ if (opts.id) {
76
+ const state = argsOrState as SiemSettingsState | undefined;
77
+ resourceInputs["siemProvider"] = state?.siemProvider;
78
+ resourceInputs["siemWebhookEnabled"] = state?.siemWebhookEnabled;
79
+ resourceInputs["siemWebhookProvider"] = state?.siemWebhookProvider;
80
+ resourceInputs["siemWebhookSecret"] = state?.siemWebhookSecret;
81
+ resourceInputs["siemWebhookUrl"] = state?.siemWebhookUrl;
82
+ resourceInputs["tenantId"] = state?.tenantId;
83
+ resourceInputs["updatedAt"] = state?.updatedAt;
84
+ } else {
85
+ const args = argsOrState as SiemSettingsArgs | undefined;
86
+ resourceInputs["siemProvider"] = args?.siemProvider;
87
+ resourceInputs["siemWebhookEnabled"] = args?.siemWebhookEnabled;
88
+ resourceInputs["siemWebhookProvider"] = args?.siemWebhookProvider;
89
+ resourceInputs["siemWebhookSecret"] = args?.siemWebhookSecret ? pulumi.secret(args.siemWebhookSecret) : undefined;
90
+ resourceInputs["siemWebhookUrl"] = args?.siemWebhookUrl;
91
+ resourceInputs["tenantId"] = undefined /*out*/;
92
+ resourceInputs["updatedAt"] = undefined /*out*/;
93
+ }
94
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
95
+ const secretOpts = { additionalSecretOutputs: ["siemWebhookSecret"] };
96
+ opts = pulumi.mergeOptions(opts, secretOpts);
97
+ super(SiemSettings.__pulumiType, name, resourceInputs, opts);
98
+ }
99
+ }
100
+
101
+ /**
102
+ * Input properties used for looking up and filtering SiemSettings resources.
103
+ */
104
+ export interface SiemSettingsState {
105
+ /**
106
+ * SIEM provider slug.
107
+ */
108
+ siemProvider?: pulumi.Input<string | undefined>;
109
+ /**
110
+ * Enable SIEM webhook delivery.
111
+ */
112
+ siemWebhookEnabled?: pulumi.Input<boolean | undefined>;
113
+ /**
114
+ * SIEM webhook provider slug.
115
+ */
116
+ siemWebhookProvider?: pulumi.Input<string | undefined>;
117
+ /**
118
+ * SIEM webhook signing secret.
119
+ */
120
+ siemWebhookSecret?: pulumi.Input<string | undefined>;
121
+ /**
122
+ * SIEM webhook URL.
123
+ */
124
+ siemWebhookUrl?: pulumi.Input<string | undefined>;
125
+ /**
126
+ * Tenant ID resolved from provider configuration.
127
+ */
128
+ tenantId?: pulumi.Input<string | undefined>;
129
+ /**
130
+ * Last update timestamp returned by GovAPI.
131
+ */
132
+ updatedAt?: pulumi.Input<string | undefined>;
133
+ }
134
+
135
+ /**
136
+ * The set of arguments for constructing a SiemSettings resource.
137
+ */
138
+ export interface SiemSettingsArgs {
139
+ /**
140
+ * SIEM provider slug.
141
+ */
142
+ siemProvider?: pulumi.Input<string | undefined>;
143
+ /**
144
+ * Enable SIEM webhook delivery.
145
+ */
146
+ siemWebhookEnabled?: pulumi.Input<boolean | undefined>;
147
+ /**
148
+ * SIEM webhook provider slug.
149
+ */
150
+ siemWebhookProvider?: pulumi.Input<string | undefined>;
151
+ /**
152
+ * SIEM webhook signing secret.
153
+ */
154
+ siemWebhookSecret?: pulumi.Input<string | undefined>;
155
+ /**
156
+ * SIEM webhook URL.
157
+ */
158
+ siemWebhookUrl?: pulumi.Input<string | undefined>;
159
+ }