@atensec/pulumi-thoth 0.1.3 → 0.1.4

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 (43) 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/getInvoices.ts +49 -0
  8. package/billing/getMonthlyCost.ts +27 -0
  9. package/billing/getPricing.ts +27 -0
  10. package/billing/getReport.ts +49 -0
  11. package/billing/getReports.ts +29 -0
  12. package/billing/index.ts +31 -0
  13. package/browser/getEnrollments.ts +52 -0
  14. package/browser/getPolicies.ts +47 -0
  15. package/browser/getProviders.ts +28 -0
  16. package/browser/index.ts +15 -0
  17. package/config/vars.ts +3 -3
  18. package/fleet/fleet.ts +292 -0
  19. package/fleet/getEndpointStats.ts +36 -0
  20. package/fleet/getEndpoints.ts +52 -0
  21. package/fleet/getFleet.ts +48 -0
  22. package/fleet/getFleets.ts +57 -0
  23. package/fleet/index.ts +45 -0
  24. package/governance/getApprovals.ts +57 -0
  25. package/governance/getCostReport.ts +51 -0
  26. package/governance/getDay7Report.ts +46 -0
  27. package/governance/getEvidenceBundle.ts +47 -0
  28. package/governance/getEvidenceChain.ts +53 -0
  29. package/governance/getEvidenceVerify.ts +50 -0
  30. package/governance/getPacks.ts +28 -0
  31. package/governance/getReportsOverview.ts +46 -0
  32. package/governance/getRuntimeStatus.ts +46 -0
  33. package/governance/{tenantSettings.ts → governanceSettings.ts} +18 -244
  34. package/governance/index.ts +76 -7
  35. package/governance/pamSettings.ts +187 -0
  36. package/governance/siemSettings.ts +159 -0
  37. package/governance/webhookSettings.ts +145 -0
  38. package/index.ts +4 -0
  39. package/mdm/getProviders.ts +28 -0
  40. package/mdm/index.ts +5 -0
  41. package/package.json +1 -1
  42. package/provider.ts +9 -12
  43. package/tsconfig.json +34 -2
