Class: Daytona::CreateSandboxBaseParams
- Inherits:
-
Object
- Object
- Daytona::CreateSandboxBaseParams
- Defined in:
- lib/daytona/common/daytona.rb
Direct Known Subclasses
CreateSandboxFromImageParams, CreateSandboxFromSnapshotParams
Instance Attribute Summary collapse
-
#auto_archive_interval ⇒ Integer?
Auto-archive interval in minutes.
-
#auto_delete_interval ⇒ Integer?
Auto-delete interval in minutes.
-
#auto_stop_interval ⇒ Integer?
Auto-stop interval in minutes.
-
#env_vars ⇒ Hash<String, String>?
Environment variables to set in the Sandbox.
-
#ephemeral ⇒ Boolean?
Whether the Sandbox should be ephemeral.
-
#labels ⇒ Hash<String, String>?
Custom labels for the Sandbox.
-
#language ⇒ Symbol?
Programming language for the Sandbox.
-
#linked_sandbox ⇒ String?
ID or name of an existing Sandbox to link the new Sandbox to.
-
#network_allow_list ⇒ String?
Comma-separated list of allowed CIDR network addresses for the Sandbox.
-
#network_block_all ⇒ Boolean?
Whether to block all network access for the Sandbox.
-
#os_user ⇒ String?
OS user for the Sandbox.
-
#public ⇒ Boolean?
Whether the Sandbox should be public.
-
#timeout ⇒ Float?
Timeout in seconds for Sandbox to be created and started.
-
#volumes ⇒ Array<DaytonaApiClient::SandboxVolume>?
List of volumes mounts to attach to the Sandbox.
Instance Method Summary collapse
-
#initialize(language: nil, os_user: nil, env_vars: nil, labels: nil, public: nil, timeout: nil, auto_stop_interval: nil, auto_archive_interval: nil, auto_delete_interval: nil, volumes: nil, network_block_all: nil, network_allow_list: nil, ephemeral: nil, linked_sandbox: nil) ⇒ CreateSandboxBaseParams
constructor
Initialize CreateSandboxBaseParams.
-
#to_h ⇒ Hash<Symbol, Object>
Convert to hash representation.
Constructor Details
#initialize(language: nil, os_user: nil, env_vars: nil, labels: nil, public: nil, timeout: nil, auto_stop_interval: nil, auto_archive_interval: nil, auto_delete_interval: nil, volumes: nil, network_block_all: nil, network_allow_list: nil, ephemeral: nil, linked_sandbox: nil) ⇒ CreateSandboxBaseParams
Initialize CreateSandboxBaseParams
71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
# File 'lib/daytona/common/daytona.rb', line 71 def initialize( # rubocop:disable Metrics/MethodLength, Metrics/ParameterLists language: nil, os_user: nil, env_vars: nil, labels: nil, public: nil, timeout: nil, auto_stop_interval: nil, auto_archive_interval: nil, auto_delete_interval: nil, volumes: nil, network_block_all: nil, network_allow_list: nil, ephemeral: nil, linked_sandbox: nil ) @language = language @os_user = os_user @env_vars = env_vars @labels = labels @public = public @timeout = timeout @auto_stop_interval = auto_stop_interval @auto_archive_interval = auto_archive_interval @auto_delete_interval = auto_delete_interval @volumes = volumes @network_block_all = network_block_all @network_allow_list = network_allow_list @ephemeral = ephemeral @linked_sandbox = linked_sandbox # Handle ephemeral and auto_delete_interval conflict handle_ephemeral_auto_delete_conflict end |
Instance Attribute Details
#auto_archive_interval ⇒ Integer?
Returns Auto-archive interval in minutes.
32 33 34 |
# File 'lib/daytona/common/daytona.rb', line 32 def auto_archive_interval @auto_archive_interval end |
#auto_delete_interval ⇒ Integer?
Returns Auto-delete interval in minutes.
35 36 37 |
# File 'lib/daytona/common/daytona.rb', line 35 def auto_delete_interval @auto_delete_interval end |
#auto_stop_interval ⇒ Integer?
Returns Auto-stop interval in minutes.
29 30 31 |
# File 'lib/daytona/common/daytona.rb', line 29 def auto_stop_interval @auto_stop_interval end |
#env_vars ⇒ Hash<String, String>?
Returns Environment variables to set in the Sandbox.
17 18 19 |
# File 'lib/daytona/common/daytona.rb', line 17 def env_vars @env_vars end |
#ephemeral ⇒ Boolean?
Returns Whether the Sandbox should be ephemeral.
47 48 49 |
# File 'lib/daytona/common/daytona.rb', line 47 def ephemeral @ephemeral end |
#labels ⇒ Hash<String, String>?
Returns Custom labels for the Sandbox.
20 21 22 |
# File 'lib/daytona/common/daytona.rb', line 20 def labels @labels end |
#language ⇒ Symbol?
Returns Programming language for the Sandbox.
11 12 13 |
# File 'lib/daytona/common/daytona.rb', line 11 def language @language end |
#linked_sandbox ⇒ String?
Returns ID or name of an existing Sandbox to link the new Sandbox to. The new Sandbox will be scheduled on the same runner as the linked Sandbox so a local network can be established between them. Only supported for android-class snapshots. Linked Sandboxes must be ephemeral (auto_delete_interval=0) and cannot themselves be linked to another Sandbox.
53 54 55 |
# File 'lib/daytona/common/daytona.rb', line 53 def linked_sandbox @linked_sandbox end |
#network_allow_list ⇒ String?
Returns Comma-separated list of allowed CIDR network addresses for the Sandbox.
44 45 46 |
# File 'lib/daytona/common/daytona.rb', line 44 def network_allow_list @network_allow_list end |
#network_block_all ⇒ Boolean?
Returns Whether to block all network access for the Sandbox.
41 42 43 |
# File 'lib/daytona/common/daytona.rb', line 41 def network_block_all @network_block_all end |
#os_user ⇒ String?
Returns OS user for the Sandbox.
14 15 16 |
# File 'lib/daytona/common/daytona.rb', line 14 def os_user @os_user end |
#public ⇒ Boolean?
Returns Whether the Sandbox should be public.
23 24 25 |
# File 'lib/daytona/common/daytona.rb', line 23 def public @public end |
#timeout ⇒ Float?
Returns Timeout in seconds for Sandbox to be created and started.
26 27 28 |
# File 'lib/daytona/common/daytona.rb', line 26 def timeout @timeout end |
#volumes ⇒ Array<DaytonaApiClient::SandboxVolume>?
Returns List of volumes mounts to attach to the Sandbox.
38 39 40 |
# File 'lib/daytona/common/daytona.rb', line 38 def volumes @volumes end |
Instance Method Details
#to_h ⇒ Hash<Symbol, Object>
Convert to hash representation
109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 |
# File 'lib/daytona/common/daytona.rb', line 109 def to_h # rubocop:disable Metrics/MethodLength { language:, os_user:, env_vars:, labels:, public:, timeout:, auto_stop_interval:, auto_archive_interval:, auto_delete_interval:, volumes:, network_block_all:, network_allow_list:, ephemeral:, linked_sandbox: }.compact end |