daytona_api_client 0.200.1 → 0.201.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6657608e0103f791a88dcf05c4333958702743ab6d3f1eaafc9545b9dc529ef3
4
- data.tar.gz: 4effbd76020842f2c307439b23682f3dc195d51e07a927f676e421a153823092
3
+ metadata.gz: 1845419b3974399cca3ce91419b284606df874862d4732e5e12c612f2436f32a
4
+ data.tar.gz: 4134088187aff73f0f21a6a05b8b6b92a519892898f90e65ff0b0a3e3b908834
5
5
  SHA512:
6
- metadata.gz: 1baa7fd7d05a20f1917545dfbf5250634e05be646af8ef0d6fdfa1da0927a88ed826445199b40a65ad549022b164254cee28d27f8ff100413b22f4b12ef892d7
7
- data.tar.gz: ba7b1d61931b3a8e68bbec2cda74be87ecd2b808965929fbb11c84cd25e33fc3182ea5a66795bcdd705bd8288d1266fdce5ae96470771d46f80139215d7a03c5
6
+ metadata.gz: 42fd885a673bc3f7103b2f1a52c2884007f509f5eb39293f617b6f30d640b99fa5cd40043e89ebc79e93e762cf33cdb9b5bffb4eca6e9b56d4e0037c29fa3c1d
7
+ data.tar.gz: 643093d55375526ef1a2ccc6df69add5fdc0864ff0cb1a9d06c0a3ee557d8be325fdf5ab26078b75f70e45ad4de129c1edbbfec3fb78c122f291f93af8604faa
@@ -21,6 +21,7 @@ lib/daytona_api_client/api/secret_api.rb
21
21
  lib/daytona_api_client/api/snapshots_api.rb
22
22
  lib/daytona_api_client/api/users_api.rb
23
23
  lib/daytona_api_client/api/volumes_api.rb
24
+ lib/daytona_api_client/api/warm_pools_api.rb
24
25
  lib/daytona_api_client/api/webhooks_api.rb
25
26
  lib/daytona_api_client/api_client.rb
26
27
  lib/daytona_api_client/api_error.rb
@@ -55,6 +56,7 @@ lib/daytona_api_client/models/create_secret.rb
55
56
  lib/daytona_api_client/models/create_snapshot.rb
56
57
  lib/daytona_api_client/models/create_user.rb
57
58
  lib/daytona_api_client/models/create_volume.rb
59
+ lib/daytona_api_client/models/create_warm_pool.rb
58
60
  lib/daytona_api_client/models/date_filter.rb
59
61
  lib/daytona_api_client/models/daytona_configuration.rb
60
62
  lib/daytona_api_client/models/docker_registry.rb
@@ -136,6 +138,7 @@ lib/daytona_api_client/models/trace_span.rb
136
138
  lib/daytona_api_client/models/trace_summary.rb
137
139
  lib/daytona_api_client/models/update_docker_registry.rb
138
140
  lib/daytona_api_client/models/update_job_status.rb
141
+ lib/daytona_api_client/models/update_last_activity.rb
139
142
  lib/daytona_api_client/models/update_organization_default_region.rb
140
143
  lib/daytona_api_client/models/update_organization_invitation.rb
141
144
  lib/daytona_api_client/models/update_organization_member_access.rb
@@ -147,11 +150,13 @@ lib/daytona_api_client/models/update_sandbox_network_settings.rb
147
150
  lib/daytona_api_client/models/update_sandbox_secrets.rb
148
151
  lib/daytona_api_client/models/update_sandbox_state_dto.rb
149
152
  lib/daytona_api_client/models/update_secret.rb
153
+ lib/daytona_api_client/models/update_warm_pool.rb
150
154
  lib/daytona_api_client/models/url.rb
151
155
  lib/daytona_api_client/models/user.rb
152
156
  lib/daytona_api_client/models/user_public_key.rb
153
157
  lib/daytona_api_client/models/volume_dto.rb
154
158
  lib/daytona_api_client/models/volume_state.rb
159
+ lib/daytona_api_client/models/warm_pool.rb
155
160
  lib/daytona_api_client/models/webhook_app_portal_access.rb
156
161
  lib/daytona_api_client/models/webhook_event.rb
