Skip to main content

Vault | Golang SDK

Asymmetric generate

func (v *vault) AsymmetricGenerate(ctx context.Context, input *AsymmetricGenerateRequest) (*pangea.PangeaResponse[AsymmetricGenerateResult], error)

Generate an asymmetric key.

required parameters

context.Context
input := &vault.AsymmetricGenerateRequest{
	Algorithm: vault.AArsa2048_pkcs1v15_sha256,
	Purpose:   vault.KPsigning,
	CommonGenerateRequest: vault.CommonGenerateRequest{
		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"),
		},
		RotationFrequency: pangea.StringValue("10d"),
		RotationState:     pangea.StringValue("deactivated"),
		Expiration:        pangea.StringValue("2025-01-01T10:00:00Z"),
	},
}

agr, err := vaultcli.AsymmetricGenerate(ctx, input)

Asymmetric store

func (v *vault) AsymmetricStore(ctx context.Context, input *AsymmetricStoreRequest) (*pangea.PangeaResponse[AsymmetricStoreResult], error)

Import an asymmetric key.

required parameters

context.Context
var PUBLIC_KEY = "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEA8s5JopbEPGBylPBcMK+L5PqHMqPJW/5KYPgBHzZGncc=\n-----END PUBLIC KEY-----"
var PRIVATE_KEY = "private key example"

input := &vault.AsymmetricStoreRequest{
	Algorithm:  vault.AArsa2048_pkcs1v15_sha256,
	PublicKey:  vault.EncodedPublicKey(PUBLIC_KEY),
	PrivateKey: vault.EncodedPrivateKey(PRIVATE_KEY),
	Purpose:    vault.KPsigning,
	CommonStoreRequest: vault.CommonStoreRequest{
		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"),
		},
		RotationFrequency: pangea.StringValue("10d"),
		RotationState:     pangea.StringValue("deactivated"),
		Expiration:        pangea.StringValue("2025-01-01T10:00:00Z"),
	},
}

asr, err := vaultcli.AsymmetricStore(ctx, input)

Decrypt

func (v *vault) Decrypt(ctx context.Context, input *DecryptRequest) (*pangea.PangeaResponse[DecryptResult], error)

Decrypt a message using a key.

required parameters

context.Context
input := &vault.DecryptRequest{
	ID: pangea.StringValue("pvi_p6g5i3gtbvqvc3u6zugab6qs6r63tqf5"),
	CipherText: pangea.StringValue("lJkk0gCLux+Q+rPNqLPEYw=="),
	Version: pangea.Int(1),
}

dr, err := vaultcli.Decrypt(ctx, input)

Decrypt structured

func (v *vault) DecryptStructured(ctx context.Context, input *EncryptStructuredRequest) (*pangea.PangeaResponse[EncryptStructuredResult], error)

Decrypt parts of a JSON object.

required parameters

context.Context
data := map[string]interface{}{
	"field1": [4]interface{}{1, 2, "kxcbC9E9IlgVaSCChPWUMgUC3ko=", "6FfI/LCzatLRLNAc8SuBK/TDnGxp"},
	"field2": "true",
}

decryptedResponse, err := client.DecryptStructured(
	ctx,
	&vault.EncryptStructuredRequest{
		ID:             "pvi_[...]",
		StructuredData: data,
		Filter:         "$.field1[2:4]",
	},
)

Delete

func (v *vault) Delete(ctx context.Context, input *DeleteRequest) (*pangea.PangeaResponse[DeleteResult], error)

Delete a secret or key.

required parameters

context.Context
input := &vault.DeleteRequest{
	ID: pangea.StringValue("pvi_p6g5i3gtbvqvc3u6zugab6qs6r63tqf5"),
}

dr, err := vaultcli.Delete(ctx, input)

Encrypt

func (v *vault) Encrypt(ctx context.Context, input *EncryptRequest) (*pangea.PangeaResponse[EncryptResult], error)

Encrypt a message using a key.

required parameters

context.Context
msg := "message to encrypt..."
data := base64.StdEncoding.EncodeToString([]byte(msg))

input := &vault.EncryptRequest{
	ID: pangea.StringValue("pvi_p6g5i3gtbvqvc3u6zugab6qs6r63tqf5"),
	PlainText: data,
	Version: pangea.Int(1),
}

enc, err := vaultcli.Encrypt(ctx, input)

Encrypt structured

func (v *vault) EncryptStructured(ctx context.Context, input *EncryptStructuredRequest) (*pangea.PangeaResponse[EncryptStructuredResult], error)

Encrypt parts of a JSON object.

required parameters

context.Context
data := map[string]interface{}{
	"field1": [4]interface{}{1, 2, "true", "false"},
	"field2": "true",
}

encryptedResponse, err := client.EncryptStructured(
	ctx,
	&vault.EncryptStructuredRequest{
		ID:             "pvi_[...]",
		StructuredData: data,
		Filter:         "$.field1[2:4]",
	},
)

Create

func (v *vault) FolderCreate(ctx context.Context, input *FolderCreateRequest) (*pangea.PangeaResponse[FolderCreateResult], error)

Creates a folder.

required parameters

context.Context
input := &vault.FolderCreateRequest{
 	Name:   "folder_name",
 	Folder: "parent/folder/name",
}

enc, err := vaultcli.FolderCreate(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.

required parameters

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)

JWT Retrieve

func (v *vault) JWKGet(ctx context.Context, input *JWKGetRequest) (*pangea.PangeaResponse[JWKGetResult], error)

Retrieve a key in JWK format.

required parameters

context.Context
input := &vault.JWKGetRequest{
	ID: pangea.StringValue("pvi_p6g5i3gtbvqvc3u6zugab6qs6r63tqf5"),
}

jr, err := vaultcli.JWKGet(ctx, input)

JWT Sign

func (v *vault) JWTSign(ctx context.Context, input *JWTSignRequest) (*pangea.PangeaResponse[JWTSignResult], error)

