class Capistrano::Gcp::Autoscaling::Core::InstanceGroup

Attributes

compute_service[R]
options[R]

Public Class Methods

new(compute_service, options = {}) click to toggle source
# File lib/capistrano/gcp/autoscaling/core/instance_group.rb, line 8
def initialize(compute_service, options = {})
  @compute_service = compute_service
  @options = options
end

Public Instance Methods

instances() click to toggle source
# File lib/capistrano/gcp/autoscaling/core/instance_group.rb, line 13
def instances
  group.items.map(&method(:instance_for))
end

Private Instance Methods

group() click to toggle source
# File lib/capistrano/gcp/autoscaling/core/instance_group.rb, line 29
def group
  compute_service.list_instance_group_instances(
    options.fetch(:gcp_project_id), options.fetch(:gcp_zone), options.fetch(:group_name)
  )
end
instance_for(managed_instance) click to toggle source
# File lib/capistrano/gcp/autoscaling/core/instance_group.rb, line 21
def instance_for(managed_instance)
  Capistrano::Gcp::Autoscaling::Core::Instance.new(
    compute_service,
    managed_instance,
    gcp_project_id: options.fetch(:gcp_project_id)
  )
end