@atensec/pulumi-thoth 0.1.4 → 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.
@@ -0,0 +1,56 @@
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 getCreditBank(args?: GetCreditBankArgs, opts?: pulumi.InvokeOptions): Promise<GetCreditBankResult> {
8
+ args = args || {};
9
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
10
+ return pulumi.runtime.invoke("thoth:billing/getCreditBank:getCreditBank", {
11
+ "asOf": args.asOf,
12
+ "averageMonthlyBurnCents": args.averageMonthlyBurnCents,
13
+ }, opts);
14
+ }
15
+
16
+ /**
17
+ * A collection of arguments for invoking getCreditBank.
18
+ */
19
+ export interface GetCreditBankArgs {
20
+ asOf?: string;
21
+ averageMonthlyBurnCents?: number;
22
+ }
23
+
24
+ /**
25
+ * A collection of values returned by getCreditBank.
26
+ */
27
+ export interface GetCreditBankResult {
28
+ readonly activeWalletCount: number;
29
+ readonly activeWalletsJson: string;
30
+ readonly asOf?: string;
31
+ readonly averageMonthlyBurnCents?: number;
32
+ /**
33
+ * The provider-assigned unique ID for this managed resource.
34
+ */
35
+ readonly id: string;
36
+ readonly lowBalanceAlert: boolean;
37
+ readonly lowBalanceThresholdCents: number;
38
+ readonly responseJson: string;
39
+ readonly totalActiveBalanceCents: number;
40
+ }
41
+ export function getCreditBankOutput(args?: GetCreditBankOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetCreditBankResult> {
42
+ args = args || {};
43
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
44
+ return pulumi.runtime.invokeOutput("thoth:billing/getCreditBank:getCreditBank", {
45
+ "asOf": args.asOf,
46
+ "averageMonthlyBurnCents": args.averageMonthlyBurnCents,
47
+ }, opts);
48
+ }
49
+
50
+ /**
51
+ * A collection of arguments for invoking getCreditBank.
52
+ */
53
+ export interface GetCreditBankOutputArgs {
54
+ asOf?: pulumi.Input<string | undefined>;
55
+ averageMonthlyBurnCents?: pulumi.Input<number | undefined>;
56
+ }
@@ -0,0 +1,93 @@
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 getEstimate(args?: GetEstimateArgs, opts?: pulumi.InvokeOptions): Promise<GetEstimateResult> {
8
+ args = args || {};
9
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
10
+ return pulumi.runtime.invoke("thoth:billing/getEstimate:getEstimate", {
11
+ "activeIdentitiesOverride": args.activeIdentitiesOverride,
12
+ "asOf": args.asOf,
13
+ "averageMonthlyBurnCents": args.averageMonthlyBurnCents,
14
+ "complianceUpliftPercent": args.complianceUpliftPercent,
15
+ "fixedDiscountPercent": args.fixedDiscountPercent,
16
+ "period": args.period,
17
+ "policyChecksOverride": args.policyChecksOverride,
18
+ }, opts);
19
+ }
20
+
21
+ /**
22
+ * A collection of arguments for invoking getEstimate.
23
+ */
24
+ export interface GetEstimateArgs {
25
+ activeIdentitiesOverride?: number;
26
+ asOf?: string;
27
+ averageMonthlyBurnCents?: number;
28
+ complianceUpliftPercent?: number;
29
+ fixedDiscountPercent?: number;
30
+ period?: string;
31
+ policyChecksOverride?: number;
32
+ }
33
+
34
+ /**
35
+ * A collection of values returned by getEstimate.
36
+ */
37
+ export interface GetEstimateResult {
38
+ readonly activeIdentitiesOverride?: number;
39
+ readonly asOf?: string;
40
+ readonly averageMonthlyBurnCents?: number;
41
+ readonly complianceReceipt: string;
42
+ readonly complianceUpliftPercent?: number;
43
+ readonly creditBurnsJson: string;
44
+ readonly fixedDiscountPercent?: number;
45
+ readonly grossBillCents: number;
46
+ /**
47
+ * The provider-assigned unique ID for this managed resource.
48
+ */
49
+ readonly id: string;
50
+ readonly lineItemComplianceUpliftCents: number;
51
+ readonly lineItemCreditsAppliedCents: number;
52
+ readonly lineItemEnforcementOverageCents: number;
53
+ readonly lineItemFixedDiscountCents: number;
54
+ readonly lineItemIdentityOverageCents: number;
55
+ readonly lineItemPlatformFeeCents: number;
56
+ readonly lineItemStorageCapacityCents: number;
57
+ readonly lineItemStorageRetentionCents: number;
58
+ readonly lowBalanceAlert: boolean;
59
+ readonly netTotalCents: number;
60
+ readonly period?: string;
61
+ readonly periodEffective: string;
62
+ readonly policyChecksOverride?: number;
63
+ readonly pricingTier: string;
64
+ readonly responseJson: string;
65
+ readonly summaryJson: string;
66
+ readonly wormRetentionDays: number;
67
+ }
68
+ export function getEstimateOutput(args?: GetEstimateOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetEstimateResult> {
69
+ args = args || {};
70
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
71
+ return pulumi.runtime.invokeOutput("thoth:billing/getEstimate:getEstimate", {
72
+ "activeIdentitiesOverride": args.activeIdentitiesOverride,
73
+ "asOf": args.asOf,
74
+ "averageMonthlyBurnCents": args.averageMonthlyBurnCents,
75
+ "complianceUpliftPercent": args.complianceUpliftPercent,
76
+ "fixedDiscountPercent": args.fixedDiscountPercent,
77
+ "period": args.period,
78
+ "policyChecksOverride": args.policyChecksOverride,
79
+ }, opts);
80
+ }
81
+
82
+ /**
83
+ * A collection of arguments for invoking getEstimate.
84
+ */
85
+ export interface GetEstimateOutputArgs {
86
+ activeIdentitiesOverride?: pulumi.Input<number | undefined>;
87
+ asOf?: pulumi.Input<string | undefined>;
88
+ averageMonthlyBurnCents?: pulumi.Input<number | undefined>;
89
+ complianceUpliftPercent?: pulumi.Input<number | undefined>;
90
+ fixedDiscountPercent?: pulumi.Input<number | undefined>;
91
+ period?: pulumi.Input<string | undefined>;
92
+ policyChecksOverride?: pulumi.Input<number | undefined>;
93
+ }
@@ -14,11 +14,22 @@ export function getMonthlyCost(opts?: pulumi.InvokeOptions): Promise<GetMonthlyC
14
14
  * A collection of values returned by getMonthlyCost.
15
15
  */
16
16
  export interface GetMonthlyCostResult {
17
+ readonly actionCostUsd: number;
18
+ readonly creditDiscountUsd: number;
19
+ readonly governedIdentitiesObserved: number;
20
+ readonly governedIdentityCostUsd: number;
17
21
  /**
18
22
  * The provider-assigned unique ID for this managed resource.
19
23
  */
20
24
  readonly id: string;
25
+ readonly netCostUsd: number;
26
+ readonly policyChecksCostUsd: number;
27
+ readonly policyChecksTotal: number;
21
28
  readonly responseJson: string;
29
+ readonly stripeInvoiceTotalUsd: number;
30
+ readonly stripeReconciliationUsd: number;
31
+ readonly tier: string;
32
+ readonly totalCostUsd: number;
22
33
  }
23
34
  export function getMonthlyCostOutput(opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetMonthlyCostResult> {
24
35
  opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
@@ -14,10 +14,20 @@ export function getPricing(opts?: pulumi.InvokeOptions): Promise<GetPricingResul
14
14
  * A collection of values returned by getPricing.
15
15
  */
16
16
  export interface GetPricingResult {
17
+ readonly activeTier: string;
18
+ readonly baseMonthlyPlatformFeeUsd: number;
19
+ readonly catalogVersion: string;
20
+ readonly creditDiscountPercent: number;
21
+ readonly governedIdentityUsdPerMonth: number;
17
22
  /**
18
23
  * The provider-assigned unique ID for this managed resource.
19
24
  */
20
25
  readonly id: string;
26
+ readonly includedGovernedIdentities: number;
27
+ readonly includedPolicyChecks: number;
28
+ readonly overageCapUsd: number;
29
+ readonly policyChecksUsdPerMillion: number;
30
+ readonly prepaidCreditUsd: number;
21
31
  readonly responseJson: string;
22
32
  }
23
33
  export function getPricingOutput(opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetPricingResult> {
package/billing/index.ts CHANGED
@@ -1,9 +1,20 @@
1
1
  // *** WARNING: this file was generated by pulumi-language-nodejs. ***
2
2
  // *** Do not edit by hand unless you're certain you know what you are doing! ***
3
3
 
4
+ import * as pulumi from "@pulumi/pulumi";
4
5
  import * as utilities from "../utilities";
5
6
 
6
7
  // Export members:
8
+ export { GetCreditBankArgs, GetCreditBankResult, GetCreditBankOutputArgs } from "./getCreditBank";
9
+ export const getCreditBank: typeof import("./getCreditBank").getCreditBank = null as any;
10
+ export const getCreditBankOutput: typeof import("./getCreditBank").getCreditBankOutput = null as any;
11
+ utilities.lazyLoad(exports, ["getCreditBank","getCreditBankOutput"], () => require("./getCreditBank"));
12
+
13
+ export { GetEstimateArgs, GetEstimateResult, GetEstimateOutputArgs } from "./getEstimate";
14
+ export const getEstimate: typeof import("./getEstimate").getEstimate = null as any;
15
+ export const getEstimateOutput: typeof import("./getEstimate").getEstimateOutput = null as any;
16
+ utilities.lazyLoad(exports, ["getEstimate","getEstimateOutput"], () => require("./getEstimate"));
17
+
7
18
  export { GetInvoicesArgs, GetInvoicesResult, GetInvoicesOutputArgs } from "./getInvoices";
8
19
  export const getInvoices: typeof import("./getInvoices").getInvoices = null as any;
9
20
  export const getInvoicesOutput: typeof import("./getInvoices").getInvoicesOutput = null as any;
@@ -29,3 +40,21 @@ export const getReports: typeof import("./getReports").getReports = null as any;
29
40
  export const getReportsOutput: typeof import("./getReports").getReportsOutput = null as any;
30
41
  utilities.lazyLoad(exports, ["getReports","getReportsOutput"], () => require("./getReports"));
31
42
 
43
+ export { OverageCapArgs, OverageCapState } from "./overageCap";
44
+ export type OverageCap = import("./overageCap").OverageCap;
45
+ export const OverageCap: typeof import("./overageCap").OverageCap = null as any;
46
+ utilities.lazyLoad(exports, ["OverageCap"], () => require("./overageCap"));
47
+
48
+
49
+ const _module = {
50
+ version: utilities.getVersion(),
51
+ construct: (name: string, type: string, urn: string): pulumi.Resource => {
52
+ switch (type) {
53
+ case "thoth:billing/overageCap:OverageCap":
54
+ return new OverageCap(name, <any>undefined, { urn })
55
+ default:
56
+ throw new Error(`unknown resource type ${type}`);
57
+ }
58
+ },
59
+ };
60
+ pulumi.runtime.registerResourceModule("thoth", "billing/overageCap", _module)
@@ -0,0 +1,174 @@
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 OverageCap extends pulumi.CustomResource {
8
+ /**
9
+ * Get an existing OverageCap 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?: OverageCapState, opts?: pulumi.CustomResourceOptions): OverageCap {
18
+ return new OverageCap(name, <any>state, { ...opts, id: id });
19
+ }
20
+
21
+ /** @internal */
22
+ public static readonly __pulumiType = 'thoth:billing/overageCap:OverageCap';
23
+
24
+ /**
25
+ * Returns true if the given object is an instance of OverageCap. 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 OverageCap {
29
+ if (obj === undefined || obj === null) {
30
+ return false;
31
+ }
32
+ return obj['__pulumiType'] === OverageCap.__pulumiType;
33
+ }
34
+
35
+ /**
36
+ * Effective active pricing tier.
37
+ */
38
+ declare public /*out*/ readonly activeTier: pulumi.Output<string>;
39
+ /**
40
+ * Base monthly platform fee in USD for the active tier.
41
+ */
42
+ declare public /*out*/ readonly baseMonthlyPlatformFeeUsd: pulumi.Output<number>;
43
+ /**
44
+ * Per-governed-identity overage rate.
45
+ */
46
+ declare public /*out*/ readonly governedIdentityUsdPerMonth: pulumi.Output<number>;
47
+ /**
48
+ * Included governed identities before overage.
49
+ */
50
+ declare public /*out*/ readonly includedGovernedIdentities: pulumi.Output<number>;
51
+ /**
52
+ * Included policy checks before overage.
53
+ */
54
+ declare public /*out*/ readonly includedPolicyChecks: pulumi.Output<number>;
55
+ /**
56
+ * Monthly variable overage cap in USD.
57
+ */
58
+ declare public readonly overageCapUsd: pulumi.Output<number>;
59
+ /**
60
+ * Per-million policy checks overage rate.
61
+ */
62
+ declare public /*out*/ readonly policyChecksUsdPerMillion: pulumi.Output<number>;
63
+ /**
64
+ * Full billing pricing profile response payload as JSON.
65
+ */
66
+ declare public /*out*/ readonly responseJson: pulumi.Output<string>;
67
+ /**
68
+ * Tenant ID resolved from provider configuration.
69
+ */
70
+ declare public /*out*/ readonly tenantId: pulumi.Output<string>;
71
+ /**
72
+ * Timestamp when the overage cap was last applied via provider.
73
+ */
74
+ declare public /*out*/ readonly updatedAt: pulumi.Output<string>;
75
+
76
+ /**
77
+ * Create a OverageCap resource with the given unique name, arguments, and options.
78
+ *
79
+ * @param name The _unique_ name of the resource.
80
+ * @param args The arguments to use to populate this resource's properties.
81
+ * @param opts A bag of options that control this resource's behavior.
82
+ */
83
+ constructor(name: string, args: OverageCapArgs, opts?: pulumi.CustomResourceOptions)
84
+ constructor(name: string, argsOrState?: OverageCapArgs | OverageCapState, opts?: pulumi.CustomResourceOptions) {
85
+ let resourceInputs: pulumi.Inputs = {};
86
+ opts = opts || {};
87
+ if (opts.id) {
88
+ const state = argsOrState as OverageCapState | undefined;
89
+ resourceInputs["activeTier"] = state?.activeTier;
90
+ resourceInputs["baseMonthlyPlatformFeeUsd"] = state?.baseMonthlyPlatformFeeUsd;
91
+ resourceInputs["governedIdentityUsdPerMonth"] = state?.governedIdentityUsdPerMonth;
92
+ resourceInputs["includedGovernedIdentities"] = state?.includedGovernedIdentities;
93
+ resourceInputs["includedPolicyChecks"] = state?.includedPolicyChecks;
94
+ resourceInputs["overageCapUsd"] = state?.overageCapUsd;
95
+ resourceInputs["policyChecksUsdPerMillion"] = state?.policyChecksUsdPerMillion;
96
+ resourceInputs["responseJson"] = state?.responseJson;
97
+ resourceInputs["tenantId"] = state?.tenantId;
98
+ resourceInputs["updatedAt"] = state?.updatedAt;
99
+ } else {
100
+ const args = argsOrState as OverageCapArgs | undefined;
101
+ if (args?.overageCapUsd === undefined && !opts.urn) {
102
+ throw new Error("Missing required property 'overageCapUsd'");
103
+ }
104
+ resourceInputs["overageCapUsd"] = args?.overageCapUsd;
105
+ resourceInputs["activeTier"] = undefined /*out*/;
106
+ resourceInputs["baseMonthlyPlatformFeeUsd"] = undefined /*out*/;
107
+ resourceInputs["governedIdentityUsdPerMonth"] = undefined /*out*/;
108
+ resourceInputs["includedGovernedIdentities"] = undefined /*out*/;
109
+ resourceInputs["includedPolicyChecks"] = undefined /*out*/;
110
+ resourceInputs["policyChecksUsdPerMillion"] = undefined /*out*/;
111
+ resourceInputs["responseJson"] = undefined /*out*/;
112
+ resourceInputs["tenantId"] = undefined /*out*/;
113
+ resourceInputs["updatedAt"] = undefined /*out*/;
114
+ }
115
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
116
+ super(OverageCap.__pulumiType, name, resourceInputs, opts);
117
+ }
118
+ }
119
+
120
+ /**
121
+ * Input properties used for looking up and filtering OverageCap resources.
122
+ */
123
+ export interface OverageCapState {
124
+ /**
125
+ * Effective active pricing tier.
126
+ */
127
+ activeTier?: pulumi.Input<string | undefined>;
128
+ /**
129
+ * Base monthly platform fee in USD for the active tier.
130
+ */
131
+ baseMonthlyPlatformFeeUsd?: pulumi.Input<number | undefined>;
132
+ /**
133
+ * Per-governed-identity overage rate.
134
+ */
135
+ governedIdentityUsdPerMonth?: pulumi.Input<number | undefined>;
136
+ /**
137
+ * Included governed identities before overage.
138
+ */
139
+ includedGovernedIdentities?: pulumi.Input<number | undefined>;
140
+ /**
141
+ * Included policy checks before overage.
142
+ */
143
+ includedPolicyChecks?: pulumi.Input<number | undefined>;
144
+ /**
145
+ * Monthly variable overage cap in USD.
146
+ */
147
+ overageCapUsd?: pulumi.Input<number | undefined>;
148
+ /**
149
+ * Per-million policy checks overage rate.
150
+ */
151
+ policyChecksUsdPerMillion?: pulumi.Input<number | undefined>;
152
+ /**
153
+ * Full billing pricing profile response payload as JSON.
154
+ */
155
+ responseJson?: pulumi.Input<string | undefined>;
156
+ /**
157
+ * Tenant ID resolved from provider configuration.
158
+ */
159
+ tenantId?: pulumi.Input<string | undefined>;
160
+ /**
161
+ * Timestamp when the overage cap was last applied via provider.
162
+ */
163
+ updatedAt?: pulumi.Input<string | undefined>;
164
+ }
165
+
166
+ /**
167
+ * The set of arguments for constructing a OverageCap resource.
168
+ */
169
+ export interface OverageCapArgs {
170
+ /**
171
+ * Monthly variable overage cap in USD.
172
+ */
173
+ overageCapUsd: pulumi.Input<number>;
174
+ }
@@ -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
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atensec/pulumi-thoth",
3
- "version": "0.1.4",
3
+ "version": "0.1.5",
4
4
  "description": "Pulumi provider for Aten Security Thoth AI governance control plane.",
5
5
  "keywords": [
6
6
  "pulumi",
package/tsconfig.json CHANGED
@@ -26,12 +26,15 @@
26
26
  "access/getApiKeyMetrics.ts",
27
27
  "access/getApiKeys.ts",
28
28
  "access/index.ts",
29
+ "billing/getCreditBank.ts",
30
+ "billing/getEstimate.ts",
29
31
  "billing/getInvoices.ts",
30
32
  "billing/getMonthlyCost.ts",
31
33
  "billing/getPricing.ts",
32
34
  "billing/getReport.ts",
33
35
  "billing/getReports.ts",
34
36
  "billing/index.ts",
37
+ "billing/overageCap.ts",
35
38
  "browser/enrollment.ts",
36
39
  "browser/getEnrollments.ts",
37
40
  "browser/getPolicies.ts",