157
162
  lib/daytona_api_client/models/webhook_initialization_status.rb
@@ -86,6 +86,67 @@ module DaytonaApiClient
86
86
  return data, status_code, headers
87
87
  end
88
88
 
89
+ # Get the signing key for a sandbox
90
+ # @param sandbox_id [String] ID of the sandbox
91
+ # @param [Hash] opts the optional parameters
92
+ # @return [String]
93
+ def get_signing_key(sandbox_id, opts = {})
94
+ data, _status_code, _headers = get_signing_key_with_http_info(sandbox_id, opts)
95
+ data
96
+ end
97
+
98
+ # Get the signing key for a sandbox
99
+ # @param sandbox_id [String] ID of the sandbox
100
+ # @param [Hash] opts the optional parameters
101
+ # @return [Array<(String, Integer, Hash)>] String data, response status code and response headers
102
+ def get_signing_key_with_http_info(sandbox_id, opts = {})
103
+ if @api_client.config.debugging
104
+ @api_client.config.logger.debug 'Calling API: PreviewApi.get_signing_key ...'
105
+ end
106
+ # verify the required parameter 'sandbox_id' is set
107
+ if @api_client.config.client_side_validation && sandbox_id.nil?
108
+ fail ArgumentError, "Missing the required parameter 'sandbox_id' when calling PreviewApi.get_signing_key"
109
+ end
110
+ # resource path
111
+ local_var_path = '/preview/{sandboxId}/signing-key'.sub('{' + 'sandboxId' + '}', CGI.escape(sandbox_id.to_s))
112
+
113
+ # query parameters
114
+ query_params = opts[:query_params] || {}
115
+
116
+ # header parameters
117
+ header_params = opts[:header_params] || {}
118
+ # HTTP header 'Accept' (if needed)
119
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
120
+
121
+ # form parameters
122
+ form_params = opts[:form_params] || {}
123
+
124
+ # http body (model)
125
+ post_body = opts[:debug_body]
126
+
127
+ # return_type
128
+ return_type = opts[:debug_return_type] || 'String'
129
+
130
+ # auth_names
131
+ auth_names = opts[:debug_auth_names] || ['bearer', 'oauth2']
132
+
133
+ new_options = opts.merge(
134
+ :operation => :"PreviewApi.get_signing_key",
135
+ :header_params => header_params,
136
+ :query_params => query_params,
137
+ :form_params => form_params,
138
+ :body => post_body,
139
+ :auth_names => auth_names,
140
+ :return_type => return_type
141
+ )
142
+
143
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
144
+ if @api_client.config.debugging
145
+ @api_client.config.logger.debug "API called: PreviewApi#get_signing_key\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
146
+ end
147
+ return data, status_code, headers
148
+ end
149
+
89
150
  # Check if user has access to the sandbox
90
151
  # @param sandbox_id [String]
91
152
  # @param [Hash] opts the optional parameters
@@ -84,6 +84,7 @@ module DaytonaApiClient
84
84
  end
85
85
 
86
86
  # Create sandbox backup
87
+ # Deprecated: backups are managed automatically. This endpoint is a no-op kept for compatibility.
87
88
  # @param sandbox_id_or_name [String] ID or name of the sandbox
88
89
  # @param [Hash] opts the optional parameters
89
90
  # @option opts [String] :x_daytona_organization_id Use with JWT to specify the organization ID
@@ -94,6 +95,7 @@ module DaytonaApiClient
94
95
  end
95
96
 
96
97
  # Create sandbox backup
98
+ # Deprecated: backups are managed automatically. This endpoint is a no-op kept for compatibility.
97
99
  # @param sandbox_id_or_name [String] ID or name of the sandbox
98
100
  # @param [Hash] opts the optional parameters
99
101
  # @option opts [String] :x_daytona_organization_id Use with JWT to specify the organization ID
@@ -1337,6 +1339,70 @@ module DaytonaApiClient
1337
1339
  return data, status_code, headers
1338
1340
  end
1339
1341
 
