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.



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

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 = ecs_cluster
end

Instance Method Details

#nameObject



18
19
20
# File 'lib/rollo/model/service_cluster.rb', line 18

def name
  @ecs_cluster_name
end

#replica_servicesObject



22
23
24
25
26
# File 'lib/rollo/model/service_cluster.rb', line 22

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

#with_replica_services(&block) ⇒ Object



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

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