find_or_create_multi_region_instance

in spanner/spec/database_leader_placement_samples_spec.rb [18:42]


  def find_or_create_multi_region_instance
    @multi_region_instance_id = "test-multi-region-#{@seed}"
    @multi_region_instance ||= find_instance(@multi_region_instance_id)

    return @multi_region_instance if @multi_region_instance

    request = {
      parent: project_path,
      instance_id: @multi_region_instance_id,
      instance: Google::Cloud::Spanner::Admin::Instance::V1::Instance.new({
        display_name: "Ruby test leader placement",
        config: instance_config_path("nam6"),
        node_count: 1
      })
    }
    job = instance_admin_client.create_instance request
    job.wait_until_done!

    raise job.error if job.error?

    @multi_region_instance = job.results
    @created_instance_ids << @multi_region_instance_id
    @multi_region_instance
  end