1342
+ # Get the signing key for a sandbox
1343
+ # @param sandbox_id [String] ID of the sandbox
1344
+ # @param [Hash] opts the optional parameters
1345
+ # @option opts [String] :x_daytona_organization_id Use with JWT to specify the organization ID
1346
+ # @return [String]
1347
+ def get_sandbox_signing_key(sandbox_id, opts = {})
1348
+ data, _status_code, _headers = get_sandbox_signing_key_with_http_info(sandbox_id, opts)
1349
+ data
1350
+ end
1351
+
1352
+ # Get the signing key for a sandbox
1353
+ # @param sandbox_id [String] ID of the sandbox
1354
+ # @param [Hash] opts the optional parameters
1355
+ # @option opts [String] :x_daytona_organization_id Use with JWT to specify the organization ID
1356
+ # @return [Array<(String, Integer, Hash)>] String data, response status code and response headers
1357
+ def get_sandbox_signing_key_with_http_info(sandbox_id, opts = {})
1358
+ if @api_client.config.debugging
1359
+ @api_client.config.logger.debug 'Calling API: SandboxApi.get_sandbox_signing_key ...'
1360
+ end
1361
+ # verify the required parameter 'sandbox_id' is set
1362
+ if @api_client.config.client_side_validation && sandbox_id.nil?
1363
+ fail ArgumentError, "Missing the required parameter 'sandbox_id' when calling SandboxApi.get_sandbox_signing_key"
1364
+ end
1365
+ # resource path
1366
+ local_var_path = '/sandbox/{sandboxId}/signing-key'.sub('{' + 'sandboxId' + '}', CGI.escape(sandbox_id.to_s))
1367
+
1368
+ # query parameters
1369
+ query_params = opts[:query_params] || {}
1370
+
1371
+ # header parameters
1372
+ header_params = opts[:header_params] || {}
1373
+ # HTTP header 'Accept' (if needed)
1374
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1375
+ header_params[:'X-Daytona-Organization-ID'] = opts[:'x_daytona_organization_id'] if !opts[:'x_daytona_organization_id'].nil?
1376
+
1377
+ # form parameters
1378
+ form_params = opts[:form_params] || {}
1379
+
1380
+ # http body (model)
1381
+ post_body = opts[:debug_body]
1382
+
1383
+ # return_type
1384
+ return_type = opts[:debug_return_type] || 'String'
1385
+
1386
+ # auth_names
1387
+ auth_names = opts[:debug_auth_names] || ['bearer', 'oauth2']
1388
+
1389
+ new_options = opts.merge(
1390
+ :operation => :"SandboxApi.get_sandbox_signing_key",
1391
+ :header_params => header_params,
1392
+ :query_params => query_params,
1393
+ :form_params => form_params,
1394
+ :body => post_body,
1395
+ :auth_names => auth_names,
1396
+ :return_type => return_type
1397
+ )
1398
+
1399
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1400
+ if @api_client.config.debugging
1401
+ @api_client.config.logger.debug "API called: SandboxApi#get_sandbox_signing_key\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1402
+ end
1403
+ return data, status_code, headers
1404
+ end
1405
+
1340
1406
  # Get trace spans
1341
1407
  # Retrieve all spans for a specific trace
1342
1408
  # @param sandbox_id [String] ID of the sandbox
@@ -1706,6 +1772,7 @@ module DaytonaApiClient
1706
1772
  # @option opts [String] :name Filter by name prefix (case-insensitive)
1707
1773
  # @option opts [String] :labels JSON encoded labels to filter by
1708
1774
  # @option opts [Boolean] :include_errored_deleted Include results with errored state and deleted desired state (default to false)
1775
+ # @option opts [Boolean] :include_warm Include unclaimed warm pool sandboxes (excluded by default) (default to false)
1709
1776
  # @option opts [Array<SandboxState>] :states List of states to filter by.
1710
1777
  # @option opts [Array<String>] :snapshots List of snapshot names to filter by
1711
1778
  # @option opts [Array<String>] :region_ids List of regions IDs to filter by
@@ -1722,6 +1789,8 @@ module DaytonaApiClient
1722
1789
  # @option opts [Time] :created_at_before Include items created before this timestamp
1723
1790
  # @option opts [Time] :last_event_after Include items with last event after this timestamp
1724
1791
  # @option opts [Time] :last_event_before Include items with last event before this timestamp