Sign a JSON Web Token (JWT) using a key.

required parameters

context.Context
input := &vault.JWTSignRequest{
	ID:      pangea.StringValue("pvi_p6g5i3gtbvqvc3u6zugab6qs6r63tqf5"),
	Payload: pangea.StringValue("{\"sub\": \"1234567890\",\"name\": \"John Doe\",\"admin\": true}"),
}

jr, err := vaultcli.JWTSign(ctx, input)

JWT Verify

func (v *vault) JWTVerify(ctx context.Context, input *JWTVerifyRequest) (*pangea.PangeaResponse[JWTVerifyResult], error)

Verify the signature of a JSON Web Token (JWT).

required parameters

context.Context
input := &vault.JWTVerifyRequest{
	JWS: pangea.StringValue("ewogICJhbGciO..."),
}

jr, err := vaultcli.JWTVerify(ctx, input)

Key rotate

func (v *vault) KeyRotate(ctx context.Context, input *KeyRotateRequest) (*pangea.PangeaResponse[KeyRotateResult], error)

Manually rotate a symmetric or asymmetric key.

required parameters

context.Context
var SYMMETRIC_KEY = "lJkk0gCLux+Q+rPNqLPEYw=="

input := &vault.KeyRotateRequest{
	CommonRotateRequest: vault.CommonRotateRequest{
		ID:            pangea.StringValue("pvi_p6g5i3gtbvqvc3u6zugab6qs6r63tqf5"),
		RotationState: vault.IVSdeactivated,
	},
	Key: &vault.EncodedSymmetricKey(SYMMETRIC_KEY),
}

krr, err := vaultcli.KeyRotate(ctx, input)

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.

required parameters

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)

Token rotate

func (v *vault) PangeaTokenRotate(ctx context.Context, input *PangeaTokenRotateRequest) (*pangea.PangeaResponse[SecretRotateResult], error)

Rotate a Pangea token.

required parameters

context.Context
input := &vault.PangeaTokenRotateRequest{
	RotationGracePeriod: pangea.StringValue("1d"),
	CommonRotateRequest: vault.CommonRotateRequest{
		ID: pangea.StringValue("pvi_p6g5i3gtbvqvc3u6zugab6qs6r63tqf5"),
	},
}

trp, err := vaultcli.PangeaTokenRotate(ctx, input)

Pangea token store

func (v *vault) PangeaTokenStore(ctx context.Context, input *PangeaTokenStoreRequest) (*pangea.PangeaResponse[SecretStoreResult], error)

Import a secret

required parameters

context.Context
input := &vault.PangeaTokenStoreRequest{
	Token: pangea.StringValue("ptv_x6fdiizbon6j3bsdvnpmwxsz2aan7fqd"),
	CommonStoreRequest: vault.CommonStoreRequest{
		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"),
		},
		RotationFrequency: pangea.StringValue("10d"),
		RotationState:     pangea.StringValue("deactivated"),
		Expiration:        pangea.StringValue("2025-01-01T10:00:00Z"),
	},
}

tsr, err := vaultcli.PangeaTokenStore(ctx, input)

Secret rotate

func (v *vault) SecretRotate(ctx context.Context, input *SecretRotateRequest) (*pangea.PangeaResponse[SecretRotateResult], error)

Rotate a secret.

required parameters

context.Context
input := &vault.SecretRotateRequest{
	Secret: pangea.StringValue("12sdfgs4543qv@#%$casd"),
	CommonRotateRequest: vault.CommonRotateRequest{
		ID:           pangea.StringValue("pvi_p6g5i3gtbvqvc3u6zugab6qs6r63tqf5"),
		RotationState vault.IVSdeactivated,
	},
}

srr, err := vaultcli.SecretRotate(ctx, input)

Secret store

func (v *vault) SecretStore(ctx context.Context, input *SecretStoreRequest) (*pangea.PangeaResponse[SecretStoreResult], error)

Import a secret

required parameters

context.Context
input := &vault.SecretStoreRequest{
	Secret: pangea.StringValue("12sdfgs4543qv@#%$casd"),
	CommonStoreRequest: vault.CommonStoreRequest{
		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"),
		},
		RotationFrequency: pangea.StringValue("10d"),
		RotationState:     pangea.StringValue("deactivated"),
		Expiration:        pangea.StringValue("2025-01-01T10:00:00Z"),
	},
}

ssr, err := vaultcli.SecretStore(ctx, input)

Sign

func (v *vault) Sign(ctx context.Context, input *SignRequest) (*pangea.PangeaResponse[SignResult], error)

Sign a message using a key.

required parameters

context.Context
msg := "message to sign..."
data := base64.StdEncoding.EncodeToString([]byte(msg))

input := &vault.SignRequest{
	ID: pangea.StringValue("pvi_p6g5i3gtbvqvc3u6zugab6qs6r63tqf5"),
	Message: data,
	Version: pangea.Int(1),
}

sr, err := vaultcli.Sign(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.

required parameters

context.Context
input := &vault.StateChangeRequest{
	ID:    pangea.StringValue("pvi_p6g5i3gtbvqvc3u6zugab6qs6r63tqf5"),
	State: vault.IVSdeactivated,
}

scr, err := vaultcli.StateChange(ctx, input)

Symmetric generate

func (v *vault) SymmetricGenerate(ctx context.Context, input *SymmetricGenerateRequest) (*pangea.PangeaResponse[SymmetricGenerateResult], error)

Generate a symmetric key.

required parameters

context.Context
input := &vault.SymmetricGenerateRequest{
	Algorithm: vault.SYAaes128_cfb,
	Purpose:   vault.KPencryption,
	CommonGenerateRequest: vault.CommonGenerateRequest{
		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"),
		},
		RotationFrequency: pangea.StringValue("10d"),
		RotationState:     pangea.StringValue("deactivated"),
		Expiration:        pangea.StringValue("2025-01-01T10:00:00Z"),
	},
}

