Class: Kubecontrol::Resources::StatefulSet

Inherits:
Object
  • Object
show all
Defined in:
lib/kubecontrol/resources/stateful_set.rb

Constant Summary collapse

RESOURCE_NAME =
'statefulsets'.freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, ready, age, namespace, client) ⇒ StatefulSet

Returns a new instance of StatefulSet.



8
9
10
11
12
13
14
# File 'lib/kubecontrol/resources/stateful_set.rb', line 8

def initialize(name, ready, age, namespace, client)
  @name = name
  @ready = ready
  @age = age
  @namespace = namespace
  @client = client
end

Instance Attribute Details

#ageObject (readonly)

Returns the value of attribute age.



6
7
8
# File 'lib/kubecontrol/resources/stateful_set.rb', line 6

def age
  @age
end

#clientObject (readonly)

Returns the value of attribute client.



6
7
8
# File 'lib/kubecontrol/resources/stateful_set.rb', line 6

def client
  @client
end

#nameObject (readonly)

Returns the value of attribute name.



6
7
8
# File 'lib/kubecontrol/resources/stateful_set.rb', line 6

def name
  @name
end

#namespaceObject (readonly)

Returns the value of attribute namespace.



6
7
8
# File 'lib/kubecontrol/resources/stateful_set.rb', line 6

def namespace
  @namespace
end

#readyObject (readonly)

Returns the value of attribute ready.



6
7
8
# File 'lib/kubecontrol/resources/stateful_set.rb', line 6

def ready
  @ready
end

Instance Method Details

#all_ready?Boolean

Returns:

  • (Boolean)


20
21
22
23
# File 'lib/kubecontrol/resources/stateful_set.rb', line 20

def all_ready?
  max_pods = @ready.split('/').last
  @ready == "#{max_pods}/#{max_pods}"
end

#ready?Boolean

Returns:

  • (Boolean)


16
17
18
# File 'lib/kubecontrol/resources/stateful_set.rb', line 16

def ready?
  @ready.split('/').first != '0'
end

#scale(count) ⇒ Object



25
26
27
# File 'lib/kubecontrol/resources/stateful_set.rb', line 25

def scale(count)
  @client.kubectl_command("scale statefulset #{@name} --replicas=#{count}")
end