Class: Krane::MutatingWebhookConfiguration::Webhook::Rule

Inherits:
Object
  • Object
show all
Defined in:
lib/krane/kubernetes_resource/mutating_webhook_configuration.rb

Instance Method Summary collapse

Constructor Details

#initialize(definition) ⇒ Rule

Returns a new instance of Rule.



12
13
14
# File 'lib/krane/kubernetes_resource/mutating_webhook_configuration.rb', line 12

def initialize(definition)
  @definition = definition
end

Instance Method Details

#groupsObject



29
30
31
# File 'lib/krane/kubernetes_resource/mutating_webhook_configuration.rb', line 29

def groups
  @definition.dig('apiGroups')
end

#matches_resource?(resource, accept_equivalent:) ⇒ Boolean

Returns:

  • (Boolean)


16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/krane/kubernetes_resource/mutating_webhook_configuration.rb', line 16

def matches_resource?(resource, accept_equivalent:)
  groups.each do |group|
    versions.each do |version|
      resources.each do |kind|
        return true if (resource.group == group || group == '*' || accept_equivalent) &&
          (resource.version == version || version == '*' || accept_equivalent) &&
          (resource.type.downcase == kind.downcase.singularize || kind == "*")
      end
    end
  end
  false
end

#resourcesObject



37
38
39
# File 'lib/krane/kubernetes_resource/mutating_webhook_configuration.rb', line 37

def resources
  @definition.dig('resources')
end

#versionsObject



33
34
35
# File 'lib/krane/kubernetes_resource/mutating_webhook_configuration.rb', line 33

def versions
  @definition.dig('apiVersions')
end