sgr, err := vaultcli.SymmetricGenerate(ctx, input)

Symmetric store

func (v *vault) SymmetricStore(ctx context.Context, input *SymmetricStoreRequest) (*pangea.PangeaResponse[SymmetricStoreResult], error)

Import a symmetric key.

required parameters

context.Context
input := &vault.SymmetricStoreRequest{
	Key: vault.EncodedSymmetricKey("lJkk0gCLux+Q+rPNqLPEYw=="),
	Algorithm: vault.SYAaes128_cfb,
	Purpose: vault.KPencryption,
	CommonStoreRequest: vault.CommonStoreRequest{
		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"),
		},
		RotationFrequency: pangea.StringValue("10d"),
		RotationState:     pangea.StringValue("deactivated"),
		Expiration:        pangea.StringValue("2025-01-01T10:00:00Z"),
	},
}

ssr, err := vaultcli.SymmetricStore(ctx, input)

Update

func (v *vault) Update(ctx context.Context, input *UpdateRequest) (*pangea.PangeaResponse[UpdateResult], error)

Update information associated with a secret or key.

required parameters

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"),
	},
	RotationFrequency:   pangea.StringValue("10d"),
	RotationState:       pangea.StringValue("deactivated"),
	RotationGracePeriod: pangea.StringValue("1d"),
	Expiration:          pangea.StringValue("2025-01-01T10:00:00Z"),
	ItemState:           vault.ISdisabled,
}

ur, err := vaultcli.Update(ctx, input)

Verify

func (v *vault) Verify(ctx context.Context, input *VerifyRequest) (*pangea.PangeaResponse[VerifyResult], error)

Verify a signature using a key.

required parameters

context.Context
input := &vault.VerifyRequest{
	ID:        pangea.StringValue("pvi_p6g5i3gtbvqvc3u6zugab6qs6r63tqf5"),
	Version:   pangea.Int(1),
	Message:   pangea.StringValue("lJkk0gCLux+Q+rPNqLPEYw=="),
	Signature: pangea.StringValue("FfWuT2Mq/+cxa7wIugfhzi7ktZxVf926idJNgBDCysF/knY9B7M6wxqHMMPDEBs86D8OsEGuED21y3J7IGOpCQ=="),
}

vr, err := vaultcli.Verify(ctx, input)

Type AsymmetricAlgorithm

type AsymmetricAlgorithm string
type AsymmetricAlgorithm string

Type AsymmetricGenerateRequest

type AsymmetricGenerateRequest struct

required parameters

AsymmetricAlgorithm `json:"algorithm,omitempty"`
type AsymmetricGenerateRequest struct {
	CommonGenerateRequest
	Algorithm	AsymmetricAlgorithm	`json:"algorithm,omitempty"`
	Purpose		KeyPurpose		`json:"purpose,omitempty"`
}

Type AsymmetricGenerateResult

type AsymmetricGenerateResult struct

required parameters

EncodedPublicKey `json:"public_key"`
string `json:"algorithm"`
string `json:"purpose"`
type AsymmetricGenerateResult struct {
	CommonGenerateResult
	PublicKey	EncodedPublicKey	`json:"public_key"`
	Algorithm	string			`json:"algorithm"`
	Purpose		string			`json:"purpose"`
}

Type AsymmetricStoreRequest

type AsymmetricStoreRequest struct

required parameters

AsymmetricAlgorithm `json:"algorithm"`
type AsymmetricStoreRequest struct {
	CommonStoreRequest
	Algorithm	AsymmetricAlgorithm	`json:"algorithm"`
	PublicKey	EncodedPublicKey	`json:"public_key"`
	PrivateKey	EncodedPrivateKey	`json:"private_key"`
	Purpose		KeyPurpose		`json:"purpose,omitempty"`
}

Type AsymmetricStoreResult

type AsymmetricStoreResult struct

required parameters

EncodedPublicKey `json:"public_key"`
string `json:"algorithm"`
string `json:"purpose"`
type AsymmetricStoreResult struct {
	CommonStoreResult
	PublicKey	EncodedPublicKey	`json:"public_key"`
	Algorithm	string			`json:"algorithm"`
	Purpose		string			`json:"purpose"`
}

Type Client

type Client interface

required parameters

func(ctx context.Context, req *StateChangeRequest) (*pangea.PangeaResponse[StateChangeResult], error)
context.Context
func(ctx context.Context, req *DeleteRequest) (*pangea.PangeaResponse[DeleteResult], error)
context.Context
func(ctx context.Context, req *GetRequest) (*pangea.PangeaResponse[GetResult], error)
context.Context
func(ctx context.Context, req *JWKGetRequest) (*pangea.PangeaResponse[JWKGetResult], error)
context.Context
func(ctx context.Context, req *ListRequest) (*pangea.PangeaResponse[ListResult], error)
context.Context
func(ctx context.Context, req *UpdateRequest) (*pangea.PangeaResponse[UpdateResult], error)
context.Context
func(ctx context.Context, req *SecretStoreRequest) (*pangea.PangeaResponse[SecretStoreResult], error)
context.Context
func(ctx context.Context, req *PangeaTokenStoreRequest) (*pangea.PangeaResponse[SecretStoreResult], error)
context.Context
func(ctx context.Context, req *SecretRotateRequest) (*pangea.PangeaResponse[SecretRotateResult], error)
context.Context
func(ctx context.Context, req *PangeaTokenRotateRequest) (*pangea.PangeaResponse[SecretRotateResult], error)
context.Context
func(ctx context.Context, req *SymmetricGenerateRequest) (*pangea.PangeaResponse[SymmetricGenerateResult], error)
context.Context
func(ctx context.Context, req *AsymmetricGenerateRequest) (*pangea.PangeaResponse[AsymmetricGenerateResult], error)
context.Context
func(ctx context.Context, req *SymmetricStoreRequest) (*pangea.PangeaResponse[SymmetricStoreResult], error)
context.Context
func(ctx context.Context, req *AsymmetricStoreRequest) (*pangea.PangeaResponse[AsymmetricStoreResult], error)
context.Context
func(ctx context.Context, req *KeyRotateRequest) (*pangea.PangeaResponse[KeyRotateResult], error)
context.Context
func(ctx context.Context, req *EncryptRequest) (*pangea.PangeaResponse[EncryptResult], error)
context.Context
func(ctx context.Context, req *DecryptRequest) (*pangea.PangeaResponse[DecryptResult], error)
context.Context
func(ctx context.Context, req *SignRequest) (*pangea.PangeaResponse[SignResult], error)
context.Context
func(ctx context.Context, req *VerifyRequest) (*pangea.PangeaResponse[VerifyResult], error)
context.Context
func(ctx context.Context, req *JWTSignRequest) (*pangea.PangeaResponse[JWTSignResult], error)
context.Context
func(ctx context.Context, req *JWTVerifyRequest) (*pangea.PangeaResponse[JWTVerifyResult], error)
context.Context
func(ctx context.Context, req *FolderCreateRequest) (*pangea.PangeaResponse[FolderCreateResult], error)
context.Context
func(ctx context.Context, input *EncryptStructuredRequest) (*pangea.PangeaResponse[EncryptStructuredResult], error)

