Sha256: 275325f01643b8aed142d7936c22bd8fd7864466e8213b4ef8a8c33c521d5549
Contents?: true
Size: 1.72 KB
Versions: 2
Compression:
Stored size: 1.72 KB
Contents
module Dag class ClusterCollection < Model include Enumerable include Dag::Client::ClusterValidation def initialize(api) super(api) end # # == Parameters == # <tt>status</tt> - 'init', 'stopped', restarting, 'norm', 'failed', 'ptfailed', 'error', 'released' def where(params) validate_cluster_param_keys(params) @status = params[:status] if params[:status] @type = params[:type] if params[:type] @cluster_name = params[:cluster_name] if params[:cluster_name].present? self end def order(o) result = o.downcase.to_s unless ['asc', 'desc'].include?(result) raise Dag::Client::ParameterInvalid.new("Invalid order condition: #{o}") end @order = result self end def each marker = nil truncated = false begin cluster_info_list = @api.cluster_info_list(make_options(marker)) cluster_info_list['clusters'].each do |cluster_info| yield Dag::Cluster.new(@api, cluster_info) end truncated = cluster_info_list['isTruncated'] marker = cluster_info_list['nextMarker'] end while truncated end private def make_options(marker = nil) options = { max: 100 } if marker options = options.merge(marker: marker) end if @order options = options.merge(order: @order) end if @status status = @status.respond_to?(:join) ? @status.join(",") : @status options = options.merge(status: status) end if @type options = options.merge(type: @type) end if @cluster_name options = options.merge(cluster_name: @cluster_name) end options 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/cluster_collection.rb |
iij-dag-client-1.0.1 | lib/dag/client/model/cluster_collection.rb |