Class: Kitchen::Driver::Oci::Models::Compute
- Inherits:
-
Instance
- Object
- Base
- Kitchen::Driver::Oci
- Instance
- Kitchen::Driver::Oci::Models::Compute
- Includes:
- ComputeLaunchDetails
- Defined in:
- lib/kitchen/driver/oci/models/compute.rb
Overview
Compute instance model
Instance Attribute Summary collapse
-
#launch_details ⇒ OCI::Core::Models::LaunchInstanceDetails
The details model that describes a compute instance.
Attributes inherited from Instance
Instance Method Summary collapse
-
#initialize(config, state, oci, api, action) ⇒ Compute
constructor
A new instance of Compute.
- #launch ⇒ Object
- #reboot ⇒ Object
- #terminate ⇒ Object
Methods inherited from Instance
Methods included from Instance::CommonLaunchDetails
#availability_domain, #compartment_id, #defined_tags, #freeform_tags, #shape
Methods inherited from Kitchen::Driver::Oci
#create, #destroy, validation_error
Methods included from Kitchen::Driver::Oci::Models
#instance_class, #volume_class
Constructor Details
#initialize(config, state, oci, api, action) ⇒ Compute
Returns a new instance of Compute.
29 30 31 32 |
# File 'lib/kitchen/driver/oci/models/compute.rb', line 29 def initialize(config, state, oci, api, action) super @launch_details = OCI::Core::Models::LaunchInstanceDetails.new end |
Instance Attribute Details
#launch_details ⇒ OCI::Core::Models::LaunchInstanceDetails
The details model that describes a compute instance
39 40 41 |
# File 'lib/kitchen/driver/oci/models/compute.rb', line 39 def launch_details @launch_details end |
Instance Method Details
#launch ⇒ Object
41 42 43 44 45 46 47 |
# File 'lib/kitchen/driver/oci/models/compute.rb', line 41 def launch response = api.compute.launch_instance(launch_instance_details) instance_id = response.data.id api.compute.get_instance(instance_id).wait_until(:lifecycle_state, OCI::Core::Models::Instance::LIFECYCLE_STATE_RUNNING) final_state(state, instance_id) end |
#reboot ⇒ Object
54 55 56 57 |
# File 'lib/kitchen/driver/oci/models/compute.rb', line 54 def reboot api.compute.instance_action(state[:server_id], "SOFTRESET") api.compute.get_instance(state[:server_id]).wait_until(:lifecycle_state, OCI::Core::Models::Instance::LIFECYCLE_STATE_RUNNING) end |
#terminate ⇒ Object
49 50 51 52 |
# File 'lib/kitchen/driver/oci/models/compute.rb', line 49 def terminate api.compute.terminate_instance(state[:server_id]) api.compute.get_instance(state[:server_id]).wait_until(:lifecycle_state, OCI::Core::Models::Instance::LIFECYCLE_STATE_TERMINATING) end |