Encrypt parts of a JSON object.

context.Context
func(ctx context.Context, input *EncryptStructuredRequest) (*pangea.PangeaResponse[EncryptStructuredResult], error)

Decrypt parts of a JSON object.

context.Context
pangea.BaseServicer

Base service methods

type Client interface {
	StateChange(ctx context.Context, req *StateChangeRequest) (*pangea.PangeaResponse[StateChangeResult], error)
	Delete(ctx context.Context, req *DeleteRequest) (*pangea.PangeaResponse[DeleteResult], error)
	Get(ctx context.Context, req *GetRequest) (*pangea.PangeaResponse[GetResult], error)
	JWKGet(ctx context.Context, req *JWKGetRequest) (*pangea.PangeaResponse[JWKGetResult], error)
	List(ctx context.Context, req *ListRequest) (*pangea.PangeaResponse[ListResult], error)
	Update(ctx context.Context, req *UpdateRequest) (*pangea.PangeaResponse[UpdateResult], error)
	SecretStore(ctx context.Context, req *SecretStoreRequest) (*pangea.PangeaResponse[SecretStoreResult], error)
	PangeaTokenStore(ctx context.Context, req *PangeaTokenStoreRequest) (*pangea.PangeaResponse[SecretStoreResult], error)
	SecretRotate(ctx context.Context, req *SecretRotateRequest) (*pangea.PangeaResponse[SecretRotateResult], error)
	PangeaTokenRotate(ctx context.Context, req *PangeaTokenRotateRequest) (*pangea.PangeaResponse[SecretRotateResult], error)
	SymmetricGenerate(ctx context.Context, req *SymmetricGenerateRequest) (*pangea.PangeaResponse[SymmetricGenerateResult], error)
	AsymmetricGenerate(ctx context.Context, req *AsymmetricGenerateRequest) (*pangea.PangeaResponse[AsymmetricGenerateResult], error)
	SymmetricStore(ctx context.Context, req *SymmetricStoreRequest) (*pangea.PangeaResponse[SymmetricStoreResult], error)
	AsymmetricStore(ctx context.Context, req *AsymmetricStoreRequest) (*pangea.PangeaResponse[AsymmetricStoreResult], error)
	KeyRotate(ctx context.Context, req *KeyRotateRequest) (*pangea.PangeaResponse[KeyRotateResult], error)
	Encrypt(ctx context.Context, req *EncryptRequest) (*pangea.PangeaResponse[EncryptResult], error)
	Decrypt(ctx context.Context, req *DecryptRequest) (*pangea.PangeaResponse[DecryptResult], error)
	Sign(ctx context.Context, req *SignRequest) (*pangea.PangeaResponse[SignResult], error)
	Verify(ctx context.Context, req *VerifyRequest) (*pangea.PangeaResponse[VerifyResult], error)
	JWTSign(ctx context.Context, req *JWTSignRequest) (*pangea.PangeaResponse[JWTSignResult], error)
	JWTVerify(ctx context.Context, req *JWTVerifyRequest) (*pangea.PangeaResponse[JWTVerifyResult], error)
	FolderCreate(ctx context.Context, req *FolderCreateRequest) (*pangea.PangeaResponse[FolderCreateResult], error)

	// Encrypt parts of a JSON object.
	EncryptStructured(ctx context.Context, input *EncryptStructuredRequest) (*pangea.PangeaResponse[EncryptStructuredResult], error)

	// Decrypt parts of a JSON object.
	DecryptStructured(ctx context.Context, input *EncryptStructuredRequest) (*pangea.PangeaResponse[EncryptStructuredResult], error)

	// Base service methods
	pangea.BaseServicer
}

Type CommonGenerateRequest

type CommonGenerateRequest struct

required parameters

pangea.BaseRequest

Base request has ConfigID for multi-config projects

string `json:"name,omitempty"`
string `json:"folder,omitempty"`
string `json:"rotation_frequency,omitempty"`
string `json:"expiration,omitempty"`
type CommonGenerateRequest struct {
	// Base request has ConfigID for multi-config projects
	pangea.BaseRequest

	Type			ItemType		`json:"type"`
	Name			string			`json:"name,omitempty"`
	Folder			string			`json:"folder,omitempty"`
	Metadata		Metadata		`json:"metadata,omitempty"`
	Tags			Tags			`json:"tags,omitempty"`
	RotationFrequency	string			`json:"rotation_frequency,omitempty"`
	RotationState		ItemVersionState	`json:"rotation_state,omitempty"`
	Expiration		string			`json:"expiration,omitempty"`
}

