Class: Kitchen::Driver::VmpoolStores::VmpoolerStore
- Defined in:
- lib/kitchen/driver/vmpool_stores/vmpooler_store.rb
Instance Attribute Summary collapse
-
#lifetime ⇒ Object
readonly
Returns the value of attribute lifetime.
-
#tags ⇒ Object
readonly
Returns the value of attribute tags.
-
#token ⇒ Object
readonly
Returns the value of attribute token.
-
#vmpooler_url ⇒ Object
readonly
Returns the value of attribute vmpooler_url.
Instance Method Summary collapse
- #cleanup(pool_member:, pool_name: nil, reuse_instances: false) {|pool_member, used_status| ... } ⇒ Object
-
#initialize(opts = {}) ⇒ VmpoolerStore
constructor
A new instance of VmpoolerStore.
-
#take_pool_member(pool_name) ⇒ String
A pool member from the pool.
Constructor Details
#initialize(opts = {}) ⇒ VmpoolerStore
Returns a new instance of VmpoolerStore.
19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/kitchen/driver/vmpool_stores/vmpooler_store.rb', line 19 def initialize(opts = {}) host_url = opts.fetch('host_url') user = opts.fetch('user', nil) pass = opts.fetch('pass', nil) token = opts.fetch('token', nil) @tags = opts.fetch('tags', { purpose: 'vmpooler-default' }) @lifetime = opts.fetch('lifetime', nil) @vmpooler_url = URI.join(host_url, '/api/v1/').to_s raise Kitchen::Driver::InvalidUrl.new("Bad url: #{vmpooler_url}") unless valid_url?(URI.join(vmpooler_url, 'vm')) @token = valid_token?(token) ? token : create_token(user, pass) end |
Instance Attribute Details
#lifetime ⇒ Object (readonly)
Returns the value of attribute lifetime.
10 11 12 |
# File 'lib/kitchen/driver/vmpool_stores/vmpooler_store.rb', line 10 def lifetime @lifetime end |
#tags ⇒ Object (readonly)
Returns the value of attribute tags.
10 11 12 |
# File 'lib/kitchen/driver/vmpool_stores/vmpooler_store.rb', line 10 def @tags end |
#token ⇒ Object (readonly)
Returns the value of attribute token.
10 11 12 |
# File 'lib/kitchen/driver/vmpool_stores/vmpooler_store.rb', line 10 def token @token end |
#vmpooler_url ⇒ Object (readonly)
Returns the value of attribute vmpooler_url.
10 11 12 |
# File 'lib/kitchen/driver/vmpool_stores/vmpooler_store.rb', line 10 def vmpooler_url @vmpooler_url end |
Instance Method Details
#cleanup(pool_member:, pool_name: nil, reuse_instances: false) {|pool_member, used_status| ... } ⇒ Object
38 39 40 41 42 |
# File 'lib/kitchen/driver/vmpool_stores/vmpooler_store.rb', line 38 def cleanup(pool_member:, pool_name: nil, reuse_instances: false) used_status = 'destroyed' destroy_pool_member(pool_member) yield(pool_member, used_status) if block_given? end |
#take_pool_member(pool_name) ⇒ String
Returns a pool member from the pool.
33 34 35 |
# File 'lib/kitchen/driver/vmpool_stores/vmpooler_store.rb', line 33 def take_pool_member(pool_name) fetch_pool_member(pool_name) end |