override fun validate()

in src/main/kotlin/org/opensearch/replication/action/autofollow/UpdateAutoFollowPatternRequest.kt [97:121]


    override fun validate(): ActionRequestValidationException? {

        var validationException = ActionRequestValidationException()
        if(!this::connection.isInitialized ||
                !this::patternName.isInitialized) {
            validationException.addValidationError("Missing connection or name in the request")
        }

        validateName(patternName, validationException)
        if(useRoles != null && (useRoles!!.size < 2 || useRoles!![ReplicateIndexRequest.LEADER_CLUSTER_ROLE] == null ||
                        useRoles!![ReplicateIndexRequest.FOLLOWER_CLUSTER_ROLE] == null)) {
            validationException.addValidationError("Need roles for ${ReplicateIndexRequest.LEADER_CLUSTER_ROLE} and " +
                    "${ReplicateIndexRequest.FOLLOWER_CLUSTER_ROLE}")
        }

        if(action == Action.REMOVE) {
            if(pattern != null) {
                validationException.addValidationError("Unexpected pattern")
            }
        } else if(pattern == null) {
            validationException.addValidationError("Missing pattern")
        }

        return if(validationException.validationErrors().isEmpty()) return null else validationException
    }