model

package
v1.3.5 Latest Latest
Warning

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

Go to latest
Published: Jun 28, 2024 License: Apache-2.0 Imports: 12 Imported by: 5

Documentation

Index

Constants

View Source
const (
	CLIENT_TYPE_OAUTH2 ClientApplicationType = "OAUTH2"
	CLIENT_TYPE_SAML2  ClientApplicationType = "SAML2"
	CLIENT_TYPE_LDAP   ClientApplicationType = "LDAP"

	CLIENT_SCOPE_PROFILE        = "profile"
	CLIENT_SCOPE_MANAGE_ACCOUNT = "manage_account"
	CLIENT_SCOPE_PROVISIONING   = "provisioning"
	CLIENT_SCOPE_ACCESS_VAULT   = "access_vault"
	CLIENT_SCOPE_GROUP_ADMIN    = "group_admin"
	CLIENT_SCOPE_GLOBAL_ADMIN   = "global_admin"

	CLIENT_SUBJECT_FORMAT_ID       = "ID"
	CLIENT_SUBJECT_FORMAT_UPN      = "UPN"
	CLIENT_SUBJECT_FORMAT_USERNAME = "USERNAME"
	CLIENT_SUBJECT_FORMAT_EMAIL    = "EMAIL"

	CLIENT_PERM_ACCOUNTS_QUERY                        Oauth2ClientPermissionValue = "ACCOUNTS_QUERY"
	CLIENT_PERM_ACCOUNTS_REMOVE                       Oauth2ClientPermissionValue = "ACCOUNTS_REMOVE"
	CLIENT_PERM_GROUPONSYSTEM_CREATE                  Oauth2ClientPermissionValue = "GROUPONSYSTEM_CREATE"
	CLIENT_PERM_GROUPS_CREATE                         Oauth2ClientPermissionValue = "GROUPS_CREATE"
	CLIENT_PERM_GROUPS_VAULT_ACCESS_AFTER_CREATE      Oauth2ClientPermissionValue = "GROUPS_VAULT_ACCESS_AFTER_CREATE"
	CLIENT_PERM_GROUPS_GRANT_PERMISSIONS_AFTER_CREATE Oauth2ClientPermissionValue = "GROUPS_GRANT_PERMISSIONS_AFTER_CREATE"
	CLIENT_PERM_GROUPS_QUERY                          Oauth2ClientPermissionValue = "GROUPS_QUERY"
	CLIENT_PERM_GROUP_FULL_VAULT_ACCESS               Oauth2ClientPermissionValue = "GROUP_FULL_VAULT_ACCESS"
	CLIENT_PERM_GROUP_READ_CONTENTS                   Oauth2ClientPermissionValue = "GROUP_READ_CONTENTS"
	CLIENT_PERM_GROUP_SET_AUTHORIZATION               Oauth2ClientPermissionValue = "GROUP_SET_AUTHORIZATION"
	CLIENT_PERM_CLIENTS_CREATE                        Oauth2ClientPermissionValue = "CLIENTS_CREATE"
	CLIENT_PERM_CLIENTS_QUERY                         Oauth2ClientPermissionValue = "CLIENTS_QUERY"
)
View Source
const (
	GROUP_RIGHT_MANAGER = "MANAGER"
	GROUP_RIGHT_MEMBER  = "NORMAL"

	GROUP_EXT_ACCESS_NOT = "NOT_ALLOWED"
	GROUP_EXT_ACCESS_1W  = "ONE_WEEK"
	GROUP_EXT_ACCESS_2W  = "TWO_WEEKS"

	VAULT_RECOVERY_NONE     = "NONE"
	VAULT_RECOVERY_KEY_ONLY = "RECOVERY_KEY_ONLY"
	VAULT_RECOVERY_FULL     = "FULL"
)
View Source
const (
	LAUNCHPAD_TYPE_MANUAL = LaunchpadTileType("MANUAL")
	LAUNCHPAD_TYPE_SSO    = LaunchpadTileType("SSO_APPLICATION")
	LAUNCHPAD_TYPE_RECORD = LaunchpadTileType("VAULT_RECORD")
)
View Source
const (
	MONTH_NAME_JAN = "JANUARY"
	MONTH_NAME_FEB = "FEBRUARY"
	MONTH_NAME_MAR = "MARCH"
	MONTH_NAME_APR = "APRIL"
	MONTH_NAME_MAY = "MAY"
	MONTH_NAME_JUN = "JUNE"
	MONTH_NAME_JUL = "JULY"
	MONTH_NAME_AUG = "AUGUST"
	MONTH_NAME_SEP = "SEPTEMBER"
	MONTH_NAME_OCT = "OCTOBER"
	MONTH_NAME_NOV = "NOVEMBER"
	MONTH_NAME_DEC = "DECEMBER"
)
View Source
const (
	GOS_TYPE_POSIX                 GroupOnSystemType = "POSIX_GROUP"
	GOS_TYPE_GROUP_OF_NAMES        GroupOnSystemType = "GROUP_OF_NAMES"
	GOS_TYPE_GROUP_OF_UNIQUE_NAMES GroupOnSystemType = "GROUP_OF_UNIQUE_NAMES"
	GOS_TYPE_GROUP                 GroupOnSystemType = "GROUP"
	GOS_TYPE_AZURE_ROLE            GroupOnSystemType = "AZURE_ROLE"
	GOS_TYPE_AZURE_UNIFIED_GROUP   GroupOnSystemType = "AZURE_UNIFIED_GROUP"
	GOS_TYPE_AZURE_SECURITY_GROUP  GroupOnSystemType = "AZURE_SECURITY_GROUP"

	PSYSTEM_TYPE_LDAP                             ProvisionedSystemType = "LDAP"
	PSYSTEM_TYPE_ACTIVE_DIRECTORY                 ProvisionedSystemType = "ACTIVE_DIRECTORY"
	PSYSTEM_TYPE_AZURE_TENANT                     ProvisionedSystemType = "AZURE_TENANT"
	PSYSTEM_TYPE_SOURCE_LDAP_DIRECTORY            ProvisionedSystemType = "SOURCE_LDAP_DIRECTORY"
	PSYSTEM_TYPE_SOURCE_AZURE_OIDC_DIRECTORY      ProvisionedSystemType = "SOURCE_AZURE_OIDC_DIRECTORY"
	PSYSTEM_TYPE_SOURCE_AZURE_SYNC_LDAP_DIRECTORY ProvisionedSystemType = "SOURCE_AZURE_SYNC_LDAP_DIRECTORY"
	PSYSTEM_TYPE_INTERNAL_LDAP                    ProvisionedSystemType = "INTERNAL_LDAP"
)
View Source
const (
	HEADER_REQ_RANGE  = "Range"
	HEADER_COUNT_MODE = "topicus-Range-Count"
	HEADER_RESP_RANGE = "Content-Range"
	RANGE_PER_PAGE    = 100
)

