diff --git a/src/main/java/de/ozgcloud/operator/keycloak/user/OzgKeycloakUserSpec.java b/src/main/java/de/ozgcloud/operator/keycloak/user/OzgKeycloakUserSpec.java index f90318d20c1fdca097589e39f0fa770ad8547384..bb1863fd2027cabe1ee8301a2eca1ac180c6f652 100644 --- a/src/main/java/de/ozgcloud/operator/keycloak/user/OzgKeycloakUserSpec.java +++ b/src/main/java/de/ozgcloud/operator/keycloak/user/OzgKeycloakUserSpec.java @@ -24,7 +24,9 @@ package de.ozgcloud.operator.keycloak.user; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; @@ -81,6 +83,10 @@ class OzgKeycloakUserSpec { @Builder.Default private List<KeycloakUserSpecClientRole> clientRoles = new ArrayList<>(); + @JsonProperty("realm_roles") + @Builder.Default + private List<KeycloakUserSpecRealmRole> realmRoles = new ArrayList<>(); + @JsonSetter(nulls = Nulls.AS_EMPTY) public void setGroups(List<KeycloakUserSpecUserGroup> groups) { this.groups = groups; @@ -116,4 +122,19 @@ class OzgKeycloakUserSpec { @JsonProperty("role") private String roleName; } + + @Setter + @NoArgsConstructor + @AllArgsConstructor + static class KeycloakUserSpecRealmRole { + + @JsonProperty("name") + private String name; + + @JsonProperty("description") + private String description; + + @JsonProperty("attributes") + private Map<String, List<String>> attributes = new HashMap<>(); + } }