Variable SecurityAppSchemaConst
SecurityAppSchema: ZodObject<
{
config: ZodOptional<
ZodObject<
{
authentication_portals: ZodOptional<
ZodArray<
ZodObject<
{
cookie_config: ZodOptional<
ZodObject<(...), (...), (...), (...), (...)>,
>;
identity_providers: ZodOptional<ZodArray<(...), (...)>>;
identity_stores: ZodOptional<ZodArray<(...), (...)>>;
name: ZodString;
ui: ZodOptional<ZodObject<(...), (...), (...), (...), (...)>>;
user_transformer_configs: ZodOptional<ZodArray<(...), (...)>>;
},
"strip",
ZodTypeAny,
{
cookie_config?: {
domains?: ...;
insecure?: ...;
lifetime?: ...;
path?: ...;
same_site?: ...;
};
identity_providers?: (...)[];
identity_stores?: (...)[];
name: string;
ui?: { custom_css?: ...; logo_url?: ...; theme?: ... };
user_transformer_configs?: (...)[];
},
{
cookie_config?: {
domains?: ...;
insecure?: ...;
lifetime?: ...;
path?: ...;
same_site?: ...;
};
identity_providers?: (...)[];
identity_stores?: (...)[];
name: string;
ui?: { custom_css?: ...; logo_url?: ...; theme?: ... };
user_transformer_configs?: (...)[];
},
>,
"many",
>,
>;
authorization_policies: ZodOptional<
ZodArray<
ZodObject<
{
access_list_rules: ZodOptional<ZodArray<(...), (...)>>;
bypass_configs: ZodOptional<ZodArray<(...), (...)>>;
crypto_key_configs: ZodOptional<ZodArray<(...), (...)>>;
name: ZodString;
},
"strip",
ZodTypeAny,
{
access_list_rules?: (...)[];
bypass_configs?: (...)[];
crypto_key_configs?: (...)[];
name: string;
},
{
access_list_rules?: (...)[];
bypass_configs?: (...)[];
crypto_key_configs?: (...)[];
name: string;
},
>,
"many",
>,
>;
credentials: ZodOptional<
ZodObject<
{ generic: ZodOptional<ZodRecord<ZodString, ZodUnknown>> },
"strip",
ZodTypeAny,
{ generic?: Record<string, unknown> },
{ generic?: Record<string, unknown> },
>,
>;
identity_providers: ZodOptional<
ZodArray<
ZodObject<
{
kind: ZodLiteral<"oauth">;
name: ZodString;
params: ZodUnion<[(...), (...)]>;
},
"strip",
ZodTypeAny,
{
kind: "oauth";
name: string;
params: | objectOutputType<(...), (...), (...)>
| objectOutputType<(...), (...), (...)>;
},
{
kind: "oauth";
name: string;
params: | objectInputType<(...), (...), (...)>
| objectInputType<(...), (...), (...)>;
},
>,
"many",
>,
>;
identity_stores: ZodOptional<
ZodArray<
ZodDiscriminatedUnion<
"kind",
[
ZodObject<
{ kind: ...; name: ...; params: ... },
"strip",
ZodTypeAny,
{ kind: ...; name: ...; params: ... },
{ kind: ...; name: ...; params: ... },
>,
ZodObject<
{ kind: ...; name: ...; params: ... },
"strip",
ZodTypeAny,
{ kind: ...; name: ...; params: ... },
{ kind: ...; name: ...; params: ... },
>,
],
>,
"many",
>,
>;
},
"strip",
ZodTypeAny,
{
authentication_portals?: {
cookie_config?: {
domains?: (...)
| (...);
insecure?: (...) | (...) | (...);
lifetime?: (...) | (...);
path?: (...) | (...);
same_site?: (...) | (...);
};
identity_providers?: string[];
identity_stores?: string[];
name: string;
ui?: {
custom_css?: (...)
| (...);
logo_url?: (...) | (...);
theme?: (...) | (...);
};
user_transformer_configs?: Record<(...), (...)>[];
}[];
authorization_policies?: {
access_list_rules?: {
action?: ...;
comment?: ...;
conditions?: ...;
}[];
bypass_configs?: { match_type: ...; uri?: ... }[];
crypto_key_configs?: { source?: ...; token_name?: ... }[];
name: string;
}[];
credentials?: { generic?: Record<string, unknown> };
identity_providers?: {
kind: "oauth";
name: string;
params:
| objectOutputType<
{
authorization_url: ...;
client_id: ...;
client_secret: ...;
driver: ...;
realm: ...;
scopes: ...;
token_url: ...;
},
ZodTypeAny,
"passthrough",
>
| objectOutputType<
{
client_id: ...;
client_secret: ...;
driver: ...;
metadata_url: ...;
realm: ...;
scopes: ...;
},
ZodTypeAny,
"passthrough",
>;
}[];
identity_stores?: (
| {
kind: "local";
name: string;
params: { path: string; realm?: (...)
| (...) };
}
| {
kind: "ldap";
name: string;
params: {
bind_password?: ...;
bind_username?: ...;
groups?: ...;
realm?: ...;
search_base_dn?: ...;
search_user_filter?: ...;
servers?: ...;
} & { [k: ...]: ... };
}
)[];
},
{
authentication_portals?: {
cookie_config?: {
domains?: (...)
| (...);
insecure?: (...) | (...) | (...);
lifetime?: (...) | (...);
path?: (...) | (...);
same_site?: (...) | (...);
};
identity_providers?: string[];
identity_stores?: string[];
name: string;
ui?: {
custom_css?: (...)
| (...);
logo_url?: (...) | (...);
theme?: (...) | (...);
};
user_transformer_configs?: Record<(...), (...)>[];
}[];
authorization_policies?: {
access_list_rules?: {
action?: ...;
comment?: ...;
conditions?: ...;
}[];
bypass_configs?: { match_type: ...; uri?: ... }[];
crypto_key_configs?: { source?: ...; token_name?: ... }[];
name: string;
}[];
credentials?: { generic?: Record<string, unknown> };
identity_providers?: {
kind: "oauth";
name: string;
params:
| objectInputType<
{
authorization_url: ...;
client_id: ...;
client_secret: ...;
driver: ...;
realm: ...;
scopes: ...;
token_url: ...;
},
ZodTypeAny,
"passthrough",
>
| objectInputType<
{
client_id: ...;
client_secret: ...;
driver: ...;
metadata_url: ...;
realm: ...;
scopes: ...;
},
ZodTypeAny,
"passthrough",
>;
}[];
identity_stores?: (
| {
kind: "local";
name: string;
params: { path: string; realm?: (...)
| (...) };
}
| {
kind: "ldap";
name: string;
params: {
bind_password?: ...;
bind_username?: ...;
groups?: ...;
realm?: ...;
search_base_dn?: ...;
search_user_filter?: ...;
servers?: ...;
} & { [k: ...]: ... };
}
)[];
},
>,
>;
secrets_managers: ZodOptional<
ZodArray<
ZodObject<
{ driver: ZodString },
"passthrough",
ZodTypeAny,
objectOutputType<{ driver: ZodString }, ZodTypeAny, "passthrough">,
objectInputType<{ driver: ZodString }, ZodTypeAny, "passthrough">,
>,
"many",
>,
>;
},
"strip",
ZodTypeAny,
{
config?: {
authentication_portals?: {
cookie_config?: {
domains?: Record<(...), (...)>;
insecure?: boolean;
lifetime?: number;
path?: string;
same_site?: string;
};
identity_providers?: string[];
identity_stores?: string[];
name: string;
ui?: { custom_css?: string; logo_url?: string; theme?: string };
user_transformer_configs?: Record<string, unknown>[];
}[];
authorization_policies?: {
access_list_rules?: {
action?: (...)
| (...)
| (...);
comment?: (...) | (...);
conditions?: (...) | (...);
}[];
bypass_configs?: { match_type: string; uri?: (...)
| (...) }[];
crypto_key_configs?: {
source?: (...) | (...);
token_name?: (...) | (...);
}[];
name: string;
}[];
credentials?: { generic?: Record<string, unknown> };
identity_providers?: {
kind: "oauth";
name: string;
params:
| objectOutputType<
{
authorization_url: ZodOptional<(...)>;
client_id: ZodOptional<(...)>;
client_secret: ZodOptional<(...)>;
driver: ZodOptional<(...)>;
realm: ZodOptional<(...)>;
scopes: ZodOptional<(...)>;
token_url: ZodOptional<(...)>;
},
ZodTypeAny,
"passthrough",
>
| objectOutputType<
{
client_id: ZodOptional<(...)>;
client_secret: ZodOptional<(...)>;
driver: ZodOptional<(...)>;
metadata_url: ZodOptional<(...)>;
realm: ZodOptional<(...)>;
scopes: ZodOptional<(...)>;
},
ZodTypeAny,
"passthrough",
>;
}[];
identity_stores?: (
| {
kind: "local";
name: string;
params: { path: string; realm?: string };
}
| {
kind: "ldap";
name: string;
params: {
bind_password?: (...)
| (...);
bind_username?: (...) | (...);
groups?: (...) | (...);
realm?: (...) | (...);
search_base_dn?: (...) | (...);
search_user_filter?: (...) | (...);
servers?: (...) | (...);
} & { [k: string]: unknown };
}
)[];
};
secrets_managers?: objectOutputType<
{ driver: ZodString },
ZodTypeAny,
"passthrough",
>[];
},
{
config?: {
authentication_portals?: {
cookie_config?: {
domains?: Record<(...), (...)>;
insecure?: boolean;
lifetime?: number;
path?: string;
same_site?: string;
};
identity_providers?: string[];
identity_stores?: string[];
name: string;
ui?: { custom_css?: string; logo_url?: string; theme?: string };
user_transformer_configs?: Record<string, unknown>[];
}[];
authorization_policies?: {
access_list_rules?: {
action?: (...)
| (...)
| (...);
comment?: (...) | (...);
conditions?: (...) | (...);
}[];
bypass_configs?: { match_type: string; uri?: (...)
| (...) }[];
crypto_key_configs?: {
source?: (...) | (...);
token_name?: (...) | (...);
}[];
name: string;
}[];
credentials?: { generic?: Record<string, unknown> };
identity_providers?: {
kind: "oauth";
name: string;
params:
| objectInputType<
{
authorization_url: ZodOptional<(...)>;
client_id: ZodOptional<(...)>;
client_secret: ZodOptional<(...)>;
driver: ZodOptional<(...)>;
realm: ZodOptional<(...)>;
scopes: ZodOptional<(...)>;
token_url: ZodOptional<(...)>;
},
ZodTypeAny,
"passthrough",
>
| objectInputType<
{
client_id: ZodOptional<(...)>;
client_secret: ZodOptional<(...)>;
driver: ZodOptional<(...)>;
metadata_url: ZodOptional<(...)>;
realm: ZodOptional<(...)>;
scopes: ZodOptional<(...)>;
},
ZodTypeAny,
"passthrough",
>;
}[];
identity_stores?: (
| {
kind: "local";
name: string;
params: { path: string; realm?: string };
}
| {
kind: "ldap";
name: string;
params: {
bind_password?: (...)
| (...);
bind_username?: (...) | (...);
groups?: (...) | (...);
realm?: (...) | (...);
search_base_dn?: (...) | (...);
search_user_filter?: (...) | (...);
servers?: (...) | (...);
} & { [k: string]: unknown };
}
)[];
};
secrets_managers?: objectInputType<
{ driver: ZodString },
ZodTypeAny,
"passthrough",
>[];
},
> = ...
Security app schema
Validates the full security app at
/config/apps/security