Variables

View Source
var VaultRecordColorBlue = "BLUE"
View Source
var VaultRecordColorDark = "DARK"
View Source
var VaultRecordColorGreen = "GREEN"
View Source
var VaultRecordColorNone = "NONE"
View Source
var VaultRecordColorRed = "RED"

Functions

This section is empty.

Types

type Account

type Account struct {
	Linkable
	AdditionalObjects map[string]interface{} `json:"additionalObjects,omitempty"`

	UUID        string `json:"uuid,omitempty"`
	Username    string `json:"username"`
	DisplayName string `json:"displayName"`
}

func NewAccount

func NewAccount(username string) *Account

type AccountList

type AccountList struct {
	Items []Account `json:"items"`
}

type AccountQueryParams

type AccountQueryParams struct {
	UUID string `url:"uuid,omitempty"`
}

type AuditAdditionalObject added in v1.2.0

type AuditAdditionalObject struct {
	DType          string    `json:"$type,omitempty"`
	CreatedAt      time.Time `json:"createdAt"`
	CreatedBy      string    `json:"createdBy"`
	LastModifiedAt time.Time `json:"lastModifiedAt"`
	LastModifiedBy string    `json:"lastModifiedBy"`
}

type Certificate added in v1.2.0

type Certificate struct {
	Linkable

	UUID              string    `json:"uuid,omitempty"`
	Global            bool      `json:"global"`
	Alias             string    `json:"alias,omitempty"`
	SubjectDN         string    `json:"subjectDN,omitempty"`
	FingerprintSha1   string    `json:"fingerprintSha1,omitempty"`
	FingerprintSha256 string    `json:"fingerprintSha256,omitempty"`
	CertificateData   []byte    `json:"certificateData"`
	Expiration        time.Time `json:"expiration,omitempty"`
}

type ClientAdditionalObjects added in v1.2.0

type ClientAdditionalObjects struct {
	Audit  *AuditAdditionalObject `json:"audit,omitempty"`
	Secret *generatedSecret       `json:"secret,omitempty"`
}

type ClientApplication added in v1.2.0

type ClientApplication struct {
	ClientApplicationPrimer

	URL                    string                   `json:"url,omitempty"`
	Permissions            []Permission             `json:"permissions,omitempty"`
	AdditionalObjects      *ClientAdditionalObjects `json:"additionalObjects,omitempty"`
	LastModifiedAt         time.Time                `json:"lastModifiedAt,omitempty"`
	Owner                  *Group                   `json:"owner,omitempty"`
	TechnicalAdministrator *Group                   `json:"technicalAdministrator,omitempty"`
	DebugMode              bool                     `json:"debugMode,omitempty"`
	AccountPermissions     []Permission             `json:"accountPermissions,omitempty"`
	Attributes             map[string]string        `json:"attributes,omitempty"` // OAuth SSO + Saml
	// contains filtered or unexported fields
}

func NewClientApplication added in v1.2.0

func NewClientApplication(name string, managerGroup *Group, clienttype ClientApplicationType) *ClientApplication

func NewLdapClientApplication added in v1.2.0

func NewLdapClientApplication(name string, managerGroup *Group) *ClientApplication

func NewOAuth2ClientApplication added in v1.2.0

func NewOAuth2ClientApplication(name string, managerGroup *Group) *ClientApplication

func NewSaml2ClientApplication added in v1.2.0

func NewSaml2ClientApplication(name string, managerGroup *Group) *ClientApplication

func (*ClientApplication) AddAttribute added in v1.2.0

func (c *ClientApplication) AddAttribute(name, script string) error

func (*ClientApplication) AddScope added in v1.2.0

func (c *ClientApplication) AddScope(scope string) error

func (*ClientApplication) AsPrimer added in v1.2.0

func (c *ClientApplication) AsPrimer() *ClientApplication

func (*ClientApplication) GetSecret added in v1.2.0

func (c *ClientApplication) GetSecret() (string, error)

func (*ClientApplication) GetSecretOrNil added in v1.2.0

func (c *ClientApplication) GetSecretOrNil() *string

func (*ClientApplication) IsLDAP added in v1.2.0

func (c *ClientApplication) IsLDAP() bool

func (*ClientApplication) IsOAuth2 added in v1.2.0

func (c *ClientApplication) IsOAuth2() bool

func (*ClientApplication) IsOAuth2SSO added in v1.2.0

func (c *ClientApplication) IsOAuth2SSO() bool

func (*ClientApplication) IsOAuth2Server2Server added in v1.2.0

func (c *ClientApplication) IsOAuth2Server2Server() bool

func (*ClientApplication) IsSAML2 added in v1.2.0

func (c *ClientApplication) IsSAML2() bool

func (*ClientApplication) RemoveAttribute added in v1.2.0

func (c *ClientApplication) RemoveAttribute(name, script string) error

func (*ClientApplication) RemoveScope added in v1.2.0

func (c *ClientApplication) RemoveScope(scope string) error

func (*ClientApplication) SetOAuth2SSO added in v1.2.0

func (c *ClientApplication) SetOAuth2SSO() error

func (*ClientApplication) SetOAuth2Server2Server added in v1.2.0

func (c *ClientApplication) SetOAuth2Server2Server() error

type ClientApplicationPrimer added in v1.2.0

type ClientApplicationPrimer struct {
	Linkable

	UUID string                `json:"uuid,omitempty"`
	Name string                `json:"name"`
	Type ClientApplicationType `json:"type,omitempty"`

	// Shared
	ClientId       string   `json:"clientId,omitempty"`       // OAuth: the clientId, Saml: The ClientApplication identifier
	Scopes         []string `json:"scopes,omitempty"`         // Oauth SSO: required, Saml/Ldap: fixed to profile
	SSOApplication bool     `json:"ssoApplication,omitempty"` // Oauth SSO + Saml

}

type ClientApplicationType added in v1.2.0

type ClientApplicationType string

* Enums *

type ClientList added in v1.2.0

type ClientList struct {
	Items []ClientApplication `json:"items"`
}

type ClientPermissionWithClient added in v1.2.0

type ClientPermissionWithClient struct {
	DType  string                      `json:"$type,omitempty"`
	Value  Oauth2ClientPermissionValue `json:"value,omitempty"`
	Client *ClientApplication          `json:"client,omitempty"`
}

