@atensec/pulumi-thoth 0.1.1 → 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 +23 -1
  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 +24 -9
  43. package/tsconfig.json +34 -2
@@ -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 getProviders(opts?: pulumi.InvokeOptions): Promise<GetProvidersResult> {
8
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
9
+ return pulumi.runtime.invoke("thoth:mdm/getProviders:getProviders", {
10
+ }, opts);
11
+ }
12
+
13
+ /**
14
+ * A collection of values returned by getProviders.
15
+ */
16
+ export interface GetProvidersResult {
17
+ readonly dataJson: string;
18
+ /**
19
+ * The provider-assigned unique ID for this managed resource.
20
+ */
21
+ readonly id: string;
22
+ readonly total: number;
23
+ }
24
+ export function getProvidersOutput(opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetProvidersResult> {
25
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
26
+ return pulumi.runtime.invokeOutput("thoth:mdm/getProviders:getProviders", {
27
+ }, opts);
28
+ }
package/mdm/index.ts CHANGED
@@ -5,6 +5,11 @@ import * as pulumi from "@pulumi/pulumi";
5
5
  import * as utilities from "../utilities";
6
6
 
7
7
  // Export members:
8
+ export { GetProvidersResult } from "./getProviders";
9
+ export const getProviders: typeof import("./getProviders").getProviders = null as any;
10
+ export const getProvidersOutput: typeof import("./getProviders").getProvidersOutput = null as any;
11
+ utilities.lazyLoad(exports, ["getProviders","getProvidersOutput"], () => require("./getProviders"));
12
+
8
13
  export { GetSyncJobArgs, GetSyncJobResult, GetSyncJobOutputArgs } from "./getSyncJob";
9
14
  export const getSyncJob: typeof import("./getSyncJob").getSyncJob = null as any;
10
15
  export const getSyncJobOutput: typeof import("./getSyncJob").getSyncJobOutput = null as any;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atensec/pulumi-thoth",
3
- "version": "0.1.1",
3
+ "version": "0.1.4",
4
4
  "description": "Pulumi provider for Aten Security Thoth AI governance control plane.",
5
5
  "keywords": [
6
6
  "pulumi",
package/provider.ts CHANGED
@@ -42,9 +42,17 @@ export class Provider extends pulumi.ProviderResource {
42
42
  */
43
43
  declare public readonly apiBaseUrl: pulumi.Output<string | undefined>;
44
44
  /**
45
- * Tenant slug used in GovAPI route scoping.
45
+ * Organization-scoped API key used for non-interactive CI/CD control-plane operations.
46
46
  */
47
- declare public readonly tenantId: pulumi.Output<string>;
47
+ declare public readonly orgApiKey: pulumi.Output<string | undefined>;
48
+ /**
49
+ * Path to a file containing the organization-scoped API key.
50
+ */
51
+ declare public readonly orgApiKeyFile: pulumi.Output<string | undefined>;
52
+ /**
53
+ * Tenant slug used in GovAPI route scoping. If omitted, provider reads THOTH_TENANT_ID.
54
+ */
55
+ declare public readonly tenantId: pulumi.Output<string | undefined>;
48
56
 
49
57
  /**
50
58
  * Create a Provider resource with the given unique name, arguments, and options.
@@ -53,18 +61,17 @@ export class Provider extends pulumi.ProviderResource {
53
61
  * @param args The arguments to use to populate this resource's properties.
54
62
  * @param opts A bag of options that control this resource's behavior.
55
63
  */
56
- constructor(name: string, args: ProviderArgs, opts?: pulumi.ResourceOptions) {
64
+ constructor(name: string, args?: ProviderArgs, opts?: pulumi.ResourceOptions) {
57
65
  let resourceInputs: pulumi.Inputs = {};
58
66
  opts = opts || {};
59
67
  {
60
- if (args?.tenantId === undefined && !opts.urn) {
61
- throw new Error("Missing required property 'tenantId'");
62
- }
63
68
  resourceInputs["adminBearerToken"] = args?.adminBearerToken ? pulumi.secret(args.adminBearerToken) : undefined;
64
69
  resourceInputs["adminBearerTokenFile"] = args?.adminBearerTokenFile;
65
70
  resourceInputs["apexDomain"] = args?.apexDomain;
66
71
  resourceInputs["apiBaseUrl"] = args?.apiBaseUrl;
67
72
  resourceInputs["insecureSkipTlsVerify"] = pulumi.output(args?.insecureSkipTlsVerify).apply(JSON.stringify);
73
+ resourceInputs["orgApiKey"] = args?.orgApiKey ? pulumi.secret(args.orgApiKey) : undefined;
74
+ resourceInputs["orgApiKeyFile"] = args?.orgApiKeyFile;
68
75
  resourceInputs["requestTimeoutSeconds"] = pulumi.output(args?.requestTimeoutSeconds).apply(JSON.stringify);
69
76
  resourceInputs["retryBaseDelayMs"] = pulumi.output(args?.retryBaseDelayMs).apply(JSON.stringify);
70
77
  resourceInputs["retryMaxAttempts"] = pulumi.output(args?.retryMaxAttempts).apply(JSON.stringify);
@@ -72,7 +79,7 @@ export class Provider extends pulumi.ProviderResource {
72
79
  resourceInputs["tenantId"] = args?.tenantId;
73
80
  }
74
81
  opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
75
- const secretOpts = { additionalSecretOutputs: ["adminBearerToken"] };
82
+ const secretOpts = { additionalSecretOutputs: ["adminBearerToken", "orgApiKey"] };
76
83
  opts = pulumi.mergeOptions(opts, secretOpts);
77
84
  super(Provider.__pulumiType, name, resourceInputs, opts);
78
85
  }
@@ -111,6 +118,14 @@ export interface ProviderArgs {
111
118
  * Skip TLS certificate verification (development/testing only).
112
119
  */
113
120
  insecureSkipTlsVerify?: pulumi.Input<boolean | undefined>;
121
+ /**
122
+ * Organization-scoped API key used for non-interactive CI/CD control-plane operations.
123
+ */
124
+ orgApiKey?: pulumi.Input<string | undefined>;
125
+ /**
126
+ * Path to a file containing the organization-scoped API key.
127
+ */
128
+ orgApiKeyFile?: pulumi.Input<string | undefined>;
114
129
  /**
115
130
  * Per-request timeout in seconds.
116
131
  */
@@ -128,9 +143,9 @@ export interface ProviderArgs {
128
143
  */
129
144
  retryMaxDelayMs?: pulumi.Input<number | undefined>;
130
145
  /**
131
- * Tenant slug used in GovAPI route scoping.
146
+ * Tenant slug used in GovAPI route scoping. If omitted, provider reads THOTH_TENANT_ID.
132
147
  */
133
- tenantId: pulumi.Input<string>;
148
+ tenantId?: pulumi.Input<string | undefined>;
134
149
  }
135
150
 
136
151
  export namespace Provider {
package/tsconfig.json CHANGED
@@ -19,29 +19,61 @@
19
19
  "skipLibCheck": true
20
20
  },
21
21
  "files": [
22
- "access/apiKey.ts",
22
+ "access/agentApiKey.ts",
23
+ "access/endpointApiKey.ts",
24
+ "access/fleetApiKey.ts",
25
+ "access/getApiKeyAuthorization.ts",
23
26
  "access/getApiKeyMetrics.ts",
27
+ "access/getApiKeys.ts",
24
28
  "access/index.ts",
29
+ "billing/getInvoices.ts",
30
+ "billing/getMonthlyCost.ts",
31
+ "billing/getPricing.ts",
32
+ "billing/getReport.ts",
33
+ "billing/getReports.ts",
34
+ "billing/index.ts",
25
35
  "browser/enrollment.ts",
36
+ "browser/getEnrollments.ts",
37
+ "browser/getPolicies.ts",
38
+ "browser/getProviders.ts",
26
39
  "browser/index.ts",
27
40
  "browser/policy.ts",
28
41
  "browser/provider.ts",
29
42
  "config/index.ts",
30
43
  "config/vars.ts",
44
+ "fleet/fleet.ts",
45
+ "fleet/getEndpointStats.ts",
46
+ "fleet/getEndpoints.ts",
47
+ "fleet/getFleet.ts",
48
+ "fleet/getFleets.ts",
49
+ "fleet/index.ts",
31
50
  "governance/approvalDecision.ts",
32
51
  "governance/decisionFieldBackfill.ts",
33
52
  "governance/evidenceBackfill.ts",
53
+ "governance/getApprovals.ts",
54
+ "governance/getCostReport.ts",
55
+ "governance/getDay7Report.ts",
56
+ "governance/getEvidenceBundle.ts",
57
+ "governance/getEvidenceChain.ts",
34
58
  "governance/getEvidenceSlos.ts",
59
+ "governance/getEvidenceVerify.ts",
35
60
  "governance/getFeed.ts",
61
+ "governance/getPacks.ts",
62
+ "governance/getReportsOverview.ts",
63
+ "governance/getRuntimeStatus.ts",
36
64
  "governance/getTenantSettings.ts",
37
65
  "governance/getTools.ts",
66
+ "governance/governanceSettings.ts",
38
67
  "governance/index.ts",
39
68
  "governance/packAssignment.ts",
40
69
  "governance/packAssignmentBulk.ts",
70
+ "governance/pamSettings.ts",
41
71
  "governance/policySync.ts",
42
- "governance/tenantSettings.ts",
72
+ "governance/siemSettings.ts",
73
+ "governance/webhookSettings.ts",
43
74
  "governance/webhookTest.ts",
44
75
  "index.ts",
76
+ "mdm/getProviders.ts",
45
77
  "mdm/getSyncJob.ts",
46
78
  "mdm/index.ts",
47
79
  "mdm/provider.ts",