class Rollo::Model::ServiceCluster
Public Class Methods
new(ecs_cluster_name, region, ecs_resource = nil)
click to toggle source
# 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
Public Instance Methods
name()
click to toggle source
# File lib/rollo/model/service_cluster.rb, line 16 def name @ecs_cluster_name end
replica_services()
click to toggle source
# 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)
click to toggle source
# 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
Private Instance Methods
get_ecs_cluster()
click to toggle source
# File lib/rollo/model/service_cluster.rb, line 40 def get_ecs_cluster @ecs_resource.client .describe_clusters(clusters: [@ecs_cluster_name]) .clusters[0] end
get_ecs_service_arns()
click to toggle source
# File lib/rollo/model/service_cluster.rb, line 46 def get_ecs_service_arns @ecs_resource.client .list_services(cluster: @ecs_cluster.cluster_name) .inject([]) {|arns, response| arns + response.service_arns} end