keyhub

package module
v1.2.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 10, 2023 License: Apache-2.0 Imports: 15 Imported by: 3

README

Build GitHub release (latest SemVer) License

go-keyhub - Topicus KeyHub API Client

How to use

See the examples directory for more complete examples.

go.mod:

require (
  github.com/topicuskeyhub/go-keyhub v0.2.0
)
import "github.com/topicuskeyhub/go-keyhub"

client, err := keyhub.NewClient(http.DefaultClient, issuer, clientid, clientsecret)
if err != nil {
    log.Fatalln("ERROR", err)
}

How to develop
  • Dependencies: go mod download
  • Code formatting: gofmt -s -w .

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AccountService added in v1.0.0

type AccountService struct {
	// contains filtered or unexported fields
}

func (*AccountService) GetById added in v1.0.0

func (s *AccountService) GetById(id int64) (result *model.Account, err error)

func (*AccountService) GetByUUID added in v1.0.0

func (s *AccountService) GetByUUID(uuid uuid.UUID) (result *model.Account, err error)

func (*AccountService) List added in v1.0.0

func (s *AccountService) List() (accounts []model.Account, err error)

type Client

type Client struct {
	ID                 string
	Version            *VersionService
	Accounts           *AccountService
	Groups             *GroupService
	Systems            *SystemService
	ClientApplications *ClientApplicationService
	Vaults             *VaultService
}

func NewClient

func NewClient(httpClient *http.Client, issuer string, clientID string, clientSecret string) (*Client, error)

func NewClientDefault added in v1.0.0

func NewClientDefault(issuer string, clientID string, clientSecret string) (*Client, error)

type ClientApplicationService added in v1.2.0

type ClientApplicationService struct {
	// contains filtered or unexported fields
}

ClientApplicationService Service to manage client application configurations in keyhub

func (*ClientApplicationService) Create added in v1.2.0

Create a new client application in Keyhub

func (*ClientApplicationService) GetById added in v1.2.0

func (s *ClientApplicationService) GetById(id int64) (result *model.ClientApplication, err error)

GetById Retrieve a client by keyhub id

func (*ClientApplicationService) GetByUUID added in v1.2.0

func (s *ClientApplicationService) GetByUUID(uuid uuid.UUID) (result *model.ClientApplication, err error)

GetByUUID Retrieve a client by uuid

func (*ClientApplicationService) List added in v1.2.0

func (s *ClientApplicationService) List() (clients []model.ClientApplication, err error)

List all available clients.

type GroupService

type GroupService struct {
	// contains filtered or unexported fields
}

func (*GroupService) Create added in v1.0.0

func (s *GroupService) Create(group *model.Group) (result *model.Group, err error)

func (*GroupService) CreateMembership added in v1.1.0

func (s *GroupService) CreateMembership(group *model.Group, list *model.GroupAccountList) (results *model.GroupAccountList, err error)

func (*GroupService) GetById added in v1.0.0

func (s *GroupService) GetById(id int64) (result *model.Group, err error)

func (*GroupService) GetByUUID added in v1.0.0

func (s *GroupService) GetByUUID(uuid uuid.UUID) (result *model.Group, err error)

func (*GroupService) List

func (s *GroupService) List() (groups []model.Group, err error)

type SystemService added in v1.2.0

type SystemService struct {
	// contains filtered or unexported fields
}

func (*SystemService) CreateGroupOnSystem added in v1.2.0

func (s *SystemService) CreateGroupOnSystem(groupOnSystem *model.GroupOnSystem) (result *model.GroupOnSystem, err error)

func (*SystemService) DeleteGroupOnSystem added in v1.2.0

func (s *SystemService) DeleteGroupOnSystem(groupOnSystem *model.GroupOnSystem) (err error)

func (*SystemService) FindGroupOnSystem added in v1.2.0

