Class: Daytona::CreateSandboxFromImageParams

Inherits:
CreateSandboxBaseParams show all
Defined in:
lib/daytona/common/daytona.rb

Instance Attribute Summary collapse

Attributes inherited from CreateSandboxBaseParams

#auto_archive_interval, #auto_delete_interval, #auto_stop_interval, #env_vars, #ephemeral, #labels, #language, #network_allow_list, #network_block_all, #os_user, #public, #timeout, #volumes

Instance Method Summary collapse

Constructor Details

#initialize(image:, resources: nil, **args) ⇒ CreateSandboxFromImageParams

Initialize CreateSandboxFromImageParams

Parameters:

  • image (String, Image)

    Custom Docker image to use for the Sandbox

  • resources (Daytona::Resources, nil) (defaults to: nil)

    Resource configuration for the Sandbox

  • language (Symbol, nil)

    Programming language for the Sandbox

  • os_user (String, nil)

    OS user for the Sandbox

  • env_vars (Hash<String, String>, nil)

    Environment variables to set in the Sandbox

  • labels (Hash<String, String>, nil)

    Custom labels for the Sandbox

  • public (Boolean, nil)

    Whether the Sandbox should be public

  • timeout (Float, nil)

    Timeout in seconds for Sandbox to be created and started

  • auto_stop_interval (Integer, nil)

    Auto-stop interval in minutes

  • auto_archive_interval (Integer, nil)

    Auto-archive interval in minutes

  • auto_delete_interval (Integer, nil)

    Auto-delete interval in minutes

  • volumes (Array<DaytonaApiClient::SandboxVolume>, nil)

    List of volumes mounts to attach to the Sandbox

  • network_block_all (Boolean, nil)

    Whether to block all network access for the Sandbox

  • network_allow_list (String, nil)

    Comma-separated list of allowed CIDR network addresses for the Sandbox

  • ephemeral (Boolean, nil)

    Whether the Sandbox should be ephemeral



155
156
157
158
159
160
# File 'lib/daytona/common/daytona.rb', line 155

def initialize(image:, resources: nil, **args)
  @image = image
  @resources = resources

  super(**args)
end

Instance Attribute Details

#imageString, Image

Returns Custom Docker image to use for the Sandbox. If an Image object is provided, the image will be dynamically built.

Returns:

  • (String, Image)

    Custom Docker image to use for the Sandbox. If an Image object is provided, the image will be dynamically built.



132
133
134
# File 'lib/daytona/common/daytona.rb', line 132

def image
  @image
end

#resourcesDaytona::Resources?

Returns Resource configuration for the Sandbox. If not provided, sandbox will have default resources.

Returns:

  • (Daytona::Resources, nil)

    Resource configuration for the Sandbox. If not provided, sandbox will have default resources.



136
137
138
# File 'lib/daytona/common/daytona.rb', line 136

def resources
  @resources
end

Instance Method Details

#to_hHash<Symbol, Object>

Convert to hash representation

Returns:

  • (Hash<Symbol, Object>)

    Hash representation of the parameters



165
166
167
168
169
170
# File 'lib/daytona/common/daytona.rb', line 165

def to_h
  super.merge(
    image:,
    resources: resources&.to_h
  ).compact
end