Type CommonGenerateResult

type CommonGenerateResult struct

required parameters

string `json:"id"`
string `json:"type"`
int `json:"version"`
type CommonGenerateResult struct {
	ID	string	`json:"id"`
	Type	string	`json:"type"`
	Version	int	`json:"version"`
}

Type CommonRotateRequest

type CommonRotateRequest struct

required parameters

pangea.BaseRequest

Base request has ConfigID for multi-config projects

string `json:"id"`
type CommonRotateRequest struct {
	// Base request has ConfigID for multi-config projects
	pangea.BaseRequest

	ID		string			`json:"id"`
	RotationState	ItemVersionState	`json:"rotation_state,omitempty"`
}

Type CommonRotateResult

type CommonRotateResult struct

required parameters

string `json:"id"`
int `json:"version"`
string `json:"type"`
type CommonRotateResult struct {
	ID	string	`json:"id"`
	Version	int	`json:"version"`
	Type	string	`json:"type"`
}

Type CommonStoreRequest

type CommonStoreRequest struct

required parameters

pangea.BaseRequest

Base request has ConfigID for multi-config projects

string `json:"name,omitempty"`
string `json:"folder,omitempty"`
string `json:"rotation_frequency,omitempty"`
string `json:"expiration,omitempty"`
type CommonStoreRequest struct {
	// Base request has ConfigID for multi-config projects
	pangea.BaseRequest

	Type			ItemType		`json:"type"`
	Name			string			`json:"name,omitempty"`
	Folder			string			`json:"folder,omitempty"`
	Metadata		Metadata		`json:"metadata,omitempty"`
	Tags			Tags			`json:"tags,omitempty"`
	RotationFrequency	string			`json:"rotation_frequency,omitempty"`
	RotationState		ItemVersionState	`json:"rotation_state,omitempty"`
	Expiration		string			`json:"expiration,omitempty"`
}

Type CommonStoreResult

type CommonStoreResult struct

required parameters

string `json:"id"`
string `json:"type"`
int `json:"version"`
type CommonStoreResult struct {
	ID	string	`json:"id"`
	Type	string	`json:"type"`
	Version	int	`json:"version"`
}

Type DecryptRequest

type DecryptRequest struct

required parameters

pangea.BaseRequest

Base request has ConfigID for multi-config projects

string `json:"id"`
string `json:"cipher_text"`
*int `json:"version,omitempty"`
*string `json:"additional_data,omitempty"`
type DecryptRequest struct {
	// Base request has ConfigID for multi-config projects
	pangea.BaseRequest

	ID		string	`json:"id"`
	CipherText	string	`json:"cipher_text"`
	Version		*int	`json:"version,omitempty"`
	AdditionalData	*string	`json:"additional_data,omitempty"`
}

Type DecryptResult

type DecryptResult struct

required parameters

string `json:"id"`
int `json:"version"`
string `json:"algorithm"`
string `json:"plain_text"`
type DecryptResult struct {
	ID		string	`json:"id"`
	Version		int	`json:"version"`
	Algorithm	string	`json:"algorithm"`
	PlainText	string	`json:"plain_text"`
}

Type DeleteRequest

type DeleteRequest struct

required parameters

pangea.BaseRequest

Base request has ConfigID for multi-config projects

string `json:"id"`
type DeleteRequest struct {
	// Base request has ConfigID for multi-config projects
	pangea.BaseRequest

	ID	string	`json:"id"`
}

Type DeleteResult

type DeleteResult struct

required parameters

string `json:"id"`
type DeleteResult struct {
	ID string `json:"id"`
}

Type EncodedPrivateKey

type EncodedPrivateKey string

EncodedPrivateKey is a PEM private key, with no further encoding (i.e. no base64). It may be used for example in openssh with no further processing

type EncodedPrivateKey string

Type EncodedPublicKey

type EncodedPublicKey string

EncodedPublicKey is a PEM public key, with no further encoding (i.e. no base64) It may be used for example in openssh with no further processing

type EncodedPublicKey string

Type EncodedSymmetricKey

type EncodedSymmetricKey string

EncodedSymmetricKey is a base64 encoded key

type EncodedSymmetricKey string

Type EncryptRequest

type EncryptRequest struct

required parameters

pangea.BaseRequest

Base request has ConfigID for multi-config projects

string `json:"id"`
string `json:"plain_text"`
*int `json:"version,omitempty"`
*string `json:"additional_data,omitempty"`
type EncryptRequest struct {
	// Base request has ConfigID for multi-config projects
	pangea.BaseRequest

	ID		string	`json:"id"`
	PlainText	string	`json:"plain_text"`
	Version		*int	`json:"version,omitempty"`
	AdditionalData	*string	`json:"additional_data,omitempty"`
}

Type EncryptResult

type EncryptResult struct

required parameters

string `json:"id"`
int `json:"version"`
string `json:"algorithm"`
string `json:"cipher_text"`
type EncryptResult struct {
	ID		string	`json:"id"`
	Version		int	`json:"version"`
	Algorithm	string	`json:"algorithm"`
	CipherText	string	`json:"cipher_text"`
}

Type EncryptStructuredRequest

type EncryptStructuredRequest struct

Parameters for an encrypt/decrypt structured request.

required parameters

string `json:"id"`

The ID of the key to use. It must be an item of type symmetric_key or asymmetric_key and purpose encryption.

map[string]interface{} `json:"structured_data"`

Structured data for applying bulk operations.

string `json:"filter"`

A filter expression. It must point to string elements of the StructuredData field.

*int `json:"version,omitempty"`

The item version. Defaults to the current version.

*string `json:"additional_data,omitempty"`

User provided authentication data.