1792
+ # @option opts [Time] :auto_destroy_at_after Include items scheduled for auto destroy after this timestamp
1793
+ # @option opts [Time] :auto_destroy_at_before Include items scheduled for auto destroy before this timestamp
1725
1794
  # @option opts [SandboxListSortField] :sort Field to sort by
1726
1795
  # @option opts [SandboxListSortDirection] :order Direction to sort by
1727
1796
  # @return [ListSandboxesResponse]
@@ -1740,6 +1809,7 @@ module DaytonaApiClient
1740
1809
  # @option opts [String] :name Filter by name prefix (case-insensitive)
1741
1810
  # @option opts [String] :labels JSON encoded labels to filter by
1742
1811
  # @option opts [Boolean] :include_errored_deleted Include results with errored state and deleted desired state (default to false)
1812
+ # @option opts [Boolean] :include_warm Include unclaimed warm pool sandboxes (excluded by default) (default to false)
1743
1813
  # @option opts [Array<SandboxState>] :states List of states to filter by.
1744
1814
  # @option opts [Array<String>] :snapshots List of snapshot names to filter by
1745
1815
  # @option opts [Array<String>] :region_ids List of regions IDs to filter by
@@ -1756,6 +1826,8 @@ module DaytonaApiClient
1756
1826
  # @option opts [Time] :created_at_before Include items created before this timestamp
1757
1827
  # @option opts [Time] :last_event_after Include items with last event after this timestamp
1758
1828
  # @option opts [Time] :last_event_before Include items with last event before this timestamp
1829
+ # @option opts [Time] :auto_destroy_at_after Include items scheduled for auto destroy after this timestamp
1830
+ # @option opts [Time] :auto_destroy_at_before Include items scheduled for auto destroy before this timestamp
1759
1831
  # @option opts [SandboxListSortField] :sort Field to sort by
1760
1832
  # @option opts [SandboxListSortDirection] :order Direction to sort by
1761
1833
  # @return [Array<(ListSandboxesResponse, Integer, Hash)>] ListSandboxesResponse data, response status code and response headers
@@ -1806,6 +1878,7 @@ module DaytonaApiClient
1806
1878
  query_params[:'name'] = opts[:'name'] if !opts[:'name'].nil?
1807
1879
  query_params[:'labels'] = opts[:'labels'] if !opts[:'labels'].nil?
1808
1880
  query_params[:'includeErroredDeleted'] = opts[:'include_errored_deleted'] if !opts[:'include_errored_deleted'].nil?
1881
+ query_params[:'includeWarm'] = opts[:'include_warm'] if !opts[:'include_warm'].nil?
1809
1882
  query_params[:'states'] = @api_client.build_collection_param(opts[:'states'], :multi) if !opts[:'states'].nil?
1810
1883
  query_params[:'snapshots'] = @api_client.build_collection_param(opts[:'snapshots'], :multi) if !opts[:'snapshots'].nil?
1811
1884
  query_params[:'regionIds'] = @api_client.build_collection_param(opts[:'region_ids'], :multi) if !opts[:'region_ids'].nil?
@@ -1822,6 +1895,8 @@ module DaytonaApiClient
1822
1895
  query_params[:'createdAtBefore'] = opts[:'created_at_before'] if !opts[:'created_at_before'].nil?
1823
1896
  query_params[:'lastEventAfter'] = opts[:'last_event_after'] if !opts[:'last_event_after'].nil?
1824
1897
  query_params[:'lastEventBefore'] = opts[:'last_event_before'] if !opts[:'last_event_before'].nil?
1898
+ query_params[:'autoDestroyAtAfter'] = opts[:'auto_destroy_at_after'] if !opts[:'auto_destroy_at_after'].nil?
1899
+ query_params[:'autoDestroyAtBefore'] = opts[:'auto_destroy_at_before'] if !opts[:'auto_destroy_at_before'].nil?
1825
1900
  query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil?
1826
1901
  query_params[:'order'] = opts[:'order'] if !opts[:'order'].nil?
1827
1902
 
@@ -2435,6 +2510,70 @@ module DaytonaApiClient
2435
2510
  return data, status_code, headers
2436
2511
  end
2437
2512
 
2513
+ # Rotate the signing key, invalidating all previously signed URLs
2514
+ # @param sandbox_id [String] ID of the sandbox
2515
+ # @param [Hash] opts the optional parameters
2516
+ # @option opts [String] :x_daytona_organization_id Use with JWT to specify the organization ID
2517
+ # @return [String]
2518
+ def rotate_signing_key(sandbox_id, opts = {})
2519
+ data, _status_code, _headers = rotate_signing_key_with_http_info(sandbox_id, opts)
2520
+ data
2521
+ end
2522
+
2523
+ # Rotate the signing key, invalidating all previously signed URLs
2524
+ # @param sandbox_id [String] ID of the sandbox
2525
+ # @param [Hash] opts the optional parameters
2526
+ # @option opts [String] :x_daytona_organization_id Use with JWT to specify the organization ID
2527
+ # @return [Array<(String, Integer, Hash)>] String data, response status code and response headers
2528
+ def rotate_signing_key_with_http_info(sandbox_id, opts = {})
2529
+ if @api_client.config.debugging
2530
+ @api_client.config.logger.debug 'Calling API: SandboxApi.rotate_signing_key ...'
2531
+ end
2532
+ # verify the required parameter 'sandbox_id' is set
2533
+ if @api_client.config.client_side_validation && sandbox_id.nil?
2534
+ fail ArgumentError, "Missing the required parameter 'sandbox_id' when calling SandboxApi.rotate_signing_key"
2535
+ end
2536
+ # resource path
2537
+ local_var_path = '/sandbox/{sandboxId}/signing-key/rotate'.sub('{' + 'sandboxId' + '}', CGI.escape(sandbox_id.to_s))
2538
+
2539
+ # query parameters
2540
+ query_params = opts[:query_params] || {}
2541
+
2542
+ # header parameters
2543
+ header_params = opts[:header_params] || {}
2544
+ # HTTP header 'Accept' (if needed)
2545
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
2546
+ header_params[:'X-Daytona-Organization-ID'] = opts[:'x_daytona_organization_id'] if !opts[:'x_daytona_organization_id'].nil?
2547
+
2548
+ # form parameters
2549
+ form_params = opts[:form_params] || {}
2550
+
2551
+ # http body (model)
2552
+ post_body = opts[:debug_body]
2553
+
2554
+ # return_type
2555
+ return_type = opts[:debug_return_type] || 'String'
2556
+
2557
+ # auth_names
2558
+ auth_names = opts[:debug_auth_names] || ['bearer', 'oauth2']
2559
+
2560
+ new_options = opts.merge(
2561
+ :operation => :"SandboxApi.rotate_signing_key",
2562
+ :header_params => header_params,
2563
+ :query_params => query_params,
2564
+ :form_params => form_params,
2565
+ :body => post_body,
2566
+ :auth_names => auth_names,
2567
+ :return_type => return_type
2568
+ )
2569
+
2570
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
2571
+ if @api_client.config.debugging
2572
+ @api_client.config.logger.debug "API called: SandboxApi#rotate_signing_key\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2573
+ end
2574
+ return data, status_code, headers
2575
+ end
2576
+
2438
2577
  # Set sandbox auto-archive interval
2439
2578
  # @param sandbox_id_or_name [String] ID or name of the sandbox
2440
2579
  # @param interval [Float] Auto-archive interval in minutes (0 means the maximum interval will be used)
@@ -2922,6 +3061,7 @@ module DaytonaApiClient
2922
3061
  # @param sandbox_id [String] ID of the sandbox
2923
3062
  # @param [Hash] opts the optional parameters
2924
3063
  # @option opts [String] :x_daytona_organization_id Use with JWT to specify the organization ID
3064
+ # @option opts [UpdateLastActivity] :update_last_activity
2925
3065
  # @return [nil]
2926
3066
  def update_last_activity(sandbox_id, opts = {})
2927
3067
  update_last_activity_with_http_info(sandbox_id, opts)
@@ -2932,6 +3072,7 @@ module DaytonaApiClient
2932
3072
  # @param sandbox_id [String] ID of the sandbox
2933
3073
  # @param [Hash] opts the optional parameters
2934
3074
  # @option opts [String] :x_daytona_organization_id Use with JWT to specify the organization ID
3075
+ # @option opts [UpdateLastActivity] :update_last_activity
2935
3076
  # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
2936
3077
  def update_last_activity_with_http_info(sandbox_id, opts = {})
2937
3078
  if @api_client.config.debugging
@@ -2949,13 +3090,18 @@ module DaytonaApiClient
2949
3090
 
2950
3091
  # header parameters
2951
3092
  header_params = opts[:header_params] || {}
3093
+ # HTTP header 'Content-Type'
3094
+ content_type = @api_client.select_header_content_type(['application/json'])
3095
+ if !content_type.nil?
3096
+ header_params['Content-Type'] = content_type
3097
+ end
2952
3098
  header_params[:'X-Daytona-Organization-ID'] = opts[:'x_daytona_organization_id'] if !opts[:'x_daytona_organization_id'].nil?
2953
3099
 
2954
3100
  # form parameters
2955
3101
  form_params = opts[:form_params] || {}
2956
3102
 
2957
3103
  # http body (model)
2958
- post_body = opts[:debug_body]
3104
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'update_last_activity'])
2959
3105
 
2960
3106
  # return_type
2961
3107
  return_type = opts[:debug_return_type]
@@ -0,0 +1,286 @@
1
+ =begin
2
+ #Daytona
3
+
4
+ #Daytona AI platform API Docs
5
+
6
+ The version of the OpenAPI document: 1.0
7
+ Contact: support@daytona.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.21.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module DaytonaApiClient
16
+ class WarmPoolsApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Create a warm pool
23
+ # @param create_warm_pool [CreateWarmPool]
24
+ # @param [Hash] opts the optional parameters
25
+ # @option opts [String] :x_daytona_organization_id Use with JWT to specify the organization ID
26
+ # @return [WarmPool]
27
+ def create_warm_pool(create_warm_pool, opts = {})
28
+ data, _status_code, _headers = create_warm_pool_with_http_info(create_warm_pool, opts)
29
+ data
30
+ end
31
+
32
+ # Create a warm pool
33
+ # @param create_warm_pool [CreateWarmPool]
34
+ # @param [Hash] opts the optional parameters
35
+ # @option opts [String] :x_daytona_organization_id Use with JWT to specify the organization ID
36
+ # @return [Array<(WarmPool, Integer, Hash)>] WarmPool data, response status code and response headers
37
+ def create_warm_pool_with_http_info(create_warm_pool, opts = {})
38
+ if @api_client.config.debugging
39
+ @api_client.config.logger.debug 'Calling API: WarmPoolsApi.create_warm_pool ...'
40
+ end
41
+ # verify the required parameter 'create_warm_pool' is set
42
+ if @api_client.config.client_side_validation && create_warm_pool.nil?
43
+ fail ArgumentError, "Missing the required parameter 'create_warm_pool' when calling WarmPoolsApi.create_warm_pool"
44
+ end
45
+ # resource path
46
+ local_var_path = '/warm-pools'
47
+
48
+ # query parameters
49
+ query_params = opts[:query_params] || {}
50
+
51
+ # header parameters
52
+ header_params = opts[:header_params] || {}
53
+ # HTTP header 'Accept' (if needed)
54
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
55
+ # HTTP header 'Content-Type'
56
+ content_type = @api_client.select_header_content_type(['application/json'])
57
+ if !content_type.nil?
58
+ header_params['Content-Type'] = content_type
59
+ end
60
+ header_params[:'X-Daytona-Organization-ID'] = opts[:'x_daytona_organization_id'] if !opts[:'x_daytona_organization_id'].nil?
61
+
62
+ # form parameters
63
+ form_params = opts[:form_params] || {}
64
+
65
+ # http body (model)
66
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(create_warm_pool)
67
+
68
+ # return_type
69
+ return_type = opts[:debug_return_type] || 'WarmPool'
70
+
71
+ # auth_names
72
+ auth_names = opts[:debug_auth_names] || ['bearer', 'oauth2']
73
+
74
+ new_options = opts.merge(
75
+ :operation => :"WarmPoolsApi.create_warm_pool",
76
+ :header_params => header_params,
77
+ :query_params => query_params,
78
+ :form_params => form_params,
79
+ :body => post_body,
80
+ :auth_names => auth_names,
81
+ :return_type => return_type
82
+ )
83
+
84
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
85
+ if @api_client.config.debugging
86
+ @api_client.config.logger.debug "API called: WarmPoolsApi#create_warm_pool\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
87
+ end
88
+ return data, status_code, headers
89
+ end
90
+
91
+ # Delete a warm pool
92
+ # @param id [String] Warm pool ID
93
+ # @param [Hash] opts the optional parameters
94
+ # @option opts [String] :x_daytona_organization_id Use with JWT to specify the organization ID
95
+ # @return [nil]
96
+ def delete_warm_pool(id, opts = {})
97
+ delete_warm_pool_with_http_info(id, opts)
98
+ nil
99
+ end
100
+
101
+ # Delete a warm pool
102
+ # @param id [String] Warm pool ID
103
+ # @param [Hash] opts the optional parameters
104
+ # @option opts [String] :x_daytona_organization_id Use with JWT to specify the organization ID
105
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
106
+ def delete_warm_pool_with_http_info(id, opts = {})
107
+ if @api_client.config.debugging
108
+ @api_client.config.logger.debug 'Calling API: WarmPoolsApi.delete_warm_pool ...'
109
+ end
110
+ # verify the required parameter 'id' is set
111
+ if @api_client.config.client_side_validation && id.nil?
112
+ fail ArgumentError, "Missing the required parameter 'id' when calling WarmPoolsApi.delete_warm_pool"
113
+ end
114
+ # resource path
115
+ local_var_path = '/warm-pools/{id}'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
116
+
117
+ # query parameters
118
+ query_params = opts[:query_params] || {}
119
+
120
+ # header parameters
121
+ header_params = opts[:header_params] || {}
122
+ header_params[:'X-Daytona-Organization-ID'] = opts[:'x_daytona_organization_id'] if !opts[:'x_daytona_organization_id'].nil?
123
+
124
+ # form parameters
125
+ form_params = opts[:form_params] || {}
126
+
127
+ # http body (model)
128
+ post_body = opts[:debug_body]
129
+
130
+ # return_type
131
+ return_type = opts[:debug_return_type]
132
+
133
+ # auth_names
134
+ auth_names = opts[:debug_auth_names] || ['bearer', 'oauth2']
135
+
136
+ new_options = opts.merge(
137
+ :operation => :"WarmPoolsApi.delete_warm_pool",
138
+ :header_params => header_params,
139
+ :query_params => query_params,
140
+ :form_params => form_params,
141
+ :body => post_body,
142
+ :auth_names => auth_names,
143
+ :return_type => return_type
144
+ )
145
+
146
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
147
+ if @api_client.config.debugging
148
+ @api_client.config.logger.debug "API called: WarmPoolsApi#delete_warm_pool\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
149
+ end
150
+ return data, status_code, headers
151
+ end
152
+
153
+ # List warm pools for the organization
154
+ # @param [Hash] opts the optional parameters
155
+ # @option opts [String] :x_daytona_organization_id Use with JWT to specify the organization ID
156
+ # @return [Array<WarmPool>]
157
+ def list_warm_pools(opts = {})
158
+ data, _status_code, _headers = list_warm_pools_with_http_info(opts)
159
+ data
160
+ end
161
+
162
+ # List warm pools for the organization
163
+ # @param [Hash] opts the optional parameters
164
+ # @option opts [String] :x_daytona_organization_id Use with JWT to specify the organization ID
165
+ # @return [Array<(Array<WarmPool>, Integer, Hash)>] Array<WarmPool> data, response status code and response headers
166
+ def list_warm_pools_with_http_info(opts = {})
167
+ if @api_client.config.debugging
168
+ @api_client.config.logger.debug 'Calling API: WarmPoolsApi.list_warm_pools ...'
169
+ end
170
+ # resource path
171
+ local_var_path = '/warm-pools'
172
+
173
+ # query parameters
174
+ query_params = opts[:query_params] || {}
175
+
176
+ # header parameters
177
+ header_params = opts[:header_params] || {}
178
+ # HTTP header 'Accept' (if needed)
179
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
180
+ header_params[:'X-Daytona-Organization-ID'] = opts[:'x_daytona_organization_id'] if !opts[:'x_daytona_organization_id'].nil?
181
+
182
+ # form parameters
183
+ form_params = opts[:form_params] || {}
184
+
185
+ # http body (model)
186
+ post_body = opts[:debug_body]
187
+
188
+ # return_type
189
+ return_type = opts[:debug_return_type] || 'Array<WarmPool>'
190
+
191
+ # auth_names
192
+ auth_names = opts[:debug_auth_names] || ['bearer', 'oauth2']
193
+
194
+ new_options = opts.merge(
195
+ :operation => :"WarmPoolsApi.list_warm_pools",
196
+ :header_params => header_params,
197
+ :query_params => query_params,
198
+ :form_params => form_params,
199
+ :body => post_body,
200
+ :auth_names => auth_names,
201
+ :return_type => return_type
202
+ )
203
+
204
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
205
+ if @api_client.config.debugging
206
+ @api_client.config.logger.debug "API called: WarmPoolsApi#list_warm_pools\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
207
+ end
208
+ return data, status_code, headers
209
+ end
210
+
211
+ # Update a warm pool size
212
+ # @param id [String] Warm pool ID
213
+ # @param update_warm_pool [UpdateWarmPool]
214
+ # @param [Hash] opts the optional parameters
215
+ # @option opts [String] :x_daytona_organization_id Use with JWT to specify the organization ID
216
+ # @return [WarmPool]
217
+ def update_warm_pool(id, update_warm_pool, opts = {})
218
+ data, _status_code, _headers = update_warm_pool_with_http_info(id, update_warm_pool, opts)
219
+ data
220
+ end
221
+
222
+ # Update a warm pool size
223
+ # @param id [String] Warm pool ID
224
+ # @param update_warm_pool [UpdateWarmPool]
225
+ # @param [Hash] opts the optional parameters
226
+ # @option opts [String] :x_daytona_organization_id Use with JWT to specify the organization ID
227
+ # @return [Array<(WarmPool, Integer, Hash)>] WarmPool data, response status code and response headers
228
+ def update_warm_pool_with_http_info(id, update_warm_pool, opts = {})
229
+ if @api_client.config.debugging
230
+ @api_client.config.logger.debug 'Calling API: WarmPoolsApi.update_warm_pool ...'
231
+ end
232
+ # verify the required parameter 'id' is set
233
+ if @api_client.config.client_side_validation && id.nil?
234
+ fail ArgumentError, "Missing the required parameter 'id' when calling WarmPoolsApi.update_warm_pool"
235
+ end
236
+ # verify the required parameter 'update_warm_pool' is set
237
+ if @api_client.config.client_side_validation && update_warm_pool.nil?
238
+ fail ArgumentError, "Missing the required parameter 'update_warm_pool' when calling WarmPoolsApi.update_warm_pool"
239
+ end
240
+ # resource path
241
+ local_var_path = '/warm-pools/{id}'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
242
+
243
+ # query parameters
244
+ query_params = opts[:query_params] || {}
245
+
246
+ # header parameters
247
+ header_params = opts[:header_params] || {}
248
+ # HTTP header 'Accept' (if needed)
249
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
250
+ # HTTP header 'Content-Type'
251
+ content_type = @api_client.select_header_content_type(['application/json'])
252
+ if !content_type.nil?
253
+ header_params['Content-Type'] = content_type
254
+ end
255
+ header_params[:'X-Daytona-Organization-ID'] = opts[:'x_daytona_organization_id'] if !opts[:'x_daytona_organization_id'].nil?
256
+
257
+ # form parameters
258
+ form_params = opts[:form_params] || {}
259
+
260
+ # http body (model)
261
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(update_warm_pool)
262
+
263
+ # return_type
264
+ return_type = opts[:debug_return_type] || 'WarmPool'
265
+
266
+ # auth_names
267
+ auth_names = opts[:debug_auth_names] || ['bearer', 'oauth2']
268
+
269
+ new_options = opts.merge(
270
+ :operation => :"WarmPoolsApi.update_warm_pool",
271
+ :header_params => header_params,
272
+ :query_params => query_params,
273
+ :form_params => form_params,
274
+ :body => post_body,
275
+ :auth_names => auth_names,
276
+ :return_type => return_type
277
+ )
278
+
279
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
280
+ if @api_client.config.debugging
281
+ @api_client.config.logger.debug "API called: WarmPoolsApi#update_warm_pool\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
282
+ end
283
+ return data, status_code, headers
284
+ end
285
+ end
286
+ end