Class: Daytona::VolumeService
- Inherits:
-
Object
- Object
- Daytona::VolumeService
- Includes:
- Instrumentation
- Defined in:
- lib/daytona/volume_service.rb
Instance Method Summary collapse
-
#create(name) ⇒ Daytona::Volume
Create new Volume.
-
#delete(volume) ⇒ void
Delete a Volume.
-
#get(name, create: false) ⇒ Daytona::Volume
Get a Volume by name.
-
#initialize(volumes_api, otel_state: nil) ⇒ VolumeService
constructor
Service for managing Daytona Volumes.
-
#list ⇒ Array<Daytona::Volume>
List all Volumes.
Methods included from Instrumentation
Constructor Details
#initialize(volumes_api, otel_state: nil) ⇒ VolumeService
Service for managing Daytona Volumes. Can be used to list, get, create and delete Volumes.
11 12 13 14 |
# File 'lib/daytona/volume_service.rb', line 11 def initialize(volumes_api, otel_state: nil) @volumes_api = volumes_api @otel_state = otel_state end |
Instance Method Details
#create(name) ⇒ Daytona::Volume
Create new Volume.
20 |
# File 'lib/daytona/volume_service.rb', line 20 def create(name) = Volume.new(volumes_api.create_volume(DaytonaApiClient::CreateVolume.new(name:))) |
#delete(volume) ⇒ void
This method returns an undefined value.
Delete a Volume.
26 |
# File 'lib/daytona/volume_service.rb', line 26 def delete(volume) = volumes_api.delete_volume(volume.id) |
#get(name, create: false) ⇒ Daytona::Volume
Get a Volume by name.
33 34 35 36 37 38 39 |
# File 'lib/daytona/volume_service.rb', line 33 def get(name, create: false) Volume.new(volumes_api.get_volume_by_name(name)) rescue DaytonaApiClient::ApiError => e raise unless create && e.code == 404 && e..include?("Volume with name #{name} not found") create(name) end |
#list ⇒ Array<Daytona::Volume>
List all Volumes.
44 45 46 |
# File 'lib/daytona/volume_service.rb', line 44 def list volumes_api.list_volumes.map { |volume| Volume.new(volume) } end |