package com.dalab.autocompliance.dto; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import lombok.AllArgsConstructor; import java.util.List; import java.util.Map; /** * DTO representing a single, executable compliance control or check. */ @Data @Builder @NoArgsConstructor @AllArgsConstructor public class ComplianceControlDTO { private String controlId; // Unique identifier for the control (e.g., "CIS-GCP-1.1", "PCI-REQ-3.4") private String name; // Short, human-readable name of the control private String description; // Detailed description of what the control checks private String severity; // e.g., CRITICAL, HIGH, MEDIUM, LOW, INFORMATIONAL private List applicableFrameworks; // e.g., ["CIS Benchmark v1.3", "PCI DSS v3.2.1"] private List targetAssetTypes; // Asset types this control applies to (e.g., "GCP_BUCKET", "AWS_IAM_USER") private String remediationSteps; // Suggested steps to remediate a non-compliant finding private Map evaluationParametersDefinition; // Parameters needed to evaluate this control (name: type) private String detailsLink; // Link to external documentation for this control private boolean enabled; // Whether this control is currently active for evaluation }