@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
@@ -20,16 +20,61 @@ export type EvidenceBackfill = import("./evidenceBackfill").EvidenceBackfill;
20
20
  export const EvidenceBackfill: typeof import("./evidenceBackfill").EvidenceBackfill = null as any;
21
21
  utilities.lazyLoad(exports, ["EvidenceBackfill"], () => require("./evidenceBackfill"));
22
22
 
23
+ export { GetApprovalsArgs, GetApprovalsResult, GetApprovalsOutputArgs } from "./getApprovals";
24
+ export const getApprovals: typeof import("./getApprovals").getApprovals = null as any;
25
+ export const getApprovalsOutput: typeof import("./getApprovals").getApprovalsOutput = null as any;
26
+ utilities.lazyLoad(exports, ["getApprovals","getApprovalsOutput"], () => require("./getApprovals"));
27
+
28
+ export { GetCostReportArgs, GetCostReportResult, GetCostReportOutputArgs } from "./getCostReport";
29
+ export const getCostReport: typeof import("./getCostReport").getCostReport = null as any;
30
+ export const getCostReportOutput: typeof import("./getCostReport").getCostReportOutput = null as any;
31
+ utilities.lazyLoad(exports, ["getCostReport","getCostReportOutput"], () => require("./getCostReport"));
32
+
33
+ export { GetDay7ReportArgs, GetDay7ReportResult, GetDay7ReportOutputArgs } from "./getDay7Report";
34
+ export const getDay7Report: typeof import("./getDay7Report").getDay7Report = null as any;
35
+ export const getDay7ReportOutput: typeof import("./getDay7Report").getDay7ReportOutput = null as any;
36
+ utilities.lazyLoad(exports, ["getDay7Report","getDay7ReportOutput"], () => require("./getDay7Report"));
37
+
38
+ export { GetEvidenceBundleArgs, GetEvidenceBundleResult, GetEvidenceBundleOutputArgs } from "./getEvidenceBundle";
39
+ export const getEvidenceBundle: typeof import("./getEvidenceBundle").getEvidenceBundle = null as any;
40
+ export const getEvidenceBundleOutput: typeof import("./getEvidenceBundle").getEvidenceBundleOutput = null as any;
41
+ utilities.lazyLoad(exports, ["getEvidenceBundle","getEvidenceBundleOutput"], () => require("./getEvidenceBundle"));
42
+
43
+ export { GetEvidenceChainArgs, GetEvidenceChainResult, GetEvidenceChainOutputArgs } from "./getEvidenceChain";
44
+ export const getEvidenceChain: typeof import("./getEvidenceChain").getEvidenceChain = null as any;
45
+ export const getEvidenceChainOutput: typeof import("./getEvidenceChain").getEvidenceChainOutput = null as any;
46
+ utilities.lazyLoad(exports, ["getEvidenceChain","getEvidenceChainOutput"], () => require("./getEvidenceChain"));
47
+
23
48
  export { GetEvidenceSlosArgs, GetEvidenceSlosResult, GetEvidenceSlosOutputArgs } from "./getEvidenceSlos";
24
49
  export const getEvidenceSlos: typeof import("./getEvidenceSlos").getEvidenceSlos = null as any;
25
50
  export const getEvidenceSlosOutput: typeof import("./getEvidenceSlos").getEvidenceSlosOutput = null as any;
26
51
  utilities.lazyLoad(exports, ["getEvidenceSlos","getEvidenceSlosOutput"], () => require("./getEvidenceSlos"));
27
52
 
53
+ export { GetEvidenceVerifyArgs, GetEvidenceVerifyResult, GetEvidenceVerifyOutputArgs } from "./getEvidenceVerify";
54
+ export const getEvidenceVerify: typeof import("./getEvidenceVerify").getEvidenceVerify = null as any;
55
+ export const getEvidenceVerifyOutput: typeof import("./getEvidenceVerify").getEvidenceVerifyOutput = null as any;
56
+ utilities.lazyLoad(exports, ["getEvidenceVerify","getEvidenceVerifyOutput"], () => require("./getEvidenceVerify"));
57
+
28
58
  export { GetFeedArgs, GetFeedResult, GetFeedOutputArgs } from "./getFeed";
29
59
  export const getFeed: typeof import("./getFeed").getFeed = null as any;
30
60
  export const getFeedOutput: typeof import("./getFeed").getFeedOutput = null as any;
31
61
  utilities.lazyLoad(exports, ["getFeed","getFeedOutput"], () => require("./getFeed"));
32
62
 
