Class: Cloudpatrol::Task::OpsWorks

Inherits:
Object
  • Object
show all
Defined in:
lib/cloudpatrol/task/ops_works.rb

Instance Method Summary collapse

Constructor Details

#initialize(cred) ⇒ OpsWorks

Returns a new instance of OpsWorks.



6
7
8
# File 'lib/cloudpatrol/task/ops_works.rb', line 6

def initialize cred
  @gate = ::AWS::OpsWorks::Client.new(cred)
end

Instance Method Details

#clean_apps(allowed_age) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/cloudpatrol/task/ops_works.rb', line 10

def clean_apps allowed_age
  deleted = []
  @gate.describe_stacks[:stacks].each do |stack|
    @gate.describe_apps(stack_id: stack[:stack_id])[:apps].each do |app|
      if (Time.now - Time.parse(app[:created_at])).to_i > allowed_age.days
        deleted << app
        @gate.delete_app app_id: app[:app_id]
      end
    end
  end
  deleted
end

#clean_instances(allowed_age) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/cloudpatrol/task/ops_works.rb', line 23

def clean_instances allowed_age
  deleted = []
  @gate.describe_stacks[:stacks].each do |stack|
    @gate.describe_instances(stack_id: stack[:stack_id])[:instances].each do |instance|
      if (Time.now - Time.parse(instance[:created_at])).to_i > allowed_age.days
        deleted << instance
        @gate.delete_instance instance_id: instance[:instance_id]
      end
    end
  end
  deleted
end

#clean_layers(allowed_age) ⇒ Object



36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/cloudpatrol/task/ops_works.rb', line 36

def clean_layers allowed_age
  deleted = []
  @gate.describe_stacks[:stacks].each do |stack|
    @gate.describe_layers(stack_id: stack[:stack_id])[:layers].each do |layer|
      if (Time.now - Time.parse(layer[:created_at])).to_i > allowed_age.days
        deleted << layer
        @gate.delete_layer layer_id: layer[:layer_id]
      end
    end
  end
  deleted
end

#clean_stacks(allowed_age) ⇒ Object



49
50
51
52
53
54
55
56
57
58
# File 'lib/cloudpatrol/task/ops_works.rb', line 49

def clean_stacks allowed_age
  deleted = []
  @gate.describe_stacks[:stacks].each do |stack|
    if (Time.now - Time.parse(stack[:created_at])).to_i > allowed_age.days
      deleted << stack
      @gate.delete_stack stack_id: stack[:stack_id]
    end
  end
  deleted
end