Class: Metatron::Templates::LimitRange

Inherits:
Metatron::Template show all
Includes:
Concerns::Annotated, Concerns::Namespaced
Defined in:
lib/metatron/templates/limit_range.rb

Overview

The LimitRange Kubernetes resource

Defined Under Namespace

Classes: Limit

Instance Attribute Summary collapse

Attributes inherited from Metatron::Template

#additional_labels, #api_version, #base_labels, #kind, #name

Instance Method Summary collapse

Methods included from Concerns::Namespaced

#formatted_namespace, included, #namespaced_initialize

Methods included from Concerns::Annotated

#annotated_initialize, #formatted_annotations, included

Methods inherited from Metatron::Template

initializer, initializers, metatron_template_class?, nearest_metatron_ancestor

Constructor Details

#initialize(name, limits = []) ⇒ LimitRange

Returns a new instance of LimitRange.



50
51
52
53
# File 'lib/metatron/templates/limit_range.rb', line 50

def initialize(name, limits = [])
  super(name)
  @limits = limits
end

Instance Attribute Details

#limitsObject

Returns the value of attribute limits.



48
49
50
# File 'lib/metatron/templates/limit_range.rb', line 48

def limits
  @limits
end

Instance Method Details

#renderObject



55
56
57
58
59
60
61
62
63
64
65
# File 'lib/metatron/templates/limit_range.rb', line 55

def render
  {
    apiVersion:,
    kind:,
    metadata: {
      name:,
      labels: base_labels.merge(additional_labels)
    }.merge(formatted_annotations).merge(formatted_namespace),
    spec: formatted_limits
  }.compact
end