func NewClientPermissionWithClient added in v1.2.0

func NewClientPermissionWithClient(perm Oauth2ClientPermissionValue, client *ClientApplication) *ClientPermissionWithClient

type ClientPermissionsWithClient added in v1.2.0

type ClientPermissionsWithClient struct {
	DType string                        `json:"$type,omitempty"`
	Items []*ClientPermissionWithClient `json:"items"`
}

type ClientQueryParams added in v1.2.0

type ClientQueryParams struct {
	UUID       string   `url:"uuid,omitempty"`
	Additional []string `url:"additional,omitempty"`
}

type DebugResponseDecoder added in v1.2.0

type DebugResponseDecoder struct {
}

DebugResponseDecoder Usage sling.ResponseDecoder(&model.DebugResponseDecoder{})......

func (*DebugResponseDecoder) Decode added in v1.2.0

func (drd *DebugResponseDecoder) Decode(resp *http.Response, v interface{}) error

Decode Print raw body while unmarshalling json Body

type ErrorReport

type ErrorReport struct {
	Code             int      `json:"code"`
	Reason           string   `json:"reason"`
	Exception        string   `json:"exception,omitempty"`
	Message          string   `json:"message"`
	ApplicationError string   `json:"applicationError,omitempty"`
	StackTrace       []string `json:"stacktrace,omitempty"`
}

ErrorReport error report returned by KeyHub Api

func (ErrorReport) Error added in v1.2.4

func (er ErrorReport) Error() string

func (ErrorReport) Wrap added in v1.2.4

func (er ErrorReport) Wrap(format string, any ...any) error

Wrap rap the errorReport within an error of type KeyhubApiError

type Group

type Group struct {
	GroupPrimer

	AdditionalObjects *GroupAdditionalObjects `json:"additionalObjects,omitempty"`

	Description    string            `json:"description,omitempty"`
	ExtendedAccess string            `json:"extendedAccess,omitempty"`
	AuditConfig    *GroupAuditConfig `json:"auditConfig,omitempty"`

	RotatingPasswordRequired  bool `json:"rotatingPasswordRequired,omitempty"`
	RecordTrail               bool `json:"recordTrail,omitempty"`
	PrivateGroup              bool `json:"privateGroup,omitempty"`
	HideAuditTrail            bool `json:"hideAuditTrail,omitempty"`
	ApplicationAdministration bool `json:"applicationAdministration,omitempty"`
	Auditor                   bool `json:"auditor,omitempty"`
	SingleManaged             bool `json:"singleManaged,omitempty"`

	AuthorizingGroupProvisioning *Group `json:"authorizingGroupProvisioning,omitempty"`
	AuthorizingGroupMembership   *Group `json:"authorizingGroupMembership,omitempty"`
	AuthorizingGroupAuditing     *Group `json:"authorizingGroupAuditing,omitempty"`
	NestedUnder                  *Group `json:"nestedUnder,omitempty"`
	//Classification               string `json:"classification,omitempty"`               //group_GroupClassificationPrimer{...}
	VaultRecovery string `json:"vaultRecovery,omitempty"`
}

func NewEmptyGroup added in v1.1.0

func NewEmptyGroup(name string) (result *Group)

func NewGroup

func NewGroup(name string, groupadmin *Account) (result *Group)

func (*Group) AddManager added in v1.1.0

func (g *Group) AddManager(account *Account)

AddManager Add Account as Manager

func (*Group) AddMember added in v1.1.0

func (g *Group) AddMember(account *Account)

AddMember Add Account as Member

func (*Group) AsPrimer added in v1.2.0

func (g *Group) AsPrimer() *Group

AsPrimer Return Group with only Primer data

func (*Group) DisableExtendedAccess added in v1.1.0

func (g *Group) DisableExtendedAccess()

func (*Group) DisableVaultRecovery added in v1.1.0

func (g *Group) DisableVaultRecovery()

func (*Group) EnableExtendedAccess1W added in v1.1.0

func (g *Group) EnableExtendedAccess1W()

func (*Group) EnableExtendedAccess2W added in v1.1.0

func (g *Group) EnableExtendedAccess2W()

func (*Group) FullVaultRecovery added in v1.1.0

func (g *Group) FullVaultRecovery()

func (*Group) GrantClientPermission added in v1.2.0

func (g *Group) GrantClientPermission(client *ClientApplication, permission ...Oauth2ClientPermissionValue)

func (*Group) KeyOnlyVaultRecovery added in v1.1.0

func (g *Group) KeyOnlyVaultRecovery()

func (*Group) ToPrimer added in v1.2.0

func (g *Group) ToPrimer() *GroupPrimer

ToPrimer Convert to GroupPrimer

type GroupAccount

type GroupAccount struct {
	Linkable
	AdditionalObjects map[string]interface{} `json:"additionalObjects,omitempty"`

	UUID        string `json:"uuid,omitempty"`
	Username    string `json:"username"`
	DisplayName string `json:"displayName"`
	Rights      string `json:"rights"`
}

func NewGroupAccount

func NewGroupAccount(account *Account, rights string) *GroupAccount

type GroupAccountList

type GroupAccountList struct {
	DType string         `json:"$type,omitempty"`
	Items []GroupAccount `json:"items"`
}

GroupAccountList This struct needs a DType because it is used in an AdditionalObjects, which requires a $type to resolve which Java class is to be used

type GroupAdditionalObjects

type GroupAdditionalObjects struct {
	Admins            *GroupAccountList            `json:"admins,omitempty"`
	ClientPermissions *ClientPermissionsWithClient `json:"clientPermissions,omitempty"`
}

type GroupAdditionalQueryParams added in v1.2.0

type GroupAdditionalQueryParams struct {
	Audit  bool `url:"audit"`
	Admins bool `url:"admins"`
}

func (GroupAdditionalQueryParams) EncodeValues added in v1.2.0

func (p GroupAdditionalQueryParams) EncodeValues(key string, v *url.Values) error

EncodeValues Custom url encoder to convert bools to list

type GroupAuditConfig added in v1.1.0

type GroupAuditConfig struct {
	Linkable
	DType             string         `json:"$type,omitempty"`
	Months            MonthSelection `json:"months"`
	Permissions       []string       `json:"permissions,omitempty"`
	AdditionalObjects struct{}       `json:"additionalObjects,omitempty"`
}

func NewGroupAuditConfig added in v1.1.0

func NewGroupAuditConfig() *GroupAuditConfig

func (*GroupAuditConfig) MarshalJSON added in v1.1.0

func (gac *GroupAuditConfig) MarshalJSON() ([]byte, error)

