Skip to main content

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.

context.Context
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.

context.Context
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.

context.Context
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.

context.Context
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.

context.Context
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.

context.Context
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)