@@ -0,0 +1,47 @@
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 function getEvidenceBundle(args: GetEvidenceBundleArgs, opts?: pulumi.InvokeOptions): Promise<GetEvidenceBundleResult> {
8
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
9
+ return pulumi.runtime.invoke("thoth:governance/getEvidenceBundle:getEvidenceBundle", {
10
+ "sessionId": args.sessionId,
11
+ }, opts);
12
+ }
13
+
14
+ /**
15
+ * A collection of arguments for invoking getEvidenceBundle.
16
+ */
17
+ export interface GetEvidenceBundleArgs {
18
+ sessionId: string;
19
+ }
20
+
21
+ /**
22
+ * A collection of values returned by getEvidenceBundle.
23
+ */
24
+ export interface GetEvidenceBundleResult {
25
+ readonly bundleHash: string;
26
+ readonly exportedAt: string;
27
+ /**
28
+ * The provider-assigned unique ID for this managed resource.
29
+ */
30
+ readonly id: string;
31
+ readonly responseJson: string;
32
+ readonly sessionId: string;
33
+ readonly summaryJson: string;
34
+ }
35
+ export function getEvidenceBundleOutput(args: GetEvidenceBundleOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetEvidenceBundleResult> {
36
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
37
+ return pulumi.runtime.invokeOutput("thoth:governance/getEvidenceBundle:getEvidenceBundle", {
38
+ "sessionId": args.sessionId,
39
+ }, opts);
40
+ }
41
+
42
+ /**
43
+ * A collection of arguments for invoking getEvidenceBundle.
44
+ */
45
+ export interface GetEvidenceBundleOutputArgs {
46
+ sessionId: pulumi.Input<string>;
47
+ }
@@ -0,0 +1,53 @@
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 function getEvidenceChain(args?: GetEvidenceChainArgs, opts?: pulumi.InvokeOptions): Promise<GetEvidenceChainResult> {
8
+ args = args || {};
9
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
10
+ return pulumi.runtime.invoke("thoth:governance/getEvidenceChain:getEvidenceChain", {
11
+ "fromSequence": args.fromSequence,
12
+ "limit": args.limit,
13
+ }, opts);
14
+ }
15
+
16
+ /**
17
+ * A collection of arguments for invoking getEvidenceChain.
18
+ */
19
+ export interface GetEvidenceChainArgs {
20
+ fromSequence?: number;
21
+ limit?: number;
22
+ }
23
+
24
+ /**
25
+ * A collection of values returned by getEvidenceChain.
26
+ */
27
+ export interface GetEvidenceChainResult {
28
+ readonly dataJson: string;
29
+ readonly fromSequence?: number;
30
+ /**
31
+ * The provider-assigned unique ID for this managed resource.
32
+ */
33
+ readonly id: string;
34
+ readonly limit?: number;
35
+ readonly responseJson: string;
36
+ readonly total: number;
37
+ }
38
+ export function getEvidenceChainOutput(args?: GetEvidenceChainOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetEvidenceChainResult> {
39
+ args = args || {};
40
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
41
+ return pulumi.runtime.invokeOutput("thoth:governance/getEvidenceChain:getEvidenceChain", {
42
+ "fromSequence": args.fromSequence,
43
+ "limit": args.limit,
44
+ }, opts);
45
+ }
46
+
47
+ /**
48
+ * A collection of arguments for invoking getEvidenceChain.
49
+ */
50
+ export interface GetEvidenceChainOutputArgs {
51
+ fromSequence?: pulumi.Input<number | undefined>;
52
+ limit?: pulumi.Input<number | undefined>;
53
+ }
@@ -0,0 +1,50 @@
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 function getEvidenceVerify(args?: GetEvidenceVerifyArgs, opts?: pulumi.InvokeOptions): Promise<GetEvidenceVerifyResult> {
8
+ args = args || {};
9
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
10
+ return pulumi.runtime.invoke("thoth:governance/getEvidenceVerify:getEvidenceVerify", {
11
+ "limit": args.limit,
12
+ }, opts);
13
+ }
14
+
15
+ /**
16
+ * A collection of arguments for invoking getEvidenceVerify.
17
+ */
18
+ export interface GetEvidenceVerifyArgs {
19
+ limit?: number;
20
+ }
21
+
22
+ /**
23
+ * A collection of values returned by getEvidenceVerify.
24
+ */
25
+ export interface GetEvidenceVerifyResult {
26
+ readonly breachDetail: string;
27
+ readonly chainHead: number;
28
+ /**
29
+ * The provider-assigned unique ID for this managed resource.
30
+ */
31
+ readonly id: string;
32
+ readonly limit?: number;
33
+ readonly recordsChecked: number;
34
+ readonly responseJson: string;
35
+ readonly verified: boolean;
36
+ }
37
+ export function getEvidenceVerifyOutput(args?: GetEvidenceVerifyOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetEvidenceVerifyResult> {
38
+ args = args || {};
39
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
40
+ return pulumi.runtime.invokeOutput("thoth:governance/getEvidenceVerify:getEvidenceVerify", {
41
+ "limit": args.limit,
42
+ }, opts);
43
+ }
44
+
45
+ /**
46
+ * A collection of arguments for invoking getEvidenceVerify.
47
+ */
48
+ export interface GetEvidenceVerifyOutputArgs {
49
+ limit?: pulumi.Input<number | undefined>;
50
+ }
@@ -0,0 +1,28 @@
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 function getPacks(opts?: pulumi.InvokeOptions): Promise<GetPacksResult> {
8
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
9
+ return pulumi.runtime.invoke("thoth:governance/getPacks:getPacks", {
10
+ }, opts);
11
+ }
12
+
13
+ /**
14
+ * A collection of values returned by getPacks.
15
+ */
16
+ export interface GetPacksResult {
17
+ /**
18
+ * The provider-assigned unique ID for this managed resource.
19
+ */
20
+ readonly id: string;
21
+ readonly packsJson: string;
22
+ readonly total: number;
23
+ }
24
+ export function getPacksOutput(opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetPacksResult> {
25
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
26
+ return pulumi.runtime.invokeOutput("thoth:governance/getPacks:getPacks", {
27
+ }, opts);
28
+ }
@@ -0,0 +1,46 @@
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 function getReportsOverview(args?: GetReportsOverviewArgs, opts?: pulumi.InvokeOptions): Promise<GetReportsOverviewResult> {
8
+ args = args || {};
9
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
10
+ return pulumi.runtime.invoke("thoth:governance/getReportsOverview:getReportsOverview", {
11
+ "days": args.days,
12
+ }, opts);
13
+ }
14
+
15
+ /**
16
+ * A collection of arguments for invoking getReportsOverview.
17
+ */
18
+ export interface GetReportsOverviewArgs {
19
+ days?: number;
20
+ }
21
+
22
+ /**
23
+ * A collection of values returned by getReportsOverview.
24
+ */
25
+ export interface GetReportsOverviewResult {
26
+ readonly days?: number;
27
+ /**
28
+ * The provider-assigned unique ID for this managed resource.
29
+ */
30
+ readonly id: string;
31
+ readonly responseJson: string;
32
+ }
33
+ export function getReportsOverviewOutput(args?: GetReportsOverviewOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetReportsOverviewResult> {
34
+ args = args || {};
35
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
36
+ return pulumi.runtime.invokeOutput("thoth:governance/getReportsOverview:getReportsOverview", {
37
+ "days": args.days,
38
+ }, opts);
39
+ }
40
+
41
+ /**
42
+ * A collection of arguments for invoking getReportsOverview.
43
+ */
44
+ export interface GetReportsOverviewOutputArgs {
45
+ days?: pulumi.Input<number | undefined>;
46
+ }
@@ -0,0 +1,46 @@
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 function getRuntimeStatus(args?: GetRuntimeStatusArgs, opts?: pulumi.InvokeOptions): Promise<GetRuntimeStatusResult> {
8
+ args = args || {};
9
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
10
+ return pulumi.runtime.invoke("thoth:governance/getRuntimeStatus:getRuntimeStatus", {
11
+ "environment": args.environment,
12
+ }, opts);
13
+ }
14
+
15
+ /**
16
+ * A collection of arguments for invoking getRuntimeStatus.
17
+ */
18
+ export interface GetRuntimeStatusArgs {
19
+ environment?: string;
20
+ }
21
+
22
+ /**
23
+ * A collection of values returned by getRuntimeStatus.
24
+ */
25
+ export interface GetRuntimeStatusResult {
26
+ readonly environment?: string;
27
+ /**
28
+ * The provider-assigned unique ID for this managed resource.
29
+ */
30
+ readonly id: string;
31
+ readonly responseJson: string;
32
+ }
33
+ export function getRuntimeStatusOutput(args?: GetRuntimeStatusOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetRuntimeStatusResult> {
34
+ args = args || {};
35
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
36
+ return pulumi.runtime.invokeOutput("thoth:governance/getRuntimeStatus:getRuntimeStatus", {
37
+ "environment": args.environment,
38
+ }, opts);
39
+ }
40
+
41
+ /**
42
+ * A collection of arguments for invoking getRuntimeStatus.
43
+ */
44
+ export interface GetRuntimeStatusOutputArgs {
45
+ environment?: pulumi.Input<string | undefined>;
46
+ }
@@ -4,9 +4,9 @@
4
4
  import * as pulumi from "@pulumi/pulumi";
5
5
  import * as utilities from "../utilities";
6
6
 
7
- export class TenantSettings extends pulumi.CustomResource {
7
+ export class GovernanceSettings extends pulumi.CustomResource {
8
8
  /**
9
- * Get an existing TenantSettings resource's state with the given name, ID, and optional extra
9
+ * Get an existing GovernanceSettings resource's state with the given name, ID, and optional extra
10
10
  * properties used to qualify the lookup.
11
11
  *
12
12
  * @param name The _unique_ name of the resulting resource.
@@ -14,22 +14,22 @@ export class TenantSettings extends pulumi.CustomResource {
14
14
  * @param state Any extra arguments used during the lookup.
15
15
  * @param opts Optional settings to control the behavior of the CustomResource.
16
16
  */
17
- public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: TenantSettingsState, opts?: pulumi.CustomResourceOptions): TenantSettings {
18
- return new TenantSettings(name, <any>state, { ...opts, id: id });
17
+ public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: GovernanceSettingsState, opts?: pulumi.CustomResourceOptions): GovernanceSettings {
18
+ return new GovernanceSettings(name, <any>state, { ...opts, id: id });
19
19
  }
20
20
 
21
21
  /** @internal */
22
- public static readonly __pulumiType = 'thoth:governance/tenantSettings:TenantSettings';
22
+ public static readonly __pulumiType = 'thoth:governance/governanceSettings:GovernanceSettings';
23
23
 
24
24
  /**
25
- * Returns true if the given object is an instance of TenantSettings. This is designed to work even
25
+ * Returns true if the given object is an instance of GovernanceSettings. This is designed to work even
26
26
  * when multiple copies of the Pulumi SDK have been loaded into the same process.
27
27
  */
28
- public static isInstance(obj: any): obj is TenantSettings {
28
+ public static isInstance(obj: any): obj is GovernanceSettings {
29
29
  if (obj === undefined || obj === null) {
30
30
  return false;
31
31
  }
32
- return obj['__pulumiType'] === TenantSettings.__pulumiType;
32
+ return obj['__pulumiType'] === GovernanceSettings.__pulumiType;
33
33
  }
34
34
 
35
35
  /**
@@ -64,34 +64,6 @@ export class TenantSettings extends pulumi.CustomResource {
64
64
  * Failover provider order.
65
65
  */
66
66
  declare public readonly modelRouterFailoverProviders: pulumi.Output<string[] | undefined>;
67
- /**
68
- * Shared secret for PAM callback validation.
69
- */
70
- declare public readonly pamCallbackSecret: pulumi.Output<string | undefined>;
71
- /**
72
- * Enable PAM step-up callback integration.
73
- */
74
- declare public readonly pamEnabled: pulumi.Output<boolean | undefined>;
75
- /**
76
- * PAM provider slug.
77
- */
78
- declare public readonly pamProvider: pulumi.Output<string | undefined>;
79
- /**
80
- * Outbound PAM auth token.
81
- */
82
- declare public readonly pamRequestAuthToken: pulumi.Output<string | undefined>;
83
- /**
84
- * Outbound PAM request secret.
85
- */
86
- declare public readonly pamRequestSecret: pulumi.Output<string | undefined>;
87
- /**
88
- * Outbound PAM request timeout in seconds.
89
- */
90
- declare public readonly pamRequestTimeoutSeconds: pulumi.Output<number | undefined>;
91
- /**
92
- * Outbound PAM request URL.
93
- */
94
- declare public readonly pamRequestUrl: pulumi.Output<string | undefined>;
95
67
  /**
96
68
  * Allowed host patterns for secret broker.
97
69
  */
@@ -132,34 +104,10 @@ export class TenantSettings extends pulumi.CustomResource {
132
104
  * Default action for medium risk events.
133
105
  */
134
106
  declare public readonly shadowMedium: pulumi.Output<string | undefined>;
135
- /**
136
- * SIEM provider slug.
137
- */
138
- declare public readonly siemProvider: pulumi.Output<string | undefined>;
139
- /**
140
- * Enable SIEM webhook delivery.
141
- */
142
- declare public readonly siemWebhookEnabled: pulumi.Output<boolean | undefined>;
143
- /**
144
- * SIEM webhook provider slug.
145
- */
146
- declare public readonly siemWebhookProvider: pulumi.Output<string | undefined>;
147
- /**
148
- * SIEM webhook signing secret.
149
- */
150
- declare public readonly siemWebhookSecret: pulumi.Output<string | undefined>;
151
- /**
152
- * SIEM webhook URL.
153
- */
154
- declare public readonly siemWebhookUrl: pulumi.Output<string | undefined>;
155
107
  /**
156
108
  * Tenant ID resolved from provider configuration.
157
109
  */
158
110
  declare public /*out*/ readonly tenantId: pulumi.Output<string>;
159
- /**
160
- * Run webhook test endpoint after applying settings.
161
- */
162
- declare public readonly testWebhookOnApply: pulumi.Output<boolean | undefined>;
163
111
  /**
164
112
  * Tool-specific risk tier overrides.
165
113
  */
@@ -168,32 +116,20 @@ export class TenantSettings extends pulumi.CustomResource {
168
116
  * Last update timestamp returned by GovAPI.
169
117
  */
170
118
  declare public /*out*/ readonly updatedAt: pulumi.Output<string>;
171
- /**
172
- * Enable outbound webhook delivery.
173
- */
174
- declare public readonly webhookEnabled: pulumi.Output<boolean | undefined>;
175
- /**
176
- * Webhook signing secret.
177
- */
178
- declare public readonly webhookSecret: pulumi.Output<string | undefined>;
179
- /**
180
- * Outbound webhook URL.
181
- */
182
- declare public readonly webhookUrl: pulumi.Output<string | undefined>;
183
119
 
184
120
  /**
185
- * Create a TenantSettings resource with the given unique name, arguments, and options.
121
+ * Create a GovernanceSettings resource with the given unique name, arguments, and options.
186
122
  *
187
123
  * @param name The _unique_ name of the resource.
188
124
  * @param args The arguments to use to populate this resource's properties.
189
125
  * @param opts A bag of options that control this resource's behavior.
190
126
  */
191
- constructor(name: string, args?: TenantSettingsArgs, opts?: pulumi.CustomResourceOptions)
192
- constructor(name: string, argsOrState?: TenantSettingsArgs | TenantSettingsState, opts?: pulumi.CustomResourceOptions) {
127
+ constructor(name: string, args?: GovernanceSettingsArgs, opts?: pulumi.CustomResourceOptions)
128
+ constructor(name: string, argsOrState?: GovernanceSettingsArgs | GovernanceSettingsState, opts?: pulumi.CustomResourceOptions) {
193
129
  let resourceInputs: pulumi.Inputs = {};
194
130
  opts = opts || {};
195
131
  if (opts.id) {
196
- const state = argsOrState as TenantSettingsState | undefined;
132
+ const state = argsOrState as GovernanceSettingsState | undefined;
197
133
  resourceInputs["complianceProfile"] = state?.complianceProfile;
198
134
  resourceInputs["extraSettingsJson"] = state?.extraSettingsJson;
199
135
  resourceInputs["modelRouterAllowedModels"] = state?.modelRouterAllowedModels;
@@ -202,13 +138,6 @@ export class TenantSettings extends pulumi.CustomResource {
202
138
  resourceInputs["modelRouterDefaultProvider"] = state?.modelRouterDefaultProvider;
203
139
  resourceInputs["modelRouterEnabled"] = state?.modelRouterEnabled;
204
140
  resourceInputs["modelRouterFailoverProviders"] = state?.modelRouterFailoverProviders;
205
- resourceInputs["pamCallbackSecret"] = state?.pamCallbackSecret;
206
- resourceInputs["pamEnabled"] = state?.pamEnabled;
207
- resourceInputs["pamProvider"] = state?.pamProvider;
208
- resourceInputs["pamRequestAuthToken"] = state?.pamRequestAuthToken;
209
- resourceInputs["pamRequestSecret"] = state?.pamRequestSecret;
210
- resourceInputs["pamRequestTimeoutSeconds"] = state?.pamRequestTimeoutSeconds;
211
- resourceInputs["pamRequestUrl"] = state?.pamRequestUrl;
212
141
  resourceInputs["secretBrokerAllowedHosts"] = state?.secretBrokerAllowedHosts;
213
142
  resourceInputs["secretBrokerAuthBindingsJson"] = state?.secretBrokerAuthBindingsJson;
214
143
  resourceInputs["secretBrokerEnabled"] = state?.secretBrokerEnabled;
@@ -219,20 +148,11 @@ export class TenantSettings extends pulumi.CustomResource {
219
148
  resourceInputs["shadowHigh"] = state?.shadowHigh;
220
149
  resourceInputs["shadowLow"] = state?.shadowLow;
221
150
  resourceInputs["shadowMedium"] = state?.shadowMedium;
222
- resourceInputs["siemProvider"] = state?.siemProvider;
223
- resourceInputs["siemWebhookEnabled"] = state?.siemWebhookEnabled;
224
- resourceInputs["siemWebhookProvider"] = state?.siemWebhookProvider;
225
- resourceInputs["siemWebhookSecret"] = state?.siemWebhookSecret;
226
- resourceInputs["siemWebhookUrl"] = state?.siemWebhookUrl;
227
151
  resourceInputs["tenantId"] = state?.tenantId;
228
- resourceInputs["testWebhookOnApply"] = state?.testWebhookOnApply;
229
152
  resourceInputs["toolRiskOverrides"] = state?.toolRiskOverrides;
230
153
  resourceInputs["updatedAt"] = state?.updatedAt;
231
- resourceInputs["webhookEnabled"] = state?.webhookEnabled;
232
- resourceInputs["webhookSecret"] = state?.webhookSecret;
233
- resourceInputs["webhookUrl"] = state?.webhookUrl;
234
154
  } else {
235
- const args = argsOrState as TenantSettingsArgs | undefined;
155
+ const args = argsOrState as GovernanceSettingsArgs | undefined;
236
156
  resourceInputs["complianceProfile"] = args?.complianceProfile;
237
157
  resourceInputs["extraSettingsJson"] = args?.extraSettingsJson;
238
158
  resourceInputs["modelRouterAllowedModels"] = args?.modelRouterAllowedModels;
@@ -241,13 +161,6 @@ export class TenantSettings extends pulumi.CustomResource {
241
161
  resourceInputs["modelRouterDefaultProvider"] = args?.modelRouterDefaultProvider;
242
162
  resourceInputs["modelRouterEnabled"] = args?.modelRouterEnabled;
243
163
  resourceInputs["modelRouterFailoverProviders"] = args?.modelRouterFailoverProviders;
244
- resourceInputs["pamCallbackSecret"] = args?.pamCallbackSecret ? pulumi.secret(args.pamCallbackSecret) : undefined;
245
- resourceInputs["pamEnabled"] = args?.pamEnabled;
246
- resourceInputs["pamProvider"] = args?.pamProvider;
247
- resourceInputs["pamRequestAuthToken"] = args?.pamRequestAuthToken ? pulumi.secret(args.pamRequestAuthToken) : undefined;
248
- resourceInputs["pamRequestSecret"] = args?.pamRequestSecret ? pulumi.secret(args.pamRequestSecret) : undefined;
249
- resourceInputs["pamRequestTimeoutSeconds"] = args?.pamRequestTimeoutSeconds;
250
- resourceInputs["pamRequestUrl"] = args?.pamRequestUrl;
251
164
  resourceInputs["secretBrokerAllowedHosts"] = args?.secretBrokerAllowedHosts;
252
165
  resourceInputs["secretBrokerAuthBindingsJson"] = args?.secretBrokerAuthBindingsJson;
253
166
  resourceInputs["secretBrokerEnabled"] = args?.secretBrokerEnabled;
@@ -258,30 +171,19 @@ export class TenantSettings extends pulumi.CustomResource {
258
171
  resourceInputs["shadowHigh"] = args?.shadowHigh;
259
172
  resourceInputs["shadowLow"] = args?.shadowLow;
260
173
  resourceInputs["shadowMedium"] = args?.shadowMedium;
261
- resourceInputs["siemProvider"] = args?.siemProvider;
262
- resourceInputs["siemWebhookEnabled"] = args?.siemWebhookEnabled;
263
- resourceInputs["siemWebhookProvider"] = args?.siemWebhookProvider;
264
- resourceInputs["siemWebhookSecret"] = args?.siemWebhookSecret ? pulumi.secret(args.siemWebhookSecret) : undefined;
265
- resourceInputs["siemWebhookUrl"] = args?.siemWebhookUrl;
266
- resourceInputs["testWebhookOnApply"] = args?.testWebhookOnApply;
267
174
  resourceInputs["toolRiskOverrides"] = args?.toolRiskOverrides;
268
- resourceInputs["webhookEnabled"] = args?.webhookEnabled;
269
- resourceInputs["webhookSecret"] = args?.webhookSecret ? pulumi.secret(args.webhookSecret) : undefined;
270
- resourceInputs["webhookUrl"] = args?.webhookUrl;
271
175
  resourceInputs["tenantId"] = undefined /*out*/;
272
176
  resourceInputs["updatedAt"] = undefined /*out*/;
273
177
  }
274
178
  opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
275
- const secretOpts = { additionalSecretOutputs: ["pamCallbackSecret", "pamRequestAuthToken", "pamRequestSecret", "siemWebhookSecret", "webhookSecret"] };
276
- opts = pulumi.mergeOptions(opts, secretOpts);
277
- super(TenantSettings.__pulumiType, name, resourceInputs, opts);
179
+ super(GovernanceSettings.__pulumiType, name, resourceInputs, opts);
278
180
  }
279
181
  }
280
182
 
281
183
  /**
282
- * Input properties used for looking up and filtering TenantSettings resources.
184
+ * Input properties used for looking up and filtering GovernanceSettings resources.
283
185
  */
284
- export interface TenantSettingsState {
186
+ export interface GovernanceSettingsState {
285
187
  /**
286
188
  * Compliance profile (soc2, healthcare, financial, public_sector, privacy, ai_governance).
287
189
  */
@@ -314,34 +216,6 @@ export interface TenantSettingsState {
314
216
  * Failover provider order.
315
217
  */
316
218
  modelRouterFailoverProviders?: pulumi.Input<pulumi.Input<string>[] | undefined>;
317
- /**
318
- * Shared secret for PAM callback validation.
319
- */
320
- pamCallbackSecret?: pulumi.Input<string | undefined>;
321
- /**
322
- * Enable PAM step-up callback integration.
323
- */
324
- pamEnabled?: pulumi.Input<boolean | undefined>;
325
- /**
326
- * PAM provider slug.
327
- */
328
- pamProvider?: pulumi.Input<string | undefined>;
329
- /**
330
- * Outbound PAM auth token.
331
- */
332
- pamRequestAuthToken?: pulumi.Input<string | undefined>;
333
- /**
334
- * Outbound PAM request secret.
335
- */
336
- pamRequestSecret?: pulumi.Input<string | undefined>;
337
- /**
338
- * Outbound PAM request timeout in seconds.
339
- */
340
- pamRequestTimeoutSeconds?: pulumi.Input<number | undefined>;
341
- /**
342
- * Outbound PAM request URL.
343
- */
344
- pamRequestUrl?: pulumi.Input<string | undefined>;
345
219
  /**
346
220
  * Allowed host patterns for secret broker.
347
221
  */
@@ -382,34 +256,10 @@ export interface TenantSettingsState {
382
256
  * Default action for medium risk events.
383
257
  */
384
258
  shadowMedium?: pulumi.Input<string | undefined>;
385
- /**
386
- * SIEM provider slug.
387
- */
388
- siemProvider?: pulumi.Input<string | undefined>;
389
- /**
390
- * Enable SIEM webhook delivery.
391
- */
392
- siemWebhookEnabled?: pulumi.Input<boolean | undefined>;
393
- /**
394
- * SIEM webhook provider slug.
395
- */
396
- siemWebhookProvider?: pulumi.Input<string | undefined>;
397
- /**
398
- * SIEM webhook signing secret.
399
- */
400
- siemWebhookSecret?: pulumi.Input<string | undefined>;
401
- /**
402
- * SIEM webhook URL.
403
- */
404
- siemWebhookUrl?: pulumi.Input<string | undefined>;
405
259
  /**
406
260
  * Tenant ID resolved from provider configuration.
407
261
  */
408
262
  tenantId?: pulumi.Input<string | undefined>;
409
- /**
410
- * Run webhook test endpoint after applying settings.
411
- */
412
- testWebhookOnApply?: pulumi.Input<boolean | undefined>;
413
263
  /**
414
264
  * Tool-specific risk tier overrides.
415
265
  */
@@ -418,24 +268,12 @@ export interface TenantSettingsState {
418
268
  * Last update timestamp returned by GovAPI.
419
269
  */
420
270
  updatedAt?: pulumi.Input<string | undefined>;
421
- /**
422
- * Enable outbound webhook delivery.
423
- */
424
- webhookEnabled?: pulumi.Input<boolean | undefined>;
425
- /**
426
- * Webhook signing secret.
427
- */
428
- webhookSecret?: pulumi.Input<string | undefined>;
429
- /**
430
- * Outbound webhook URL.
431
- */
432
- webhookUrl?: pulumi.Input<string | undefined>;
433
271
  }
434
272
 
435
273
  /**
436
- * The set of arguments for constructing a TenantSettings resource.
274
+ * The set of arguments for constructing a GovernanceSettings resource.
437
275
  */
438
- export interface TenantSettingsArgs {
276
+ export interface GovernanceSettingsArgs {
439
277
  /**
440
278
  * Compliance profile (soc2, healthcare, financial, public_sector, privacy, ai_governance).
441
279
  */
@@ -468,34 +306,6 @@ export interface TenantSettingsArgs {
468
306
  * Failover provider order.
469
307
  */
470
308
  modelRouterFailoverProviders?: pulumi.Input<pulumi.Input<string>[] | undefined>;
471
- /**
472
- * Shared secret for PAM callback validation.
473
- */
474
- pamCallbackSecret?: pulumi.Input<string | undefined>;
475
- /**
476
- * Enable PAM step-up callback integration.
477
- */
478
- pamEnabled?: pulumi.Input<boolean | undefined>;
479
- /**
480
- * PAM provider slug.
481
- */
482
- pamProvider?: pulumi.Input<string | undefined>;
483
- /**
484
- * Outbound PAM auth token.
485
- */
486
- pamRequestAuthToken?: pulumi.Input<string | undefined>;
487
- /**
488
- * Outbound PAM request secret.
489
- */
490
- pamRequestSecret?: pulumi.Input<string | undefined>;
491
- /**
492
- * Outbound PAM request timeout in seconds.
493
- */
494
- pamRequestTimeoutSeconds?: pulumi.Input<number | undefined>;
495
- /**
496
- * Outbound PAM request URL.
497
- */
498
- pamRequestUrl?: pulumi.Input<string | undefined>;
499
309
  /**
500
310
  * Allowed host patterns for secret broker.
501
311
  */
@@ -536,44 +346,8 @@ export interface TenantSettingsArgs {
536
346
  * Default action for medium risk events.
537
347
  */
538
348
  shadowMedium?: pulumi.Input<string | undefined>;
539
- /**
540
- * SIEM provider slug.
541
- */
542
- siemProvider?: pulumi.Input<string | undefined>;
543
- /**
544
- * Enable SIEM webhook delivery.
545
- */
546
- siemWebhookEnabled?: pulumi.Input<boolean | undefined>;
547
- /**
548
- * SIEM webhook provider slug.
549
- */
550
- siemWebhookProvider?: pulumi.Input<string | undefined>;
551
- /**
552
- * SIEM webhook signing secret.
553
- */
554
- siemWebhookSecret?: pulumi.Input<string | undefined>;
555
- /**
556
- * SIEM webhook URL.
557
- */
558
- siemWebhookUrl?: pulumi.Input<string | undefined>;
559
- /**
560
- * Run webhook test endpoint after applying settings.
561
- */
562
- testWebhookOnApply?: pulumi.Input<boolean | undefined>;
563
349
  /**
564
350
  * Tool-specific risk tier overrides.
565
351
  */
566
352
  toolRiskOverrides?: pulumi.Input<{[key: string]: pulumi.Input<string>} | undefined>;
567
- /**
568
- * Enable outbound webhook delivery.
569
- */
570
- webhookEnabled?: pulumi.Input<boolean | undefined>;
571
- /**
572
- * Webhook signing secret.
573
- */
574
- webhookSecret?: pulumi.Input<string | undefined>;
575
- /**
576
- * Outbound webhook URL.
577
- */
578
- webhookUrl?: pulumi.Input<string | undefined>;
579
353
  }