Files
winos-config/src/dsc-schema-types/configuration-test-result.gen.ts
EthanShoeDev c47b62d617 signs of life
2025-12-19 04:25:04 -05:00

85 lines
2.7 KiB
TypeScript

// This file is auto-generated. Do not edit manually.
import * as S from 'effect/Schema';
export const Operation = S.Literal('get', 'set', 'test', 'export');
export type Operation = S.Schema.Type<typeof Operation>;
export const ExecutionKind = S.Literal('actual', 'whatIf');
export type ExecutionKind = S.Schema.Type<typeof ExecutionKind>;
export const SecurityContextKind = S.Literal(
'current',
'elevated',
'restricted',
);
export type SecurityContextKind = S.Schema.Type<typeof SecurityContextKind>;
export const MicrosoftDscMetadata = S.Struct({
version: S.optional(S.NullOr(S.String)),
operation: S.optional(S.NullOr(Operation)),
executionType: S.optional(S.NullOr(ExecutionKind)),
startDatetime: S.optional(S.NullOr(S.String)),
endDatetime: S.optional(S.NullOr(S.String)),
duration: S.optional(S.NullOr(S.String)),
securityContext: S.optional(S.NullOr(SecurityContextKind)),
});
export type MicrosoftDscMetadata = S.Schema.Type<typeof MicrosoftDscMetadata>;
export const Metadata = S.Struct({
'Microsoft.DSC': S.optional(S.NullOr(MicrosoftDscMetadata)),
});
export type Metadata = S.Schema.Type<typeof Metadata>;
export const ResourceTestResponse = S.Struct({
desiredState: S.Unknown,
actualState: S.Unknown,
inDesiredState: S.Boolean,
differingProperties: S.Array(S.String),
});
export type ResourceTestResponse = S.Schema.Type<typeof ResourceTestResponse>;
export const MessageLevel = S.Literal('error', 'warning', 'information');
export type MessageLevel = S.Schema.Type<typeof MessageLevel>;
export const ResourceMessage = S.Struct({
name: S.String,
type: S.String,
message: S.String,
level: MessageLevel,
});
export type ResourceMessage = S.Schema.Type<typeof ResourceMessage>;
export const ConfigurationTestResult = S.Struct({
metadata: S.optional(S.NullOr(Metadata)),
results: S.Array(
S.suspend((): S.Schema<ResourceTestResult> => ResourceTestResult),
),
messages: S.Array(ResourceMessage),
hadErrors: S.Boolean,
});
export type ConfigurationTestResult = S.Schema.Type<
typeof ConfigurationTestResult
>;
// Recursive type declarations
interface ResourceTestResult {
readonly metadata?: Metadata | null;
readonly name: string;
readonly type: string;
readonly result: TestResult;
}
type TestResult = ResourceTestResponse | ReadonlyArray<ResourceTestResult>;
// Recursive schema definitions
export const ResourceTestResult = S.Struct({
metadata: S.optional(S.NullOr(Metadata)),
name: S.String,
type: S.String,
result: S.suspend((): S.Schema<TestResult> => TestResult),
}) as unknown as S.Schema<ResourceTestResult>;
export const TestResult = S.Union(
ResourceTestResponse,
S.Array(S.suspend((): S.Schema<ResourceTestResult> => ResourceTestResult)),
) as unknown as S.Schema<TestResult>;