func (*GroupAuditConfig) UnmarshalJSON added in v1.1.0

func (gac *GroupAuditConfig) UnmarshalJSON(data []byte) error

type GroupList

type GroupList struct {
	Items []Group `json:"items"`
}

type GroupOnSystem added in v1.2.0

type GroupOnSystem struct {
	Linkable

	Type              GroupOnSystemType  `json:"type,omitempty"`
	NameInSystem      string             `json:"nameInSystem,omitempty"`
	ShortNameInSystem string             `json:"shortNameInSystem,omitempty"` // Read Only
	DisplayName       string             `json:"displayName,omitempty"`
	System            *ProvisionedSystem `json:"system,omitempty"`
	Owner             *Group             `json:"owner,omitempty"`

	AdditionalObjects *GroupOnSystemAdditionalObject `json:"additionalObjects,omitempty"`
}

GroupOnSystem Group On System object

func NewGroupOnSystem added in v1.2.0

func NewGroupOnSystem() *GroupOnSystem

NewGroupOnSystem Initialize a new GroupOnSystem

func NewGroupOnSystemWithEmptyProvGroup added in v1.3.0

func NewGroupOnSystemWithEmptyProvGroup() *GroupOnSystem

NewGroupOnSystemWithEmptyProvGroup Initialize a new GroupOnSystem with an empty provgroup list, disabling owner as default provgroup

func (*GroupOnSystem) AddProvGroup added in v1.2.0

func (g *GroupOnSystem) AddProvGroup(group ...ProvisioningGroup)

AddProvGroup Add Additional ProvisioningGroup

func (*GroupOnSystem) NoProvGroups added in v1.3.0

func (g *GroupOnSystem) NoProvGroups()

NoProvGroups Set empty list for ProvisioningGroups

func (*GroupOnSystem) SetName added in v1.2.0

func (g *GroupOnSystem) SetName(name string)

SetName Set DisplayName and NameInSystem from name given, NameInSystem is slugified

func (*GroupOnSystem) SetType added in v1.2.0

func (g *GroupOnSystem) SetType(typename GroupOnSystemType)

SetType Set type of GroupOnSystem, use one of the GOS_TYPE_* constants

func (*GroupOnSystem) SetTypeString added in v1.2.0

func (g *GroupOnSystem) SetTypeString(typename string) error

SetType Set type of GroupOnSystem, use one of the GOS_TYPE_* constants

type GroupOnSystemAdditionalObject added in v1.2.0

type GroupOnSystemAdditionalObject struct {
	ProvGroups *ProvisioningGroupList `json:"provgroups,omitempty"`
}

GroupOnSystemAdditionalObject Additional objects for GroupOnSystem

func NewGroupOnSystemAdditionalObject added in v1.2.0

func NewGroupOnSystemAdditionalObject() *GroupOnSystemAdditionalObject

NewGroupOnSystemAdditionalObject Initialize a new GroupOnSystemAdditionalObject

type GroupOnSystemAdditionalQueryParams added in v1.2.0

type GroupOnSystemAdditionalQueryParams struct {
	Audit      bool `url:"audit"`
	ProvGroups bool `url:"provgroups"`
}

GroupOnSystemAdditionalQueryParams AdditionalQueryParameters

func (GroupOnSystemAdditionalQueryParams) EncodeValues added in v1.2.0

func (p GroupOnSystemAdditionalQueryParams) EncodeValues(key string, v *url.Values) error

EncodeValues Custom url encoder to convert bools to list

type GroupOnSystemList added in v1.2.0

type GroupOnSystemList struct {
	Items []GroupOnSystem `json:"items"`
}

GroupOnSystemList List of GroupOnSystems

func NewGroupOnSystemList added in v1.2.0

func NewGroupOnSystemList() *GroupOnSystemList

NewGroupOnSystemList Initialize a new GroupOnSystemList

type GroupOnSystemQueryParams added in v1.2.0

type GroupOnSystemQueryParams struct {
	Id                 []int64   `url:"id,omitempty"`
	GroupIds           []int64   `url:"group,omitempty"`
	ExcludeId          []int64   `url:"exclude,omitempty"`
	NotLinkedToGroupId []int64   `url:"notLinkedToGroup,omitempty"`
	NameContains       string    `url:"nameContains,omitempty"`
	CreatedAfter       time.Time `url:"createdAfter,omitempty"`
	CreatedBefore      time.Time `url:"createdBefore,omitempty"`
	ModifiedSince      time.Time `url:"modifiedSince,omitempty"`
	Q                  string    `url:"q,omitempty"`
	AdminnedById       int64     `url:"adminnedBy,omitempty"`
	OwnedById          int64     `url:"ownedBy,omitempty"`

	Additional *GroupOnSystemAdditionalQueryParams `url:"additional"`
}

GroupOnSystemQueryParams Query Parameters for Search GroupOnSystem

func (*GroupOnSystemQueryParams) AddExcludeId added in v1.2.0

func (g *GroupOnSystemQueryParams) AddExcludeId(gos *GroupOnSystem)

AddExcludeId extract id from given grouponsystem and add as group id to exclude in search

func (*GroupOnSystemQueryParams) AddGroup added in v1.2.0

func (g *GroupOnSystemQueryParams) AddGroup(group *Group)

AddGroup extract id from given group and add to group ids to search for

func (*GroupOnSystemQueryParams) AddId added in v1.2.0

func (g *GroupOnSystemQueryParams) AddId(gos *GroupOnSystem)

AddId extract id from given grouponsystem and add to id's to search for

func (*GroupOnSystemQueryParams) AddNotLinkedToGroup added in v1.2.0

func (g *GroupOnSystemQueryParams) AddNotLinkedToGroup(group *Group)

AddNotLinkedToGroup extract id from given group and add as group id to exclude if linked to

func (*GroupOnSystemQueryParams) SetAdminnedByGroup added in v1.2.0

func (g *GroupOnSystemQueryParams) SetAdminnedByGroup(group *Group)

SetAdminnedByGroup extract id from given group and add as AdminnedBy filter

func (*GroupOnSystemQueryParams) SetOwnedByGroup added in v1.2.0

func (g *GroupOnSystemQueryParams) SetOwnedByGroup(group *Group)

SetOwnedByGroup extract id from given group and add ad OwnedByGroup filter

type GroupOnSystemType added in v1.2.0

type GroupOnSystemType string

GroupOnSystemType Use constants as enum for type

type GroupPrimer added in v1.2.0

type GroupPrimer struct {
	Linkable
	Admin bool `json:"admin,omitempty"`

	UUID string `json:"uuid,omitempty"`
	Name string `json:"name"`
}