type EncryptStructuredRequest struct {
	pangea.BaseRequest

	// The ID of the key to use. It must be an item of type `symmetric_key` or
	// `asymmetric_key` and purpose `encryption`.
	ID	string	`json:"id"`

	// Structured data for applying bulk operations.
	StructuredData	map[string]interface{}	`json:"structured_data"`

	// A filter expression. It must point to string elements of the
	// `StructuredData` field.
	Filter	string	`json:"filter"`

	// The item version. Defaults to the current version.
	Version	*int	`json:"version,omitempty"`

	// User provided authentication data.
	AdditionalData	*string	`json:"additional_data,omitempty"`
}

Type EncryptStructuredResult

type EncryptStructuredResult struct

Result of an encrypt/decrypt structured request.

required parameters

string `json:"id"`

The ID of the item.

int `json:"version"`

The item version.

string `json:"algorithm"`

The algorithm of the key.

map[string]interface{} `json:"structured_data"`

Structured data with filtered fields encrypted/decrypted.

type EncryptStructuredResult struct {
	// The ID of the item.
	ID	string	`json:"id"`

	//  The item version.
	Version	int	`json:"version"`

	// The algorithm of the key.
	Algorithm	string	`json:"algorithm"`

	// Structured data with filtered fields encrypted/decrypted.
	StructuredData	map[string]interface{}	`json:"structured_data"`
}

Type FolderCreateRequest

type FolderCreateRequest struct

required parameters

string `json:"name"`
string `json:"folder"`
string `json:"rotation_frequency,omitempty"`
string `json:"rotation_grace_period,omitempty"`
type FolderCreateRequest struct {
	pangea.BaseRequest

	Name			string			`json:"name"`
	Folder			string			`json:"folder"`
	Metadata		Metadata		`json:"metadata,omitempty"`
	Tags			Tags			`json:"tags,omitempty"`
	RotationFrequency	string			`json:"rotation_frequency,omitempty"`
	RotationState		ItemVersionState	`json:"rotation_state,omitempty"`
	RotationGracePeriod	string			`json:"rotation_grace_period,omitempty"`
}

Type FolderCreateResult

type FolderCreateResult struct

required parameters

string `json:"id"`
type FolderCreateResult struct {
	ID string `json:"id"`
}

Type GetRequest

type GetRequest struct

required parameters

pangea.BaseRequest

Base request has ConfigID for multi-config projects

string `json:"id"`
string `json:"version,omitempty"`
*bool `json:"verbose,omitempty"`
type GetRequest struct {
	// Base request has ConfigID for multi-config projects
	pangea.BaseRequest

	ID		string			`json:"id"`
	Version		string			`json:"version,omitempty"`
	Verbose		*bool			`json:"verbose,omitempty"`
	VersionState	*ItemVersionState	`json:"version_state,omitempty"`
}

Type GetResult

type GetResult struct

required parameters

[]ItemVersionData `json:"versions"`
string `json:"rotation_grace_period,omitempty"`
type GetResult struct {
	ItemData
	Versions		[]ItemVersionData	`json:"versions"`
	RotationGracePeriod	string			`json:"rotation_grace_period,omitempty"`
	InheritedSettings	*InheritedSettings	`json:"inherited_settings,omitempty"`
}

Type InheritedSettings

type InheritedSettings struct

required parameters

string `json:"rotation_frequency,omitempty"`
string `json:"rotation_state,omitempty"`
string `json:"rotation_grace_period,omitempty"`
type InheritedSettings struct {
	RotationFrequency	string	`json:"rotation_frequency,omitempty"`
	RotationState		string	`json:"rotation_state,omitempty"`
	RotationGracePeriod	string	`json:"rotation_grace_period,omitempty"`
}

Type ItemData

type ItemData struct

required parameters

string `json:"id"`
string `json:"type"`
string `json:"item_state"`
string `json:"name,omitempty"`
string `json:"folder,omitempty"`
string `json:"rotation_frequency,omitempty"`
string `json:"rotation_state,omitempty"`
string `json:"last_rotated,omitempty"`
string `json:"next_rotation,omitempty"`
string `json:"expiration,omitempty"`
string `json:"created_at"`
string `json:"algorithm,omitempty"`
string `json:"purpose,omitempty"`
type ItemData struct {
	ID			string		`json:"id"`
	Type			string		`json:"type"`
	ItemState		string		`json:"item_state"`
	CurrentVersion		ItemVersionData	`json:"current_version"`
	Name			string		`json:"name,omitempty"`
	Folder			string		`json:"folder,omitempty"`
	Metadata		Metadata	`json:"metadata,omitempty"`
	Tags			Tags		`json:"tags,omitempty"`
	RotationFrequency	string		`json:"rotation_frequency,omitempty"`
	RotationState		string		`json:"rotation_state,omitempty"`
	LastRotated		string		`json:"last_rotated,omitempty"`
	NextRotation		string		`json:"next_rotation,omitempty"`
	Expiration		string		`json:"expiration,omitempty"`
	CreatedAt		string		`json:"created_at"`
	Algorithm		string		`json:"algorithm,omitempty"`
	Purpose			string		`json:"purpose,omitempty"`
}

Type ItemOrder

type ItemOrder string
type ItemOrder string

Type ItemOrderBy

type ItemOrderBy string
type ItemOrderBy string

Type ItemState

type ItemState string
type ItemState string

Type ItemType

type ItemType string
type ItemType string

Type ItemVersionData

type ItemVersionData struct

required parameters

int `json:"version"`
string `json:"state"`
string `json:"created_at"`
*string `json:"destroy_at,omitempty"`
*string `json:"secret,omitempty"`
type ItemVersionData struct {
	Version		int			`json:"version"`
	State		string			`json:"state"`
	CreatedAt	string			`json:"created_at"`
	DestroyAt	*string			`json:"destroy_at,omitempty"`
	PublicKey	*EncodedPublicKey	`json:"public_key,omitempty"`
	Secret		*string			`json:"secret,omitempty"`
}

