Files
oikos/vendor/github.com/infisical/go-sdk/dynamic_secrets.go
dtoro febc153b7f
Some checks failed
ci / build-test (push) Has been cancelled
ci / docker-build (push) Has been cancelled
ci / web (push) Has been cancelled
Desktop App / Build Linux (amd64) (push) Has been cancelled
Desktop App / Attach to Release (push) Has been cancelled
fix: add involves edge from task to agent:nomos at creation
Plus sync vendor directory for Docker build compatibility.
2026-08-11 22:03:12 +02:00

116 lines
3.9 KiB
Go

package infisical
import (
api "github.com/infisical/go-sdk/packages/api/dynamic_secrets"
"github.com/infisical/go-sdk/packages/models"
)
type ListDynamicSecretLeasesOptions = api.ListDynamicSecretLeaseV1Request
type CreateDynamicSecretLeaseOptions = api.CreateDynamicSecretLeaseV1Request
type DeleteDynamicSecretLeaseOptions = api.DeleteDynamicSecretLeaseV1Request
type GetDynamicSecretLeaseByIdOptions = api.GetDynamicSecretLeaseByIdV1Request
type RenewDynamicSecretLeaseOptions = api.RenewDynamicSecretLeaseV1Request
type ListDynamicSecretsRootCredentialsOptions = api.ListDynamicSecretsV1Request
type GetDynamicSecretRootCredentialByNameOptions = api.GetDynamicSecretByNameV1Request
type DynamicSecretsInterface interface {
List(options ListDynamicSecretsRootCredentialsOptions) ([]models.DynamicSecret, error)
GetByName(options GetDynamicSecretRootCredentialByNameOptions) (models.DynamicSecret, error)
Leases() DynamicSecretLeaseInterface
}
type DynamicSecretLeaseInterface interface {
List(options ListDynamicSecretLeasesOptions) ([]models.DynamicSecretLease, error)
Create(options CreateDynamicSecretLeaseOptions) (map[string]any, models.DynamicSecret, models.DynamicSecretLease, error)
GetById(options GetDynamicSecretLeaseByIdOptions) (models.DynamicSecretLeaseWithDynamicSecret, error)
DeleteById(options DeleteDynamicSecretLeaseOptions) (models.DynamicSecretLease, error)
RenewById(options RenewDynamicSecretLeaseOptions) (models.DynamicSecretLease, error)
}
type DynamicSecrets struct {
client *InfisicalClient
leases DynamicSecretLeaseInterface
}
func (f *DynamicSecrets) List(options ListDynamicSecretsRootCredentialsOptions) ([]models.DynamicSecret, error) {
res, err := api.CallListDynamicSecretsV1(f.client.httpClient, options)
if err != nil {
return nil, err
}
return res.DynamicSecrets, nil
}
func (f *DynamicSecrets) GetByName(options GetDynamicSecretRootCredentialByNameOptions) (models.DynamicSecret, error) {
res, err := api.CallGetDynamicSecretByNameV1(f.client.httpClient, options)
if err != nil {
return models.DynamicSecret{}, err
}
return res.DynamicSecret, nil
}
func (f *DynamicSecrets) Leases() DynamicSecretLeaseInterface {
return f.leases
}
type DynamicSecretLeases struct {
client *InfisicalClient
}
func (f *DynamicSecretLeases) List(options ListDynamicSecretLeasesOptions) ([]models.DynamicSecretLease, error) {
res, err := api.CallListDynamicSecretLeaseV1(f.client.httpClient, options)
if err != nil {
return nil, err
}
return res.Leases, nil
}
func (f *DynamicSecretLeases) Create(options CreateDynamicSecretLeaseOptions) (map[string]any, models.DynamicSecret, models.DynamicSecretLease, error) {
res, err := api.CallCreateDynamicSecretLeaseV1(f.client.httpClient, options)
if err != nil {
return nil, models.DynamicSecret{}, models.DynamicSecretLease{}, err
}
return res.Data, res.DynamicSecret, res.Lease, nil
}
func (f *DynamicSecretLeases) GetById(options GetDynamicSecretLeaseByIdOptions) (models.DynamicSecretLeaseWithDynamicSecret, error) {
res, err := api.CallGetByDynamicSecretByIdLeaseV1(f.client.httpClient, options)
if err != nil {
return models.DynamicSecretLeaseWithDynamicSecret{}, err
}
return res.Lease, nil
}
func (f *DynamicSecretLeases) DeleteById(options DeleteDynamicSecretLeaseOptions) (models.DynamicSecretLease, error) {
res, err := api.CallDeleteDynamicSecretLeaseV1(f.client.httpClient, options)
if err != nil {
return models.DynamicSecretLease{}, err
}
return res.Lease, nil
}
func (f *DynamicSecretLeases) RenewById(options RenewDynamicSecretLeaseOptions) (models.DynamicSecretLease, error) {
res, err := api.CallRenewDynamicSecretLeaseV1(f.client.httpClient, options)
if err != nil {
return models.DynamicSecretLease{}, err
}
return res.Lease, nil
}
func NewDynamicSecrets(client *InfisicalClient) DynamicSecretsInterface {
return &DynamicSecrets{client: client, leases: &DynamicSecretLeases{client: client}}
}