Vault | Golang SDK | General Endpoints
General Endpoints
Delete
func (v *vault) Delete(ctx context.Context, input *DeleteRequest) (*pangea.PangeaResponse[DeleteResult], error)Delete a secret or key.
input := &vault.DeleteRequest{
ID: pangea.StringValue("pvi_p6g5i3gtbvqvc3u6zugab6qs6r63tqf5"),
}
dr, err := vaultcli.Delete(ctx, input)
Retrieve
func (v *vault) Get(ctx context.Context, input *GetRequest) (*pangea.PangeaResponse[GetResult], error)Retrieve a secret or key, and any associated information.
input := &vault.GetRequest{
ID: pangea.StringValue("pvi_p6g5i3gtbvqvc3u6zugab6qs6r63tqf5"),
Version: pangea.StringValue(1),
Verbose: pangea.Bool(true),
VersionState: &vault.IVSactive,
}
gr, err := vaultcli.Get(ctx, input)
Get Bulk
func (v *vault) GetBulk(ctx context.Context, input *GetBulkRequest) (*pangea.PangeaResponse[GetBulkResult], error)Retrieve a list of secrets, keys and folders.
filter.Folder().Set(pangea.String("/"))
gbr, err := client.GetBulk(
ctx,
&vault.GetBulkRequest{
Filter: filter.Filter(),
Size: 5,
},
)
List
func (v *vault) List(ctx context.Context, input *ListRequest) (*pangea.PangeaResponse[ListResult], error)Retrieve a list of secrets, keys and folders, and their associated information.
input := &vault.ListRequest{
Filter: map[string]string{
"folder": "/",
"type": "asymmetric_key",
"name__contains": "test",
"metadata_key1": "value1",
"created_at__lt": "2023-12-12T00:00:00Z",
},
Last: pangea.StringValue("WyIvdGVzdF8yMDdfc3ltbWV0cmljLyJd"),
Size: pangea.IntValue(20),
Order: vault.IOasc,
OrderBy: vault.IOBname,
}
lr, err := vaultcli.List(ctx, input)
State change
func (v *vault) StateChange(ctx context.Context, input *StateChangeRequest) (*pangea.PangeaResponse[StateChangeResult], error)Change the state of a specific version of a secret or key.
input := &vault.StateChangeRequest{
ID: pangea.StringValue("pvi_p6g5i3gtbvqvc3u6zugab6qs6r63tqf5"),
State: vault.IVSdeactivated,
}
scr, err := vaultcli.StateChange(ctx, input)
Update
func (v *vault) Update(ctx context.Context, input *UpdateRequest) (*pangea.PangeaResponse[UpdateResult], error)Update information associated with a secret or key.
input := &vault.Update Request{
ID: pangea.StringValue("pvi_p6g5i3gtbvqvc3u6zugab6qs6r63tqf5"),
Name: pangea.StringValue("my-very-secret-secret"),
Folder: pangea.StringValue("/personal"),
Metadata: vault.Metadata{
"created_by": pangea.StringValue("John Doe"),
"used_in": pangea.StringValue("Google products"),
},
Tags: vault.Tags{
pangea.StringValue("irs_2023"),
pangea.StringValue("personal"),
},
DisabledAt: pangea.StringValue("2025-01-01T10:00:00Z"),
ItemState: vault.ISdisabled,
}
ur, err := vaultcli.Update(ctx, input)