type GroupQueryParams

type GroupQueryParams struct {
	UUID       string                      `url:"uuid,omitempty"`
	Additional *GroupAdditionalQueryParams `url:"additional,omitempty"`
}

type KeyhubApiError added in v1.2.4

type KeyhubApiError struct {
	Message string
	Report  ErrorReport
}

func NewKeyhubApiError added in v1.2.4

func NewKeyhubApiError(errorReport ErrorReport, format string, any ...any) KeyhubApiError

NewKeyhubApiError Create new KeyhubApiError from ErrorReport

func (KeyhubApiError) Error added in v1.2.4

func (e KeyhubApiError) Error() string

func (KeyhubApiError) Unwrap added in v1.2.4

func (e KeyhubApiError) Unwrap() error

type LaunchPadTile added in v1.3.1

type LaunchPadTile struct {
	LaunchPadTilePrimer
	DType string `json:"$type,omitempty"`

	Type          LaunchpadTileType  `json:"type"`
	IdenticonCode int32              `json:"identiconCode"`
	Group         *Group             `json:"group,omitempty"`
	Application   *ClientApplication `json:"application,omitempty"`
	VaultRecord   *VaultRecord       `json:"vaultRecord,omitempty"`
	Uri           string             `json:"uri,omitempty"`
	Title         string             `json:"title,omitempty"`
}

func NewApplicationLaunchPadTile added in v1.3.1

func NewApplicationLaunchPadTile(uri string, application *ClientApplication) *LaunchPadTile

func NewLaunchPadTile added in v1.3.1

func NewLaunchPadTile(tiletype LaunchpadTileType) *LaunchPadTile

func NewManualLaunchPadTile added in v1.3.1

func NewManualLaunchPadTile(title string, uri string, group *Group) *LaunchPadTile

func NewVaultRecordLaunchPadTile added in v1.3.1

func NewVaultRecordLaunchPadTile(record *VaultRecord) *LaunchPadTile

func (*LaunchPadTile) AsPrimer added in v1.3.1

func (t *LaunchPadTile) AsPrimer() *LaunchPadTile

AsPrimer Return LaunchPadTile with only Primer data

func (LaunchPadTile) MarshalJSON added in v1.3.1

func (t LaunchPadTile) MarshalJSON() ([]byte, error)

Custom marshal function to format time.Time enddate to "Y-m-d" string

func (*LaunchPadTile) ToPrimer added in v1.3.1

func (t *LaunchPadTile) ToPrimer() *LaunchPadTilePrimer

ToPrimer Convert to LaunchPadTilePrimer

type LaunchPadTileAdditionalQueryParams added in v1.3.1

type LaunchPadTileAdditionalQueryParams struct {
	Audit bool `url:"audit"`
}

func (LaunchPadTileAdditionalQueryParams) EncodeValues added in v1.3.1

func (p LaunchPadTileAdditionalQueryParams) EncodeValues(key string, v *url.Values) error

EncodeValues Custom url encoder to convert bools to list

type LaunchPadTileList added in v1.3.1

type LaunchPadTileList struct {
	DType string          `json:"$type,omitempty"`
	Items []LaunchPadTile `json:"items"`
}

type LaunchPadTileManual added in v1.3.1

type LaunchPadTileManual struct {
	LaunchPadTile
}

type LaunchPadTilePrimer added in v1.3.1

type LaunchPadTilePrimer struct {
	Linkable
	DType string `json:"$type,omitempty"`
}

type LaunchPadTileQueryParams added in v1.3.1

type LaunchPadTileQueryParams struct {
	Additional    interface{} `url:"additional,omitempty"`
	Any           bool        `url:"any,omitempty"`
	CreatedAfter  time.Time   `url:"createdAfter,omitempty"`
	CreatedBefore time.Time   `url:"createdBefore,omitempty"`

	Id            int64     `url:"id,omitempty"`
	ModifiedSince time.Time `url:"modifiedSince,omitempty"`
	Q             string    `url:"q,omitempty"`
	Application   int64     `url:"application,omitempty"`
	Group         int64     `url:"group,omitempty"`
	Title         string    `url:"title,omitempty"`
	VaultRecord   int64     `url:"vaultRecord,omitempty"`
	VaultRecords  []int64   `url:"vaultRecord,omitempty"`
	// contains filtered or unexported fields
}

type LaunchPadTileSsoApplication added in v1.3.1

type LaunchPadTileSsoApplication struct {
	Title string `json:"-"`
	LaunchPadTile
}

type LaunchPadTileVaultRecord added in v1.3.1

type LaunchPadTileVaultRecord struct {
	Uri   string `json:"-"`
	Title string `json:"-"`
	LaunchPadTile
}

type LaunchpadTileType added in v1.3.1

type LaunchpadTileType string
type Link struct {
	ID   int64  `json:"id"`
	Rel  string `json:"rel"`
	Type string `json:"type,omitempty"`
	Href string `json:"href,omitempty"`
}

type Linkable

type Linkable struct {
	DType string `json:"$type"`
	Links []Link `json:"links,omitempty"`
}

func (*Linkable) Self

func (l *Linkable) Self() *Link

type MonthSelection added in v1.1.0

type MonthSelection struct {
	Jan bool
	Feb bool
	Mar bool
	Apr bool
	May bool
	Jun bool
	Jul bool
	Aug bool
	Sep bool
	Oct bool
	Nov bool
	Dec bool
}

func (*MonthSelection) Disable added in v1.1.0

func (ms *MonthSelection) Disable(month ...string)

func (*MonthSelection) Enable added in v1.1.0

func (ms *MonthSelection) Enable(month ...string)

func (*MonthSelection) Set added in v1.1.0

func (ms *MonthSelection) Set(month string, value bool)

func (*MonthSelection) ToList added in v1.1.0

func (ms *MonthSelection) ToList() []string

type OAuth2ClientPermission added in v1.2.0

type OAuth2ClientPermission struct {
	DType     string                      `json:"$type,omitempty"`
	Value     Oauth2ClientPermissionValue `json:"value,omitempty"`
	ForSystem *ClientApplication          `json:"forSystem,omitempty"`
	ForGroup  *Group                      `json:"forGroup,omitempty"`
}

func NewOAuth2ClientPermission added in v1.2.0

func NewOAuth2ClientPermission(perm Oauth2ClientPermissionValue, group *Group) *OAuth2ClientPermission

type OAuth2ClientPermissionList added in v1.2.0

type OAuth2ClientPermissionList struct {
	DType string                    `json:"$type,omitempty"`
	Items []*OAuth2ClientPermission `json:"items"`
}

