class Object

Public Instance Methods

compute_service() click to toggle source
# File lib/capistrano/gcp/autoscaling.rb, line 12
def compute_service
  @compute_service ||= Capistrano::Gcp::Autoscaling::Core::ComputeService.new(
    gcp_project_id: fetch(:gcp_project_id),
    gcp_private_key: fetch(:gcp_private_key),
    gcp_client_email: fetch(:gcp_client_email),
    gcp_scope: fetch(:gcp_scope)
  ).instance
end
instance_group(group_name, properties = {}) { |instance, index| ... } click to toggle source
# File lib/capistrano/gcp/autoscaling.rb, line 34
def instance_group(group_name, properties = {})
  instance_group = Capistrano::Gcp::Autoscaling::Core::InstanceGroup.new(
    compute_service,
    gcp_project_id: fetch(:gcp_project_id),
    gcp_zone: fetch(:gcp_zone),
    group_name: group_name
  )

  instance_group.instances.each_with_index do |instance, index|
    server instance.network_ip, block_given? ? yield(instance, index) : properties
  end
end
instance_group_manager(group_manager_name, properties = {}) { |instance, index| ... } click to toggle source
# File lib/capistrano/gcp/autoscaling.rb, line 21
def instance_group_manager(group_manager_name, properties = {})
  instance_group_manager = Capistrano::Gcp::Autoscaling::Core::InstanceGroupManager.new(
    compute_service,
    gcp_project_id: fetch(:gcp_project_id),
    gcp_region: fetch(:gcp_region),
    group_manager_name: group_manager_name
  )

  instance_group_manager.instances.each_with_index do |instance, index|
    server instance.network_ip, block_given? ? yield(instance, index) : properties
  end
end