63
+ export { GetPacksResult } from "./getPacks";
64
+ export const getPacks: typeof import("./getPacks").getPacks = null as any;
65
+ export const getPacksOutput: typeof import("./getPacks").getPacksOutput = null as any;
66
+ utilities.lazyLoad(exports, ["getPacks","getPacksOutput"], () => require("./getPacks"));
67
+
68
+ export { GetReportsOverviewArgs, GetReportsOverviewResult, GetReportsOverviewOutputArgs } from "./getReportsOverview";
69
+ export const getReportsOverview: typeof import("./getReportsOverview").getReportsOverview = null as any;
70
+ export const getReportsOverviewOutput: typeof import("./getReportsOverview").getReportsOverviewOutput = null as any;
71
+ utilities.lazyLoad(exports, ["getReportsOverview","getReportsOverviewOutput"], () => require("./getReportsOverview"));
72
+
73
+ export { GetRuntimeStatusArgs, GetRuntimeStatusResult, GetRuntimeStatusOutputArgs } from "./getRuntimeStatus";
74
+ export const getRuntimeStatus: typeof import("./getRuntimeStatus").getRuntimeStatus = null as any;
75
+ export const getRuntimeStatusOutput: typeof import("./getRuntimeStatus").getRuntimeStatusOutput = null as any;
76
+ utilities.lazyLoad(exports, ["getRuntimeStatus","getRuntimeStatusOutput"], () => require("./getRuntimeStatus"));
77
+
33
78
  export { GetTenantSettingsResult } from "./getTenantSettings";
34
79
  export const getTenantSettings: typeof import("./getTenantSettings").getTenantSettings = null as any;
35
80
  export const getTenantSettingsOutput: typeof import("./getTenantSettings").getTenantSettingsOutput = null as any;
@@ -40,6 +85,11 @@ export const getTools: typeof import("./getTools").getTools = null as any;
40
85
  export const getToolsOutput: typeof import("./getTools").getToolsOutput = null as any;
41
86
  utilities.lazyLoad(exports, ["getTools","getToolsOutput"], () => require("./getTools"));
42
87
 
88
+ export { GovernanceSettingsArgs, GovernanceSettingsState } from "./governanceSettings";
89
+ export type GovernanceSettings = import("./governanceSettings").GovernanceSettings;
90
+ export const GovernanceSettings: typeof import("./governanceSettings").GovernanceSettings = null as any;
91
+ utilities.lazyLoad(exports, ["GovernanceSettings"], () => require("./governanceSettings"));
92
+
43
93
  export { PackAssignmentArgs, PackAssignmentState } from "./packAssignment";
44
94
  export type PackAssignment = import("./packAssignment").PackAssignment;
45
95
  export const PackAssignment: typeof import("./packAssignment").PackAssignment = null as any;
@@ -50,15 +100,25 @@ export type PackAssignmentBulk = import("./packAssignmentBulk").PackAssignmentBu
50
100
  export const PackAssignmentBulk: typeof import("./packAssignmentBulk").PackAssignmentBulk = null as any;
51
101
  utilities.lazyLoad(exports, ["PackAssignmentBulk"], () => require("./packAssignmentBulk"));
52
102
 
103
+ export { PamSettingsArgs, PamSettingsState } from "./pamSettings";
104
+ export type PamSettings = import("./pamSettings").PamSettings;
105
+ export const PamSettings: typeof import("./pamSettings").PamSettings = null as any;
106
+ utilities.lazyLoad(exports, ["PamSettings"], () => require("./pamSettings"));
107
+
53
108
  export { PolicySyncArgs, PolicySyncState } from "./policySync";
54
109
  export type PolicySync = import("./policySync").PolicySync;
55
110
  export const PolicySync: typeof import("./policySync").PolicySync = null as any;
56
111
  utilities.lazyLoad(exports, ["PolicySync"], () => require("./policySync"));
57
112
 
58
- export { TenantSettingsArgs, TenantSettingsState } from "./tenantSettings";
59
- export type TenantSettings = import("./tenantSettings").TenantSettings;
60
- export const TenantSettings: typeof import("./tenantSettings").TenantSettings = null as any;
61
- utilities.lazyLoad(exports, ["TenantSettings"], () => require("./tenantSettings"));
113
+ export { SiemSettingsArgs, SiemSettingsState } from "./siemSettings";
114
+ export type SiemSettings = import("./siemSettings").SiemSettings;
115
+ export const SiemSettings: typeof import("./siemSettings").SiemSettings = null as any;
116
+ utilities.lazyLoad(exports, ["SiemSettings"], () => require("./siemSettings"));
117
+
118
+ export { WebhookSettingsArgs, WebhookSettingsState } from "./webhookSettings";
119
+ export type WebhookSettings = import("./webhookSettings").WebhookSettings;
120
+ export const WebhookSettings: typeof import("./webhookSettings").WebhookSettings = null as any;
121
+ utilities.lazyLoad(exports, ["WebhookSettings"], () => require("./webhookSettings"));
62
122
 
63
123
  export { WebhookTestArgs, WebhookTestState } from "./webhookTest";
