Module: Lambda::MicroVMs::Session
- Defined in:
- lib/lambda/microvms/session.rb
Overview
Convenience API for run/use/cleanup MicroVM sessions.
Class Method Summary collapse
-
.cleanup(vm, after) ⇒ Object
rubocop:disable Naming/MethodParameterName.
- .session(image_arn:, role_arn:, after: :suspend, client: Client.new, **run_options) ⇒ Object
Class Method Details
.cleanup(vm, after) ⇒ Object
rubocop:disable Naming/MethodParameterName
17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/lambda/microvms/session.rb', line 17 def cleanup(vm, after) # rubocop:disable Naming/MethodParameterName case after when :keep, nil nil when :suspend vm.suspend when :terminate vm.terminate else raise ArgumentError, "unknown cleanup policy: #{after.inspect}" end end |
.session(image_arn:, role_arn:, after: :suspend, client: Client.new, **run_options) ⇒ Object
9 10 11 12 13 14 15 |
# File 'lib/lambda/microvms/session.rb', line 9 def session(image_arn:, role_arn:, after: :suspend, client: Client.new, **) vm = client.image(image_arn).run(role_arn: role_arn, **) vm.wait_until_running yield vm ensure cleanup(vm, after) if vm end |