mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-15 04:14:38 +00:00
34 lines
1.1 KiB
TypeScript
34 lines
1.1 KiB
TypeScript
import { z } from "zod";
|
|
|
|
import { BaseSecretSyncSchema } from "@app/components/secret-syncs/forms/schemas/base-secret-sync-schema";
|
|
import { SecretSync } from "@app/hooks/api/secretSyncs";
|
|
|
|
export const OCIVaultSyncDestinationSchema = BaseSecretSyncSchema().merge(
|
|
z.object({
|
|
destination: z.literal(SecretSync.OCIVault),
|
|
destinationConfig: z.object({
|
|
compartmentOcid: z
|
|
.string()
|
|
.trim()
|
|
.min(1, "Compartment OCID required")
|
|
.regex(
|
|
/^ocid1\.(tenancy|compartment)\.oc1\..+$/,
|
|
"Invalid Compartment OCID format. Must start with ocid1.tenancy.oc1. or ocid1.compartment.oc1."
|
|
),
|
|
vaultOcid: z
|
|
.string()
|
|
.trim()
|
|
.min(1, "Vault OCID required")
|
|
.regex(
|
|
/^ocid1\.vault\.oc1\..+$/,
|
|
"Invalid Vault OCID format. Must start with ocid1.vault.oc1."
|
|
),
|
|
keyOcid: z
|
|
.string()
|
|
.trim()
|
|
.min(1, "Key OCID required")
|
|
.regex(/^ocid1\.key\.oc1\..+$/, "Invalid Key OCID format. Must start with ocid1.key.oc1.")
|
|
})
|
|
})
|
|
);
|