[Cloud Posture] Rule template schema - 870 (#149409)

This commit is contained in:
Jordan 2023-01-29 16:28:24 +02:00 committed by GitHub
parent d9f4039ed6
commit c47013b8af
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 33 additions and 6 deletions

View file

@ -5,7 +5,10 @@
* 2.0.
*/
import { schema as rt, TypeOf } from '@kbn/config-schema';
import { cspRuleTemplateMetadataSchema } from './csp_rule_template_metadata';
import {
cspRuleTemplateMetadataSchemaV840,
cspRuleTemplateMetadataSchemaV870,
} from './csp_rule_template_metadata';
export const cspRuleTemplateSchemaV830 = rt.object({
audit: rt.string(),
@ -29,12 +32,12 @@ export const cspRuleTemplateSchemaV830 = rt.object({
export const cspRuleTemplateSchemaV840 = rt.object({
enabled: rt.boolean(),
metadata: cspRuleTemplateMetadataSchema,
metadata: cspRuleTemplateMetadataSchemaV840,
muted: rt.boolean(),
});
export const cspRuleTemplateSchemaV870 = rt.object({
metadata: cspRuleTemplateMetadataSchema,
metadata: cspRuleTemplateMetadataSchemaV870,
});
export type CspRuleTemplateV830 = TypeOf<typeof cspRuleTemplateSchemaV830>;

View file

@ -6,7 +6,29 @@
*/
import { schema as rt, TypeOf } from '@kbn/config-schema';
export const cspRuleTemplateMetadataSchema = rt.object({
export const cspRuleTemplateMetadataSchemaV840 = rt.object({
audit: rt.string(),
benchmark: rt.object({
name: rt.string(),
id: rt.string(),
version: rt.string(),
}),
default_value: rt.maybe(rt.string()),
description: rt.string(),
id: rt.string(),
impact: rt.maybe(rt.string()),
name: rt.string(),
profile_applicability: rt.string(),
rationale: rt.string(),
references: rt.maybe(rt.string()),
rego_rule_id: rt.string(),
remediation: rt.string(),
section: rt.string(),
tags: rt.arrayOf(rt.string()),
version: rt.string(),
});
export const cspRuleTemplateMetadataSchemaV870 = rt.object({
audit: rt.string(),
benchmark: rt.object({
name: rt.string(),
@ -29,4 +51,6 @@ export const cspRuleTemplateMetadataSchema = rt.object({
version: rt.string(),
});
export type CspRuleTemplateMetadata = TypeOf<typeof cspRuleTemplateMetadataSchema>;
export type CspRuleMetadataV840 = TypeOf<typeof cspRuleTemplateMetadataSchemaV840>;
export type CspRuleMetadataV870 = TypeOf<typeof cspRuleTemplateMetadataSchemaV870>;
export type CspRuleTemplateMetadata = CspRuleMetadataV870;

View file

@ -28,7 +28,7 @@ function migrateCspRuleTemplatesToV840(
muted,
metadata: {
...metadata,
benchmark: { ...benchmark, id: 'cis_k8s', rule_number: '' },
benchmark: { ...benchmark, id: 'cis_k8s' },
impact: metadata.impact || undefined,
default_value: metadata.default_value || undefined,
references: metadata.references || undefined,