Type ItemVersionState

type ItemVersionState string
type ItemVersionState string

Type JWKGetRequest

type JWKGetRequest struct

required parameters

pangea.BaseRequest

Base request has ConfigID for multi-config projects

string `json:"id"`
*string `json:"version,omitempty"`
type JWKGetRequest struct {
	// Base request has ConfigID for multi-config projects
	pangea.BaseRequest

	ID	string	`json:"id"`
	Version	*string	`json:"version,omitempty"`
}

Type JWKGetResult

type JWKGetResult struct

required parameters

[]JWT `json:"keys"`
type JWKGetResult struct {
	Keys []JWT `json:"keys"`
}

Type JWT

type JWT struct

required parameters

string `json:"alg"`
*string `json:"kid,omitempty"`
string `json:"kty"`
*string `json:"use,omitempty"`
*string `json:"crv,omitempty"`
*string `json:"d,omitempty"`
*string `json:"x,omitempty"`
*string `json:"y,omitempty"`
*string `json:"n,omitempty"`
*string `json:"e,omitempty"`
type JWT struct {
	Alg	string	`json:"alg"`
	Kid	*string	`json:"kid,omitempty"`
	Kty	string	`json:"kty"`
	Use	*string	`json:"use,omitempty"`
	Crv	*string	`json:"crv,omitempty"`
	D	*string	`json:"d,omitempty"`
	X	*string	`json:"x,omitempty"`
	Y	*string	`json:"y,omitempty"`
	N	*string	`json:"n,omitempty"`
	E	*string	`json:"e,omitempty"`
}

Type JWTSignRequest

type JWTSignRequest struct

required parameters

pangea.BaseRequest

Base request has ConfigID for multi-config projects

string `json:"id"`
string `json:"payload"`
type JWTSignRequest struct {
	// Base request has ConfigID for multi-config projects
	pangea.BaseRequest

	ID	string	`json:"id"`
	Payload	string	`json:"payload"`
}

Type JWTSignResult

type JWTSignResult struct

required parameters

string `json:"jws"`
type JWTSignResult struct {
	JWS string `json:"jws"`
}

Type JWTVerifyRequest

type JWTVerifyRequest struct

required parameters

pangea.BaseRequest

Base request has ConfigID for multi-config projects

string `json:"jws"`
type JWTVerifyRequest struct {
	// Base request has ConfigID for multi-config projects
	pangea.BaseRequest

	JWS	string	`json:"jws"`
}

Type JWTVerifyResult

type JWTVerifyResult struct

required parameters

bool `json:"valid_signature"`
type JWTVerifyResult struct {
	ValidSignature bool `json:"valid_signature"`
}

Type KeyPurpose

type KeyPurpose string
type KeyPurpose string

Type KeyRotateRequest

type KeyRotateRequest struct

required parameters

*EncodedPublicKey `json:"public_key,omitempty"`
type KeyRotateRequest struct {
	CommonRotateRequest
	PublicKey	*EncodedPublicKey	`json:"public_key,omitempty"`
	PrivateKey	*EncodedPrivateKey	`json:"private_key,omitempty"`
	Key		*EncodedSymmetricKey	`json:"key,omitempty"`
}

Type KeyRotateResult

type KeyRotateResult struct

required parameters

*EncodedPublicKey `json:"public_key,omitempty"`
string `json:"algorithm"`
string `json:"purpose"`
type KeyRotateResult struct {
	CommonRotateResult
	PublicKey	*EncodedPublicKey	`json:"public_key,omitempty"`
	Algorithm	string			`json:"algorithm"`
	Purpose		string			`json:"purpose"`
}

Type ListItemData

type ListItemData struct

required parameters

[]ItemVersionData `json:"compromised_versions"`
type ListItemData struct {
	ItemData
	CompromisedVersions	[]ItemVersionData	`json:"compromised_versions"`
}

Type ListRequest

type ListRequest struct

required parameters

pangea.BaseRequest

Base request has ConfigID for multi-config projects

map[string]string `json:"filter,omitempty"`
string `json:"last,omitempty"`
int `json:"size,omitempty"`
type ListRequest struct {
	// Base request has ConfigID for multi-config projects
	pangea.BaseRequest

	Filter	map[string]string	`json:"filter,omitempty"`
	Last	string			`json:"last,omitempty"`
	Size	int			`json:"size,omitempty"`
	Order	ItemOrder		`json:"order,omitempty"`
	OrderBy	ItemOrderBy		`json:"order_by,omitempty"`
}

Type ListResult

type ListResult struct

required parameters

[]ListItemData `json:"items"`
int `json:"count"`
string `json:"last,omitempty"`
type ListResult struct {
	Items	[]ListItemData	`json:"items"`
	Count	int		`json:"count"`
	Last	string		`json:"last,omitempty"`
}

Type Metadata

type Metadata map[string]string
type Metadata map[string]string

Type PangeaTokenRotateRequest

type PangeaTokenRotateRequest struct

required parameters

string `json:"rotation_grace_period"`
type PangeaTokenRotateRequest struct {
	CommonRotateRequest
	RotationGracePeriod	string	`json:"rotation_grace_period"`
}

Type PangeaTokenStoreRequest

type PangeaTokenStoreRequest struct

required parameters

string `json:"secret"`
type PangeaTokenStoreRequest struct {
	CommonStoreRequest
	Token	string	`json:"secret"`
}

Type SecretRotateRequest

type SecretRotateRequest struct

required parameters

string `json:"secret"`
type SecretRotateRequest struct {
	CommonRotateRequest
	Secret	string	`json:"secret"`
}

Type SecretRotateResult

type SecretRotateResult struct

required parameters

string `json:"secret"`
type SecretRotateResult struct {
	CommonRotateResult
	Secret	string	`json:"secret"`
}

Type SecretStoreRequest

type SecretStoreRequest struct

required parameters