func (s *SystemService) FindGroupOnSystem(system *model.ProvisionedSystem, query *model.GroupOnSystemQueryParams) (results *model.GroupOnSystemList, err error)

func (*SystemService) GetById added in v1.2.0

func (s *SystemService) GetById(id int64) (system *model.ProvisionedSystem, err error)

func (*SystemService) GetByUUID added in v1.2.0

func (s *SystemService) GetByUUID(uuid uuid.UUID) (system *model.ProvisionedSystem, err error)

func (s *SystemService) Create(system *model.ProvisionedSystem) (result *model.ProvisionedSystem, err error) {

	return
}

func (s *SystemService) List() (systems []model.ProvisionedSystem, err error) {
	return
}

func (*SystemService) GetGroupOnSystem added in v1.2.0

func (s *SystemService) GetGroupOnSystem(system *model.ProvisionedSystem, groupId int64, additional *model.GroupOnSystemAdditionalQueryParams) (result *model.GroupOnSystem, err error)

type Transport

type Transport struct {
	Base http.RoundTripper
}

func (*Transport) RoundTrip

func (t *Transport) RoundTrip(req *http.Request) (*http.Response, error)

RoundTrip Based on oauth2.Transport.RoundTrip()

type VaultService

type VaultService struct {
	// contains filtered or unexported fields
}

func (*VaultService) Create added in v1.0.0

func (s *VaultService) Create(group *model.Group, vaultRecord *model.VaultRecord) (result *model.VaultRecord, err error)

func (*VaultService) DeleteByID added in v1.0.0

func (s *VaultService) DeleteByID(group *model.Group, id int64) (err error)

DeleteByID Delete a vault record by ID for a certain group, including audit and secrets

func (*VaultService) DeleteByUUID added in v1.0.0

func (s *VaultService) DeleteByUUID(group *model.Group, uuid uuid.UUID) (err error)

DeleteByUUID Delete a vault record by uuid for a certain group, including audit and secrets

func (*VaultService) FindByIDForClient added in v1.1.0

func (s *VaultService) FindByIDForClient(id int64, additional *model.VaultRecordAdditionalQueryParams) (result *model.VaultRecord, err error)

func (*VaultService) FindByUUIDForClient added in v1.1.0

func (s *VaultService) FindByUUIDForClient(uuid uuid.UUID, additional *model.VaultRecordAdditionalQueryParams) (result *model.VaultRecord, err error)

func (*VaultService) GetByID added in v1.0.0

func (s *VaultService) GetByID(group *model.Group, id int64, additional *model.VaultRecordAdditionalQueryParams) (result *model.VaultRecord, err error)

GetByID Retrieve a vault record by ID for a certain group, including audit and secrets

func (*VaultService) GetByUUID added in v1.0.0

func (s *VaultService) GetByUUID(group *model.Group, uuid uuid.UUID, additional *model.VaultRecordAdditionalQueryParams) (result *model.VaultRecord, err error)

GetByUUID Retrieve a vault record by uuid for a certain group, including audit and secrets

func (*VaultService) GetRecords

func (s *VaultService) GetRecords(g *model.Group) (result []model.VaultRecord, err error)

GetRecords Retrieve all vault records for a group including audit (secrets are not included)

func (*VaultService) List added in v1.0.0

func (s *VaultService) List(group *model.Group, query *model.VaultRecordQueryParams, additional *model.VaultRecordAdditionalQueryParams) (records []model.VaultRecord, err error)

List Retrieve all vault records for a group (secrets are not included, default audit = true)

func (*VaultService) Update added in v1.0.0

func (s *VaultService) Update(group *model.Group, vaultRecord *model.VaultRecord) (result *model.VaultRecord, err error)

Update Retrieve a vault record by uuid for a certain group, including audit and secrets

type VersionService

type VersionService struct {
	// contains filtered or unexported fields
}

func (*VersionService) Get

func (s *VersionService) Get() (v *model.VersionInfo, err error)

Directories

Path Synopsis
example module

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL