SecretService
Section titled “SecretService”Service for managing organization-scoped Daytona Secrets.
Secrets can be created, listed, retrieved, updated, and deleted, and referenced when creating a
Sandbox via the secrets field on the create-sandbox parameters. The plaintext value
is write-only and is never returned by the API; the Sandbox only ever sees the Secret’s opaque
placeholder, and the real value is substituted at the network egress layer for the Secret’s allowed
hosts.
Methods
Section titled “Methods”create()
Section titled “create()”public Secret create(CreateSecretParams params)Creates a new Secret.
Parameters:
paramsCreateSecretParams - creation parameters;namemust match^[a-zA-Z_][a-zA-Z0-9_-]*$and be unique within the organization
Returns:
Secret- createdSecret(without the plaintextvalue)
Throws:
io.daytona.sdk.exception.DaytonaConflictException- if a Secret with the same name already existsio.daytona.sdk.exception.DaytonaException- if creation fails
list()
Section titled “list()”public ListSecretsResponse list()Lists Secrets in the organization one page at a time, using default query parameters.
try (Daytona daytona = new Daytona()) {ListSecretsResponse page = daytona.secret().list();System.out.printf("Fetched %d of %d secrets%n", page.getItems().size(), page.getTotal());for (var secret : page.getItems()) {System.out.println(secret.getName() + " (" + secret.getId() + ")");}}Returns:
ListSecretsResponse- page of Secrets;nextCursorisnullwhen there are no more pages
Throws:
io.daytona.sdk.exception.DaytonaException- if the API request fails
list()
Section titled “list()”public ListSecretsResponse list(ListSecretsQuery query)Lists Secrets in the organization one page at a time. Pass the nextCursor from a
previous response as the query cursor to fetch the next page.
try (Daytona daytona = new Daytona()) {ListSecretsQuery query = new ListSecretsQuery();query.setLimit(50);
while (true) {ListSecretsResponse page = daytona.secret().list(query);System.out.printf("Fetched %d of %d secrets%n", page.getItems().size(), page.getTotal());for (var secret : page.getItems()) {System.out.println(secret.getName() + " (" + secret.getId() + ")");}if (page.getNextCursor() == null) {break;}query.setCursor(page.getNextCursor());}}Parameters:
queryListSecretsQuery - optional filter, sort, and pagination parameters; may benull
Returns:
ListSecretsResponse- page of Secrets;nextCursorisnullwhen there are no more pages
Throws:
io.daytona.sdk.exception.DaytonaException- if the API request fails
public Secret get(String secretId)Retrieves a Secret by ID.
Parameters:
secretIdString - Secret identifier
Returns:
Secret- matchingSecret
Throws:
io.daytona.sdk.exception.DaytonaNotFoundException- if no Secret with the given ID existsio.daytona.sdk.exception.DaytonaException- if the request fails
update()
Section titled “update()”public Secret update(String secretId, UpdateSecretParams params)Updates an existing Secret. Omitted (null) fields are left unchanged.
Parameters:
secretIdString - Secret identifierparamsUpdateSecretParams - fields to update
Returns:
Secret- updatedSecret
Throws:
io.daytona.sdk.exception.DaytonaNotFoundException- if no Secret with the given ID existsio.daytona.sdk.exception.DaytonaException- if the request fails
delete()
Section titled “delete()”public void delete(String secretId)Deletes a Secret by ID.
Parameters:
secretIdString - Secret identifier
Throws:
io.daytona.sdk.exception.DaytonaNotFoundException- if no Secret with the given ID existsio.daytona.sdk.exception.DaytonaException- if deletion fails