type Oauth2ClientPermissionValue added in v1.2.0

type Oauth2ClientPermissionValue string

type Permission added in v1.2.0

type Permission struct {
	Full       string                    `json:"full"`
	Type       string                    `json:"type"`
	Operations []PermissionOperationName `json:"operations"`
	Instances  []string                  `json:"instances"`
}

type PermissionOperationName added in v1.2.0

type PermissionOperationName string
const (
	PERM_OPERATION_CREATE PermissionOperationName = "CREATE"
	PERM_OPERATION_READ   PermissionOperationName = "READ"
	PERM_OPERATION_UPDATE PermissionOperationName = "UPDATE"
	PERM_OPERATION_DELETE PermissionOperationName = "DELETE"
)

type ProvisionedAD added in v1.2.0

type ProvisionedAD struct {
	//provisioning.ProvisionedAD
	SamAccountNameScheme string `json:"samAccountNameScheme,omitempty"`
}

ProvisionedAD Additional Parameters for specific ProvisionedSystem type

type ProvisionedAbstract added in v1.2.0

type ProvisionedAbstract struct {
	Host                       string       `json:"host,omitempty"`
	Port                       int          `json:"port,omitempty"`
	FailoverHost               string       `json:"failoverHost,omitempty"`
	TLS                        string       `json:"tls,omitempty"`
	BaseDN                     string       `json:"baseDN,omitempty"`
	BindDN                     string       `json:"bindDN,omitempty"`
	BindPassword               string       `json:"bindPassword,omitempty"`
	UserDN                     string       `json:"userDN,omitempty"`
	GroupDN                    string       `json:"groupDN,omitempty"`
	SshPublicKeySupported      bool         `json:"sshPublicKeySupported,omitempty"`
	ObjectClasses              string       `json:"objectClasses,omitempty"`
	TrustedCertificate         *Certificate `json:"trustedCertificate,omitempty"`
	FailoverTrustedCertificate *Certificate `json:"failoverTrustedCertificate,omitempty"`
	ClientCertificate          *Certificate `json:"clientCertificate,omitempty"`
	Attributes                 interface{}  `json:"attributes,omitempty"`
}

ProvisionedAbstract Base parameters for ProvisionedSystems

type ProvisionedAccount added in v1.2.0

type ProvisionedAccount struct {
	Account

	UId int `json:"uid,omitempty"` //ReadOnly
}

ProvisionedAccount Placeholder

type ProvisionedAzureOIDCDirectory added in v1.2.0

type ProvisionedAzureOIDCDirectory struct {
	//provisioning.ProvisionedAzureOIDCDirectory
	Tenant    string      `json:"tenant,omitempty"`
	Directory interface{} `json:"directory,omitempty"` // directory_AccountDirectoryPrimer
}

ProvisionedAzureOIDCDirectory Additional Parameters for specific ProvisionedSystem type

type ProvisionedAzureSyncLDAPDirectory added in v1.2.0

type ProvisionedAzureSyncLDAPDirectory struct {
	//provisioning.ProvisionedAzureSyncLDAPDirectory
	ClientId     string      `json:"clientId,omitempty"`
	ClientSecret string      `json:"clientSecret,omitempty"`
	Tenant       string      `json:"tenant,omitempty"`
	Directory    interface{} `json:"directory,omitempty"` // directory_AccountDirectoryPrimer
}

ProvisionedAzureSyncLDAPDirectory Additional Parameters for specific ProvisionedSystem type

type ProvisionedAzureTenant added in v1.2.0

type ProvisionedAzureTenant struct {
	//provisioning.ProvisionedAzureTenant
	ClientId     string `json:"clientId,omitempty"`
	ClientSecret string `json:"clientSecret,omitempty"`
	Tenant       string `json:"tenant,omitempty"`
	IdpDomain    string `json:"idpDomain,omitempty"`
}

ProvisionedAzureTenant Additional Parameters for specific ProvisionedSystem type

type ProvisionedInternalLDAP added in v1.2.0

type ProvisionedInternalLDAP struct {
	//provisioning.ProvisionedInternalLDAP
	Client interface{} `json:"client,omitempty"` // client_ldapClient
}

ProvisionedInternalLDAP Additional Parameters for specific ProvisionedSystem type

type ProvisionedLDAP added in v1.2.0

type ProvisionedLDAP struct {
	//provisioning.ProvisionedLDAP
	GID           int         `json:"gid,omitempty"`
	HashingScheme string      `json:"hashingScheme"`
	Numbering     interface{} `json:"numbering,omitempty"` // provisioning_ProvisionNumberSequence
}

ProvisionedLDAP Additional Parameters for specific ProvisionedSystem type

type ProvisionedLDAPDirectory added in v1.2.0

type ProvisionedLDAPDirectory struct {
	//provisioning.ProvisionedLDAPDirectory
	Directory interface{} `json:"directory,omitempty"` // directory_AccountDirectoryPrimer
	GroupDN   string      `json:"groupDN,omitempty"`
}

ProvisionedLDAPDirectory Additional Parameters for specific ProvisionedSystem type

type ProvisionedSystem added in v1.2.0

type ProvisionedSystem struct {
	ProvisionedSystemPrimer

	ProvisionedAbstract

	AccountCount           int    `json:"accountCount,omitempty"`
	UsernamePrefix         string `json:"usernamePrefix,omitempty"`
	TechnicalAdministrator *Group `json:"technicalAdministrator,omitempty"`
	ExternalUUID           string `json:"externalUUID,omitempty"`
}

ProvisionedSystem Generic ProvisionedSystem Class

func NewProvisionedSystem added in v1.2.0

func NewProvisionedSystem() *ProvisionedSystem

NewProvisionedSystem Initialize a new ProvisionedSystem

func (*ProvisionedSystem) AsPrimer added in v1.2.0

func (p *ProvisionedSystem) AsPrimer() *ProvisionedSystem

AsPrimer Return ProvisionedSystem with only Primer data

func (*ProvisionedSystem) ToPrimer added in v1.2.0

AsPrimer Convert to ProvisionedSystemPrimer

type ProvisionedSystemList added in v1.2.0

type ProvisionedSystemList struct {
	DType string              `json:"$type,omitempty"`
	Items []ProvisionedSystem `json:"items,omitempty"`
}

ProvisionedSystemList list of ProvisionedSystem

func NewProvisionedSystemList added in v1.2.0

func NewProvisionedSystemList() *ProvisionedSystemList

NewProvisionedSystemList Initialize a new ProvisionedSystemList

type ProvisionedSystemPrimer added in v1.2.0

type ProvisionedSystemPrimer struct {
	Linkable
	Active bool                  `json:"active,omitempty"`
	UUID   string                `json:"uuid,omitempty"`
	Name   string                `json:"name,omitempty"`
	Type   ProvisionedSystemType `json:"type,omitempty"`
}

ProvisionedSystemPrimer Primer Class for ProvisionedSystem

type ProvisionedSystemType added in v1.2.0

type ProvisionedSystemType string

ProvisionedSystemType Use constants as enum for type

type ProvisioningGroup added in v1.2.0

type ProvisioningGroup struct {
	Linkable

	GroupOnSystem      *GroupOnSystem `json:"groupOnSystem,omitempty"`
	Group              *Group         `json:"group"`
	ActivationRequired bool           `json:"activationRequired"`
}

ProvisioningGroup instance of group.ProvisioningGroup

func NewProvisioningGroup added in v1.2.0

func NewProvisioningGroup() *ProvisioningGroup

Section: Group

type ProvisioningGroupList added in v1.2.0

type ProvisioningGroupList struct {
	DType string              `json:"$type,omitempty"`
	Items []ProvisioningGroup `json:"items"`
}

ProvisioningGroupList List of ProvisioningGroup

func NewProvisioningGroupList added in v1.2.0

func NewProvisioningGroupList() *ProvisioningGroupList

NewProvisioningGroupList Initialize a new ProvisioningGroupList

type Range added in v1.1.1

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

func NewRange added in v1.1.1

func NewRange() *Range

func (*Range) GetRequestModeHeader added in v1.1.1

func (r *Range) GetRequestModeHeader() (string, string)

func (*Range) GetRequestRangeHeader added in v1.1.1

func (r *Range) GetRequestRangeHeader() (string, string)

func (*Range) NextPage added in v1.1.1

func (r *Range) NextPage() bool

func (*Range) ParseResponse added in v1.1.1

func (r *Range) ParseResponse(response *http.Response)

func (*Range) PreviousPage added in v1.1.1

func (r *Range) PreviousPage() bool

func (*Range) Setup added in v1.1.1

func (r *Range) Setup(perpage int)

type RecordWarningPeriod added in v1.2.4

type RecordWarningPeriod string
const (
	WARNINGPERIOD_AT_EXPIRATION RecordWarningPeriod = "AT_EXPIRATION"
	WARNINGPERIOD_TWO_WEEKS     RecordWarningPeriod = "TWO_WEEKS"
	WARNINGPERIOD_ONE_MONTH     RecordWarningPeriod = "ONE_MONTH"
	WARNINGPERIOD_TWO_MONTHS    RecordWarningPeriod = "TWO_MONTHS"
	WARNINGPERIOD_THREE_MONTHS  RecordWarningPeriod = "THREE_MONTHS"
	WARNINGPERIOD_SIX_MONTHS    RecordWarningPeriod = "SIX_MONTHS"
	WARNINGPERIOD_NEVER         RecordWarningPeriod = "NEVER"
)

type SAPasswordRotation added in v1.3.1

type SAPasswordRotation string
const (
	SA_PASSWORD_ROTATION_MANUAL     SAPasswordRotation = "MANUAL"
	SA_PASSWORD_ROTATION_MANUAL_SIV SAPasswordRotation = "MANUAL_STORED_IN_VAULT"
	SA_PASSWORD_ROTATION_DAILY      SAPasswordRotation = "DAILY"
)

type ServiceAccount added in v1.3.1

type ServiceAccount struct {
	ServiceAccountPrimer

	TechnicalAdministrator *Group             `json:"technicalAdministrator,omitempty"`
	PasswordRotation       SAPasswordRotation `json:"passwordRotation"`
	Description            string             `json:"description,omitempty"`
	Password               *VaultRecord       `json:"password,omitempty"`
}

func NewServiceAccount added in v1.3.1

func NewServiceAccount() *ServiceAccount

func (*ServiceAccount) AsPrimer added in v1.3.1

func (s *ServiceAccount) AsPrimer() *ServiceAccount

AsPrimer Return ServiceAccount with only Primer data

func (*ServiceAccount) ToPrimer added in v1.3.1

func (s *ServiceAccount) ToPrimer() *ServiceAccountPrimer

ToPrimer Convert to serviceAccountPrimer

type ServiceAccountAdditionalQueryParams added in v1.3.1

type ServiceAccountAdditionalQueryParams struct {
	Audit   bool `url:"audit"`
	Groups  bool `url:"groups"`
	Secrets bool `url:"secrets"`
}

func (ServiceAccountAdditionalQueryParams) EncodeValues added in v1.3.1

func (p ServiceAccountAdditionalQueryParams) EncodeValues(key string, v *url.Values) error

EncodeValues Custom url encoder to convert bools to list

type ServiceAccountGroup added in v1.3.1

type ServiceAccountGroup struct {
	GroupOnSystem
}

type ServiceAccountGroupList added in v1.3.1

type ServiceAccountGroupList struct {
	Items []ServiceAccountGroup `json:"items"`
}

type ServiceAccountList added in v1.3.1

type ServiceAccountList struct {
	Items []ServiceAccount `json:"items"`
}

type ServiceAccountPrimer added in v1.3.1

type ServiceAccountPrimer struct {
	Linkable

	Active   bool               `json:"active"`
	UUID     uuid.UUID          `json:"uuid,omitempty"`
	Name     string             `json:"name"`
	Username string             `json:"username"`
	System   *ProvisionedSystem `json:"system"`
}

type ServiceAccountQueryParams added in v1.3.1

type ServiceAccountQueryParams struct {
	UUID                         string                               `url:"uuid,omitempty"`
	CreatedAfter                 time.Time                            `url:"createdAfter,omitempty" layout:"2006-01-02T15:04:05Z"`
	CreatedBefore                time.Time                            `url:"createdBefore,omitempty" layout:"2006-01-02T15:04:05Z"`
	ModifiedSince                time.Time                            `url:"createdBefore,omitempty" layout:"2006-01-02T15:04:05Z"`
	Additional                   *ServiceAccountAdditionalQueryParams `url:"additional,omitempty"`
	Exclude                      []int64                              `url:"exclude,omitempty"`
	Id                           []int64                              `url:"id,omitempty"`
	CQLQuery                     string                               `url:"q,omitempty"`
	Active                       string                               `url:"active,omitempty"`
	GroupOnSystem                int64                                `url:"groupOnSystem,omitempty"`
	GroupOnSystemOwners          int64                                `url:"groupOnSystemOwners,omitempty"`
	Name                         string                               `url:"name,omitempty"`
	NameContains                 string                               `url:"nameContains,omitempty"`
	NameDoesNotStartWith         string                               `url:"nameDoesNotStartWith,omitempty"`
	NameStartsWith               string                               `url:"nameStartsWith,omitempty"`
	Password                     int64                                `url:"password,omitempty"`
	PasswordRotation             string                               `url:"passwordRotation,omitempty"`
	RequestedGroupOnSystemOwners int64                                `url:"requestedGroupOnSystemOwners,omitempty"`
	System                       int64                                `url:"system,omitempty"`
	TechnicalAdministrator       int64                                `url:"technicalAdministrator,omitempty"`
	Username                     string                               `url:"Username,omitempty"`
}

type VaultRecord

type VaultRecord struct {
	Linkable
	AdditionalObjects *VaultRecordAdditionalObjects `json:"additionalObjects,omitempty"`

	UUID          string              `json:"uuid,omitempty"`
	Name          string              `json:"name"`
	URL           string              `json:"url,omitempty"`
	Username      string              `json:"username,omitempty"`
	Color         string              `json:"color,omitempty"` // see bottom of file for color values
	Filename      string              `json:"filename,omitempty"`
	Types         []string            `json:"types,omitempty"`
	EndDate       time.Time           `json:"endDate,omitempty" layout:"2006-01-02"` // Layout don't work for json, only url but kept as reference
	WarningPeriod RecordWarningPeriod `json:"warningPeriod,omitempty"`
}

func NewVaultRecord

func NewVaultRecord(name string, secrets *VaultRecordSecretAdditionalObject) *VaultRecord

func (*VaultRecord) Comment

func (r *VaultRecord) Comment() *string

func (*VaultRecord) CreatedAt

func (r *VaultRecord) CreatedAt() time.Time

func (*VaultRecord) CreatedBy

func (r *VaultRecord) CreatedBy() string

func (*VaultRecord) File

func (r *VaultRecord) File() *[]byte

func (*VaultRecord) LastModifiedAt

func (r *VaultRecord) LastModifiedAt() time.Time

func (*VaultRecord) LastModifiedBy

func (r *VaultRecord) LastModifiedBy() string

func (VaultRecord) MarshalJSON added in v1.2.4

func (r VaultRecord) MarshalJSON() ([]byte, error)

Custom marshal function to format time.Time enddate to "Y-m-d" string

func (*VaultRecord) Password

func (r *VaultRecord) Password() *string

func (*VaultRecord) UnmarshalJSON added in v1.2.4

func (r *VaultRecord) UnmarshalJSON(data []byte) error

Custom unmarshal function to parse "Y-m-d" enddate to a time.Time field

type VaultRecordAdditionalObjects

type VaultRecordAdditionalObjects struct {
	Audit  *AuditAdditionalObject             `json:"audit,omitempty"`
	Secret *VaultRecordSecretAdditionalObject `json:"secret,omitempty"`
}

type VaultRecordAdditionalQueryParams

type VaultRecordAdditionalQueryParams struct {
	Audit  bool `url:"audit"`
	Secret bool `url:"secret"`
}

func (VaultRecordAdditionalQueryParams) EncodeValues added in v1.2.0

func (p VaultRecordAdditionalQueryParams) EncodeValues(key string, v *url.Values) error

type VaultRecordList

type VaultRecordList struct {
	Items []VaultRecord `json:"items"`
}

type VaultRecordQueryParams

type VaultRecordQueryParams struct {
	UUID         string                            `url:"uuid,omitempty"`
	Name         string                            `url:"name,omitempty"`
	Filename     string                            `url:"filename,omitempty"`
	URL          string                            `url:"url,omitempty"`
	Username     string                            `url:"username,omitempty"`
	Color        string                            `url:"color,omitempty"` // see below for color values
	NameContains string                            `url:"nameContains,omitempty"`
	Additional   *VaultRecordAdditionalQueryParams `url:"additional,omitempty"`
}

type VaultRecordSearchQueryParams added in v1.1.0

type VaultRecordSearchQueryParams struct {
	UUID                         string    `url:"uuid,omitempty"`
	ID                           string    `url:"id,omitempty"`
	AccessibleByClient           string    `url:"accessibleByClient,omitempty"`
	Additional                   []string  `url:"additional,omitempty"`
	AccessibleByAccount          string    `url:"accessibleByAccount,omitempty"`
	AccessibleByAccountAsManager string    `url:"accessibleByAccountAsManager,omitempty"`
	Any                          bool      `url:"any,omitempty"`
	CreatedAfter                 time.Time `url:"createdAfter,omitempty"`
	CreatedBefore                time.Time `url:"createdBefore,omitempty"`
	ModifiedSince                time.Time `url:"modifiedSince,omitempty"`
	Exclude                      []string  `url:"exclude,omitempty"`
	Q                            string    `url:"q,omitempty"`
	Color                        string    `url:"color,omitempty"` // see below for color values
	ExpireWarningBeforeOrAt      time.Time `url:"expireWarningBeforeOrAt,omitempty" layout:"2006-01-02"`
	Filename                     string    `url:"filename,omitempty"`
	HasNoPolicy                  bool      `url:"hasNoPolicy,omitempty"`
	HasParent                    bool      `url:"hasParent,omitempty"`
	HasValidPolicy               bool      `url:"hasValidPolicy,omitempty"`
	Name                         string    `url:"name,omitempty"`
	NameContains                 string    `url:"nameContains,omitempty"`
	Parent                       string    `url:"parent,omitempty"`
	Secret                       string    `url:"secret,omitempty"`
	ShareExpiresBeforeOrAt       time.Time `url:"shareExpiresBeforeOrAt,omitempty"`
	Url                          string    `url:"url,omitempty"`
	Username                     string    `url:"username,omitempty"`
	Uuid                         string    `url:"uuid,omitempty"`
	Vault                        string    `url:"vault,omitempty"`
}

type VaultRecordSecretAdditionalObject

type VaultRecordSecretAdditionalObject struct {
	DType    string  `json:"$type"`
	Password *string `json:"password,omitempty"`
	Totp     *string `json:"totp,omitempty"`
	File     *[]byte `json:"file"`
	Comment  *string `json:"comment"`
}

type VersionInfo added in v1.1.0

type VersionInfo struct {
	KeyhubVersion    string `json:"keyHubVersion"`
	ContractVersions []int  `json:"contractVersions"`
}

func NewVersionInfo added in v1.1.0

func NewVersionInfo(keyHubVersion string, contractVersions []int) *VersionInfo

Jump to

Keyboard shortcuts

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