string `json:"secret"`
type SecretStoreRequest struct {
	CommonStoreRequest
	Secret	string	`json:"secret"`
}

Type SecretStoreResult

type SecretStoreResult struct

required parameters

string `json:"secret"`
type SecretStoreResult struct {
	CommonStoreResult
	Secret	string	`json:"secret"`
}

Type SignRequest

type SignRequest struct

required parameters

pangea.BaseRequest

Base request has ConfigID for multi-config projects

string `json:"id"`
string `json:"message"`
*int `json:"version,omitempty"`
type SignRequest struct {
	// Base request has ConfigID for multi-config projects
	pangea.BaseRequest

	ID	string	`json:"id"`
	Message	string	`json:"message"`
	Version	*int	`json:"version,omitempty"`
}

Type SignResult

type SignResult struct

required parameters

string `json:"id"`
int `json:"version"`
string `json:"signature"`
string `json:"algorithm"`
type SignResult struct {
	ID		string			`json:"id"`
	Version		int			`json:"version"`
	Signature	string			`json:"signature"`
	Algorithm	string			`json:"algorithm"`
	PublicKey	*EncodedPublicKey	`json:"public_key,omitempty"`
}

Type StateChangeRequest

type StateChangeRequest struct

required parameters

pangea.BaseRequest

Base request has ConfigID for multi-config projects

string `json:"id"`
*int `json:"version,omitempty"`
string `json:"destroy_period,omitempty"`
type StateChangeRequest struct {
	// Base request has ConfigID for multi-config projects
	pangea.BaseRequest

	ID		string			`json:"id"`
	State		ItemVersionState	`json:"state"`
	Version		*int			`json:"version,omitempty"`
	DestroyPeriod	string			`json:"destroy_period,omitempty"`
}

Type StateChangeResult

type StateChangeResult struct

required parameters

string `json:"id"`
int `json:"version"`
string `json:"state"`
*string `json:"destroy_at,omitempty"`
type StateChangeResult struct {
	ID		string	`json:"id"`
	Version		int	`json:"version"`
	State		string	`json:"state"`
	DestroyAt	*string	`json:"destroy_at,omitempty"`
}

Type SymmetricAlgorithm

type SymmetricAlgorithm string
type SymmetricAlgorithm string

Type SymmetricGenerateRequest

type SymmetricGenerateRequest struct

required parameters

SymmetricAlgorithm `json:"algorithm"`
type SymmetricGenerateRequest struct {
	CommonGenerateRequest
	Algorithm	SymmetricAlgorithm	`json:"algorithm"`
	Purpose		KeyPurpose		`json:"purpose"`
}

Type SymmetricGenerateResult

type SymmetricGenerateResult struct

required parameters

string `json:"algorithm"`
string `json:"purpose"`
type SymmetricGenerateResult struct {
	CommonGenerateResult
	Algorithm	string	`json:"algorithm"`
	Purpose		string	`json:"purpose"`
}

Type SymmetricStoreRequest

type SymmetricStoreRequest struct

required parameters

EncodedSymmetricKey `json:"key"`
type SymmetricStoreRequest struct {
	CommonStoreRequest
	Key		EncodedSymmetricKey	`json:"key"`
	Algorithm	SymmetricAlgorithm	`json:"algorithm"`
	Purpose		KeyPurpose		`json:"purpose,omitempty"`
}

Type SymmetricStoreResult

type SymmetricStoreResult struct

required parameters

string `json:"algorithm"`
string `json:"purpose"`
type SymmetricStoreResult struct {
	CommonStoreResult
	Algorithm	string	`json:"algorithm"`
	Purpose		string	`json:"purpose"`
}

Type Tags

type Tags []string
type Tags []string

Type UpdateRequest

type UpdateRequest struct

required parameters

pangea.BaseRequest

Base request has ConfigID for multi-config projects

string `json:"id"`
string `json:"name,omitempty"`
string `json:"folder,omitempty"`
string `json:"rotation_frequency,omitempty"`
string `json:"rotation_grace_period,omitempty"`
string `json:"expiration,omitempty"`
type UpdateRequest struct {
	// Base request has ConfigID for multi-config projects
	pangea.BaseRequest

	ID			string			`json:"id"`
	Name			string			`json:"name,omitempty"`
	Folder			string			`json:"folder,omitempty"`
	Metadata		Metadata		`json:"metadata,omitempty"`
	Tags			Tags			`json:"tags,omitempty"`
	RotationFrequency	string			`json:"rotation_frequency,omitempty"`
	RotationState		ItemVersionState	`json:"rotation_state,omitempty"`
	RotationGracePeriod	string			`json:"rotation_grace_period,omitempty"`
	Expiration		string			`json:"expiration,omitempty"`
	ItemState		ItemState		`json:"item_state,omitempty"`
}

Type UpdateResult

type UpdateResult struct

required parameters

string `json:"id"`
type UpdateResult struct {
	ID string `json:"id"`
}

Type VerifyRequest

type VerifyRequest struct

required parameters

pangea.BaseRequest

Base request has ConfigID for multi-config projects

string `json:"id"`
*int `json:"version,omitempty"`
string `json:"message"`
string `json:"signature"`
type VerifyRequest struct {
	// Base request has ConfigID for multi-config projects
	pangea.BaseRequest

	ID		string	`json:"id"`
	Version		*int	`json:"version,omitempty"`
	Message		string	`json:"message"`
	Signature	string	`json:"signature"`
}

Type VerifyResult

type VerifyResult struct

required parameters

string `json:"id"`
int `json:"version"`
string `json:"algorithm"`
bool `json:"valid_signature"`
type VerifyResult struct {
	ID		string	`json:"id"`
	Version		int	`json:"version"`
	Algorithm	string	`json:"algorithm"`
	ValidSignature	bool	`json:"valid_signature"`
}

Type vault

type vault struct
type vault struct {
	pangea.BaseService
}