# frozen_string_literal: true module Clusters class InstancePolicy < BasePolicy include ClusterableActions condition(:has_clusters, scope: :subject) { clusterable_has_clusters? } condition(:can_have_multiple_clusters) { multiple_clusters_available? } rule { admin }.policy do enable :read_cluster enable :add_cluster enable :create_cluster enable :update_cluster enable :admin_cluster end rule { ~can_have_multiple_clusters & has_clusters }.prevent :add_cluster end end