Initial
This commit is contained in:
@@ -63,6 +63,27 @@ export const hostSchema = z.object({
|
||||
groupId: z.string().nullable().optional()
|
||||
});
|
||||
|
||||
const vcenterFilterSchema = z.object({
|
||||
field: z.enum(['name', 'hostname', 'fqdn', 'ip']).optional().default('hostname'),
|
||||
operator: z.enum(['contains', 'equals', 'startsWith', 'endsWith']).optional().default('contains'),
|
||||
value: z.string().max(200).optional().default('')
|
||||
});
|
||||
|
||||
export const vcenterPreviewSchema = z.object({
|
||||
filter: vcenterFilterSchema.optional().default({}),
|
||||
limit: z.coerce.number().int().min(1).max(500).optional().default(100)
|
||||
});
|
||||
|
||||
export const vcenterImportSchema = vcenterPreviewSchema.extend({
|
||||
vmIds: z.array(z.string().min(1)).optional().default([]),
|
||||
credentialId: z.string().nullable().optional(),
|
||||
visibility: visibilitySchema.default('shared'),
|
||||
groupId: z.string().nullable().optional(),
|
||||
transport: z.enum(['winrm', 'ssh', 'local', 'api']).default('winrm'),
|
||||
port: z.coerce.number().int().min(1).max(65535).nullable().optional(),
|
||||
tags: z.array(z.string().max(80)).optional().default([])
|
||||
});
|
||||
|
||||
export const folderSchema = z.object({
|
||||
parentId: z.string().nullable().optional(),
|
||||
name: z.string().min(1),
|
||||
|
||||
Reference in New Issue
Block a user