public record ComplianceIssueInfo()

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");
      }
    }
  }