64
124
  export type WebhookTest = import("./webhookTest").WebhookTest;
@@ -76,14 +136,20 @@ const _module = {
76
136
  return new DecisionFieldBackfill(name, <any>undefined, { urn })
77
137
  case "thoth:governance/evidenceBackfill:EvidenceBackfill":
78
138
  return new EvidenceBackfill(name, <any>undefined, { urn })
139
+ case "thoth:governance/governanceSettings:GovernanceSettings":
140
+ return new GovernanceSettings(name, <any>undefined, { urn })
79
141
  case "thoth:governance/packAssignment:PackAssignment":
80
142
  return new PackAssignment(name, <any>undefined, { urn })
81
143
  case "thoth:governance/packAssignmentBulk:PackAssignmentBulk":
82
144
  return new PackAssignmentBulk(name, <any>undefined, { urn })
145
+ case "thoth:governance/pamSettings:PamSettings":
146
+ return new PamSettings(name, <any>undefined, { urn })
83
147
  case "thoth:governance/policySync:PolicySync":
84
148
  return new PolicySync(name, <any>undefined, { urn })
85
- case "thoth:governance/tenantSettings:TenantSettings":
86
- return new TenantSettings(name, <any>undefined, { urn })
149
+ case "thoth:governance/siemSettings:SiemSettings":
150
+ return new SiemSettings(name, <any>undefined, { urn })
151
+ case "thoth:governance/webhookSettings:WebhookSettings":
152
+ return new WebhookSettings(name, <any>undefined, { urn })
87
153
  case "thoth:governance/webhookTest:WebhookTest":
88
154
  return new WebhookTest(name, <any>undefined, { urn })
89
155
  default:
@@ -94,8 +160,11 @@ const _module = {
94
160
  pulumi.runtime.registerResourceModule("thoth", "governance/approvalDecision", _module)
95
161
  pulumi.runtime.registerResourceModule("thoth", "governance/decisionFieldBackfill", _module)
96
162
  pulumi.runtime.registerResourceModule("thoth", "governance/evidenceBackfill", _module)
163
+ pulumi.runtime.registerResourceModule("thoth", "governance/governanceSettings", _module)
97
164
  pulumi.runtime.registerResourceModule("thoth", "governance/packAssignment", _module)
98
165
  pulumi.runtime.registerResourceModule("thoth", "governance/packAssignmentBulk", _module)
166
+ pulumi.runtime.registerResourceModule("thoth", "governance/pamSettings", _module)
99
167
  pulumi.runtime.registerResourceModule("thoth", "governance/policySync", _module)
100
- pulumi.runtime.registerResourceModule("thoth", "governance/tenantSettings", _module)
168
+ pulumi.runtime.registerResourceModule("thoth", "governance/siemSettings", _module)
169
+ pulumi.runtime.registerResourceModule("thoth", "governance/webhookSettings", _module)
101
170
  pulumi.runtime.registerResourceModule("thoth", "governance/webhookTest", _module)
@@ -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
+ }
@@ -0,0 +1,145 @@
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 WebhookSettings extends pulumi.CustomResource {
8
+ /**
9
+ * Get an existing WebhookSettings 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?: WebhookSettingsState, opts?: pulumi.CustomResourceOptions): WebhookSettings {
18
+ return new WebhookSettings(name, <any>state, { ...opts, id: id });
19
+ }
20
+
21
+ /** @internal */
22
+ public static readonly __pulumiType = 'thoth:governance/webhookSettings:WebhookSettings';
23
+
24
+ /**
25
+ * Returns true if the given object is an instance of WebhookSettings. 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 WebhookSettings {
29
+ if (obj === undefined || obj === null) {
30
+ return false;
31
+ }
32
+ return obj['__pulumiType'] === WebhookSettings.__pulumiType;
33
+ }
34
+
35
+ /**
36
+ * Tenant ID resolved from provider configuration.
37
+ */
38
+ declare public /*out*/ readonly tenantId: pulumi.Output<string>;
39
+ /**
40
+ * Run webhook test endpoint after applying settings.
41
+ */
42
+ declare public readonly testWebhookOnApply: pulumi.Output<boolean | undefined>;
43
+ /**
44
+ * Last update timestamp returned by GovAPI.
45
+ */
46
+ declare public /*out*/ readonly updatedAt: pulumi.Output<string>;
47
+ /**
48
+ * Enable outbound webhook delivery.
49
+ */
50
+ declare public readonly webhookEnabled: pulumi.Output<boolean | undefined>;
51
+ /**
52
+ * Webhook signing secret.
53
+ */
54
+ declare public readonly webhookSecret: pulumi.Output<string | undefined>;
55
+ /**
56
+ * Outbound webhook URL.
57
+ */
58
+ declare public readonly webhookUrl: pulumi.Output<string | undefined>;
59
+
60
+ /**
61
+ * Create a WebhookSettings resource with the given unique name, arguments, and options.
62
+ *
63
+ * @param name The _unique_ name of the resource.
64
+ * @param args The arguments to use to populate this resource's properties.
65
+ * @param opts A bag of options that control this resource's behavior.
66
+ */
67
+ constructor(name: string, args?: WebhookSettingsArgs, opts?: pulumi.CustomResourceOptions)
68
+ constructor(name: string, argsOrState?: WebhookSettingsArgs | WebhookSettingsState, opts?: pulumi.CustomResourceOptions) {
69
+ let resourceInputs: pulumi.Inputs = {};
70
+ opts = opts || {};
71
+ if (opts.id) {
72
+ const state = argsOrState as WebhookSettingsState | undefined;
73
+ resourceInputs["tenantId"] = state?.tenantId;
74
+ resourceInputs["testWebhookOnApply"] = state?.testWebhookOnApply;
75
+ resourceInputs["updatedAt"] = state?.updatedAt;
76
+ resourceInputs["webhookEnabled"] = state?.webhookEnabled;
77
+ resourceInputs["webhookSecret"] = state?.webhookSecret;
78
+ resourceInputs["webhookUrl"] = state?.webhookUrl;
79
+ } else {
80
+ const args = argsOrState as WebhookSettingsArgs | undefined;
81
+ resourceInputs["testWebhookOnApply"] = args?.testWebhookOnApply;
82
+ resourceInputs["webhookEnabled"] = args?.webhookEnabled;
83
+ resourceInputs["webhookSecret"] = args?.webhookSecret ? pulumi.secret(args.webhookSecret) : undefined;
84
+ resourceInputs["webhookUrl"] = args?.webhookUrl;
85
+ resourceInputs["tenantId"] = undefined /*out*/;
86
+ resourceInputs["updatedAt"] = undefined /*out*/;
87
+ }
88
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
89
+ const secretOpts = { additionalSecretOutputs: ["webhookSecret"] };
90
+ opts = pulumi.mergeOptions(opts, secretOpts);
91
+ super(WebhookSettings.__pulumiType, name, resourceInputs, opts);
92
+ }
93
+ }
94
+
95
+ /**
96
+ * Input properties used for looking up and filtering WebhookSettings resources.
97
+ */
98
+ export interface WebhookSettingsState {
99
+ /**
100
+ * Tenant ID resolved from provider configuration.
101
+ */
102
+ tenantId?: pulumi.Input<string | undefined>;
103
+ /**
104
+ * Run webhook test endpoint after applying settings.
105
+ */
106
+ testWebhookOnApply?: pulumi.Input<boolean | undefined>;
107
+ /**
108
+ * Last update timestamp returned by GovAPI.
109
+ */
110
+ updatedAt?: pulumi.Input<string | undefined>;
111
+ /**
112
+ * Enable outbound webhook delivery.
113
+ */
114
+ webhookEnabled?: pulumi.Input<boolean | undefined>;
115
+ /**
116
+ * Webhook signing secret.
117
+ */
118
+ webhookSecret?: pulumi.Input<string | undefined>;
119
+ /**
120
+ * Outbound webhook URL.
121
+ */
122
+ webhookUrl?: pulumi.Input<string | undefined>;
123
+ }
124
+
125
+ /**
126
+ * The set of arguments for constructing a WebhookSettings resource.
127
+ */
128
+ export interface WebhookSettingsArgs {
129
+ /**
130
+ * Run webhook test endpoint after applying settings.
131
+ */
132
+ testWebhookOnApply?: pulumi.Input<boolean | undefined>;
133
+ /**
134
+ * Enable outbound webhook delivery.
135
+ */
136
+ webhookEnabled?: pulumi.Input<boolean | undefined>;
137
+ /**
138
+ * Webhook signing secret.
139
+ */
140
+ webhookSecret?: pulumi.Input<string | undefined>;
141
+ /**
142
+ * Outbound webhook URL.
143
+ */
144
+ webhookUrl?: pulumi.Input<string | undefined>;
145
+ }
package/index.ts CHANGED
@@ -11,15 +11,19 @@ import { Provider } from "./provider";
11
11
 
12
12
  // Export sub-modules:
13
13
  import * as access from "./access";
14
+ import * as billing from "./billing";
14
15
  import * as browser from "./browser";
15
16
  import * as config from "./config";
17
+ import * as fleet from "./fleet";
16
18
  import * as governance from "./governance";
17
19
  import * as mdm from "./mdm";
18
20
 
19
21
  export {
20
22
  access,
23
+ billing,
21
24
  browser,
22
25
  config,
26
+ fleet,
23
27
  governance,
24
28
  mdm,
25
29
  };