in sources/src/main/java/com/google/solutions/jitaccess/web/rest/EnvironmentsResource.java [299:341]
public record ComplianceIssueInfo(
@NotNull String environment,
@NotNull String system,
@NotNull String group,
@Nullable String cloudIdentityGroupId,
@NotNull String details
) {
static ComplianceIssueInfo create(JitGroupCompliance compliance) {
if (compliance.isOrphaned()) {
return new ComplianceIssueInfo(
compliance.groupId().environment(),
compliance.groupId().system(),
compliance.groupId().name(),
compliance.cloudIdentityGroupId()
.map(g -> g.email)
.orElse(null),
"The group is orphaned. A group exists in Cloud Identity, but it is not covered by a policy.");
}
else if (!compliance.isCompliant()) {
return new ComplianceIssueInfo(
compliance.groupId().environment(),
compliance.groupId().system(),
compliance.groupId().name(),
compliance.cloudIdentityGroupId()
.map(g -> g.email)
.orElse(null),
compliance.exception()
.map(e -> Exceptions.fullMessage(e, false))
.orElse("Unspecified error"));
}
else {
return new ComplianceIssueInfo(
compliance.groupId().environment(),
compliance.groupId().system(),
compliance.groupId().name(),
compliance.cloudIdentityGroupId()
.map(g -> g.email)
.orElse(null),
"OK");
}
}
}