Sha256: d818d6ba45b7944b2ce6adfa40c87a713fb9c46946d9d930683d5a237719b976
Contents?: true
Size: 1.03 KB
Versions: 2
Compression:
Stored size: 1.03 KB
Contents
module Dag class DatabaseCollection < Model include Enumerable include Dag::Client::ClusterValidation attr_reader :cluster_name def initialize(api, cluster_name, cluster_status: nil) super(api) @cluster_name = cluster_name @cluster_status = cluster_status end def each validate_cluster find_from_api unless find? @databases.each do |db_name| yield Dag::Database.new(@api, @cluster_name, db_name) end end def create(db_name) validate_cluster @api.create_database(@cluster_name, db_name) Dag::Database.new(@api, @cluster_name, db_name) end private def find_from_api dbs = [] tmp = {} params = { "max" => 100 } begin params.merge!({"marker" => tmp["nextMarker"]}) rescue nil tmp = @api.database_list(@cluster_name , params: params) dbs += tmp["databases"] end while tmp["isTruncated"] @databases = dbs end def find? @databases.present? end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
iij-dag-client-1.0.2 | lib/dag/client/model/database_collection.rb |
iij-dag-client-1.0.1 | lib/dag/client/model/database_collection.rb |