Class: Rollo::Model::ServiceCluster

Inherits:
Object
  • Object
show all
Defined in:
lib/rollo/model/service_cluster.rb

Instance Method Summary collapse

Constructor Details

#initialize(ecs_cluster_name, region, ecs_resource = nil) ⇒ ServiceCluster

Returns a new instance of ServiceCluster.



9
10
11
12
13
14
# File 'lib/rollo/model/service_cluster.rb', line 9

def initialize(ecs_cluster_name, region, ecs_resource = nil)
  @region = region
  @ecs_cluster_name = ecs_cluster_name
  @ecs_resource = ecs_resource || Aws::ECS::Resource.new(region: region)
  @ecs_cluster = get_ecs_cluster
end

Instance Method Details

#nameObject



16
17
18
# File 'lib/rollo/model/service_cluster.rb', line 16

def name
  @ecs_cluster_name
end

#replica_servicesObject



20
21
22
23
24
# File 'lib/rollo/model/service_cluster.rb', line 20

def replica_services
  get_ecs_service_arns
      .collect {|arn| Service.new(@ecs_cluster_name, arn, @region)}
      .select(&:is_replica?)
end

#with_replica_services(&block) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
# File 'lib/rollo/model/service_cluster.rb', line 26

def with_replica_services(&block)
  all_replica_services = replica_services

  callbacks = Hollerback::Callbacks.new(block)
  callbacks.try_respond_with(
      :start, all_replica_services)

  all_replica_services.each do |service|
    callbacks.try_respond_with(:each_service, service)
  end
end