Documentation
¶
Index ¶
- Constants
- type Cloneable
- type CredentialLibrary
- type Option
- func WithCredentialLibraries(cl []string) Option
- func WithDefaultPort(p uint32) Option
- func WithDescription(desc string) Option
- func WithHostSets(hs []string) Option
- func WithLimit(limit int) Option
- func WithName(name string) Option
- func WithPublicId(id string) Option
- func WithScopeId(scopeId string) Option
- func WithScopeIds(scopeIds []string) Option
- func WithScopeName(scopeName string) Option
- func WithSessionConnectionLimit(limit int32) Option
- func WithSessionMaxSeconds(dur uint32) Option
- func WithTargetType(t TargetType) Option
- func WithUserId(userId string) Option
- func WithWorkerFilter(filter string) Option
- type Repository
- func (r *Repository) AddTargetCredentialLibraries(ctx context.Context, targetId string, targetVersion uint32, clIds []string, ...) (Target, []*TargetSet, []*TargetLibrary, error)
- func (r *Repository) AddTargetHostSets(ctx context.Context, targetId string, targetVersion uint32, ...) (Target, []*TargetSet, []*TargetLibrary, error)
- func (r *Repository) CreateTcpTarget(ctx context.Context, target *TcpTarget, opt ...Option) (Target, []*TargetSet, []*TargetLibrary, error)
- func (r *Repository) DeleteTargeHostSets(ctx context.Context, targetId string, targetVersion uint32, ...) (int, error)
- func (r *Repository) DeleteTarget(ctx context.Context, publicId string, _ ...Option) (int, error)
- func (r *Repository) DeleteTargetCredentialLibraries(ctx context.Context, targetId string, targetVersion uint32, clIds []string, ...) (int, error)
- func (r *Repository) ListTargets(ctx context.Context, opt ...Option) ([]Target, error)
- func (r *Repository) LookupTarget(ctx context.Context, publicIdOrName string, opt ...Option) (Target, []*TargetSet, []*TargetLibrary, error)
- func (r *Repository) SetTargetCredentialLibraries(ctx context.Context, targetId string, targetVersion uint32, clIds []string, ...) ([]*TargetSet, []*TargetLibrary, int, error)
- func (r *Repository) SetTargetHostSets(ctx context.Context, targetId string, targetVersion uint32, ...) ([]*TargetSet, []*TargetLibrary, int, error)
- func (r *Repository) UpdateTcpTarget(ctx context.Context, target *TcpTarget, version uint32, ...) (Target, []*TargetSet, []*TargetLibrary, int, error)
- type Subtype
- type Target
- type TargetHostSet
- type TargetLibrary
- type TargetSet
- type TargetType
- type TcpTarget
Constants ¶
const (
DefaultTargetHostSetTableName = "target_host_set"
)
const (
DefaultTcpTableName = "target_tcp"
)
const (
TcpTargetPrefix = "ttcp"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Cloneable ¶
type Cloneable interface {
Clone() interface{}
}
Cloneable provides a cloning interface
type CredentialLibrary ¶ added in v0.4.0
type CredentialLibrary struct { *store.CredentialLibrary // contains filtered or unexported fields }
A CredentialLibrary represents the relationship between a target and a credential library.
func NewCredentialLibrary ¶ added in v0.4.0
func NewCredentialLibrary(targetId, credentialLibraryId string, _ ...Option) (*CredentialLibrary, error)
NewCredentialLibrary creates a new in memory CredentialLibrary representing the relationship between targetId and credentialLibraryId.
func TestCredentialLibrary ¶ added in v0.4.0
func TestCredentialLibrary(t *testing.T, conn *gorm.DB, targetId, libraryId string) *CredentialLibrary
TestCredentialLibrary creates a CredentialLibrary for targetId and libraryId.
func (*CredentialLibrary) SetTableName ¶ added in v0.4.0
func (t *CredentialLibrary) SetTableName(n string)
SetTableName sets the table name.
func (*CredentialLibrary) TableName ¶ added in v0.4.0
func (t *CredentialLibrary) TableName() string
TableName returns the table name.
type Option ¶
type Option func(*options)
Option - how Options are passed as arguments
func WithCredentialLibraries ¶ added in v0.4.0
WithCredentialLibraries provides an option for providing a list of credential library ids
func WithDefaultPort ¶
WithDefaultPort provides an option to specify the default target port.
func WithDescription ¶
WithDescription provides an optional description
func WithHostSets ¶
WithHostSets provides an option for providing a list of host set ids
func WithLimit ¶
WithLimit provides an option to provide a limit. Intentionally allowing negative integers. If WithLimit < 0, then unlimited results are returned. If WithLimit == 0, then default limits are used for results.
func WithScopeId ¶
WithScopeId provides an option to search by a scope id
func WithScopeIds ¶ added in v0.1.5
WithScopeId provides an option to search by multiple scope id
func WithScopeName ¶ added in v0.1.1
WithScopeId provides an option to search by a scope name
func WithSessionMaxSeconds ¶
func WithTargetType ¶
func WithTargetType(t TargetType) Option
WithTargetType provides an option to search by a target type
func WithUserId ¶
WithUserId provides an option to search by a user public id
func WithWorkerFilter ¶ added in v0.1.5
WithWorkerFilter provides an optional worker filter
type Repository ¶
type Repository struct {
// contains filtered or unexported fields
}
Repository is the target database repository
func NewRepository ¶
NewRepository creates a new target Repository. Supports the options: WithLimit which sets a default limit on results returned by repo operations.
func (*Repository) AddTargetCredentialLibraries ¶ added in v0.4.0
func (r *Repository) AddTargetCredentialLibraries(ctx context.Context, targetId string, targetVersion uint32, clIds []string, _ ...Option) (Target, []*TargetSet, []*TargetLibrary, error)
AddTargetCredentialLibraries adds the clIds to the targetId in the repository. The target and the list of credential libraries attached to the target, after clIds are added, will be returned on success. The targetVersion must match the current version of the targetId in the repository.
func (*Repository) AddTargetHostSets ¶
func (r *Repository) AddTargetHostSets(ctx context.Context, targetId string, targetVersion uint32, hostSetIds []string, _ ...Option) (Target, []*TargetSet, []*TargetLibrary, error)
AddTargetHostSets provides the ability to add host sets (hostSetIds) to a target (targetId). The target's current db version must match the targetVersion or an error will be returned. The target and a list of current host set ids will be returned on success. Zero is not a valid value for the WithVersion option and will return an error.
func (*Repository) CreateTcpTarget ¶
func (r *Repository) CreateTcpTarget(ctx context.Context, target *TcpTarget, opt ...Option) (Target, []*TargetSet, []*TargetLibrary, error)
CreateTcpTarget inserts into the repository and returns the new Target with its list of host sets and credential libraries. WithHostSets and WithCredentialLibraries are the only supported option.
func (*Repository) DeleteTargeHostSets ¶
func (r *Repository) DeleteTargeHostSets(ctx context.Context, targetId string, targetVersion uint32, hostSetIds []string, _ ...Option) (int, error)
DeleteTargeHostSets deletes host sets from a target (targetId). The target's current db version must match the targetVersion or an error will be returned. Zero is not a valid value for the WithVersion option and will return an error.
func (*Repository) DeleteTarget ¶
DeleteTarget will delete a target from the repository.
func (*Repository) DeleteTargetCredentialLibraries ¶ added in v0.4.0
func (r *Repository) DeleteTargetCredentialLibraries(ctx context.Context, targetId string, targetVersion uint32, clIds []string, _ ...Option) (int, error)
DeleteTargetCredentialLibraries deletes credential libraries from a target in the repository. The target's current db version must match the targetVersion or an error will be returned.
func (*Repository) ListTargets ¶
ListTargets in targets in a scope. Supports the WithScopeId, WithLimit, WithTargetType options.
func (*Repository) LookupTarget ¶
func (r *Repository) LookupTarget(ctx context.Context, publicIdOrName string, opt ...Option) (Target, []*TargetSet, []*TargetLibrary, error)
LookupTarget will look up a target in the repository and return the target with its host set ids and credential library ids. If the target is not found, it will return nil, nil, nil, nil. No options are currently supported.
func (*Repository) SetTargetCredentialLibraries ¶ added in v0.4.0
func (r *Repository) SetTargetCredentialLibraries(ctx context.Context, targetId string, targetVersion uint32, clIds []string, _ ...Option) ([]*TargetSet, []*TargetLibrary, int, error)
SetTargetCredentialLibraries will set the target's credential libraries. Set will add and/or delete credential libraries as need to reconcile the existing credential libraries with the request. If clIds is empty, all the credential libraries will be cleared from the target.
func (*Repository) SetTargetHostSets ¶
func (r *Repository) SetTargetHostSets(ctx context.Context, targetId string, targetVersion uint32, hostSetIds []string, _ ...Option) ([]*TargetSet, []*TargetLibrary, int, error)
SetTargetHostSets will set the target's host sets. Set add and/or delete target host sets as need to reconcile the existing sets with the sets requested. If hostSetIds is empty, the target host sets will be cleared. Zero is not a valid value for the WithVersion option and will return an error.
func (*Repository) UpdateTcpTarget ¶
func (r *Repository) UpdateTcpTarget(ctx context.Context, target *TcpTarget, version uint32, fieldMaskPaths []string, _ ...Option) (Target, []*TargetSet, []*TargetLibrary, int, error)
UpdateTcpTarget will update a target in the repository and return the written target. fieldMaskPaths provides field_mask.proto paths for fields that should be updated. Fields will be set to NULL if the field is a zero value and included in fieldMask. Name, Description, and WorkerFilter are the only updatable fields. If no updatable fields are included in the fieldMaskPaths, then an error is returned.
type Subtype ¶ added in v0.2.2
type Subtype int
func SubtypeFromId ¶
SubtypeFromId takes any public id in the target subsystem and uses the prefix to determine what subtype the id is for. Returns UnknownSubtype if no Subtype with this id's prefix is found.
func SubtypeFromType ¶
SubtypeFromType converts a string to a Subtype. returns UnknownSubtype if no Subtype with that name is found.
type Target ¶
type Target interface { GetPublicId() string GetScopeId() string GetDefaultPort() uint32 GetName() string GetDescription() string GetVersion() uint32 GetType() string GetCreateTime() *timestamp.Timestamp GetUpdateTime() *timestamp.Timestamp GetSessionMaxSeconds() uint32 GetSessionConnectionLimit() int32 GetWorkerFilter() string // contains filtered or unexported methods }
Target is a commmon interface for all target subtypes
type TargetHostSet ¶
type TargetHostSet struct { *store.TargetHostSet // contains filtered or unexported fields }
func NewTargetHostSet ¶
func NewTargetHostSet(targetId, hostSetId string, _ ...Option) (*TargetHostSet, error)
NewTargetHostSet creates a new in memory target host set. No options are currently supported.
func (*TargetHostSet) Clone ¶
func (t *TargetHostSet) Clone() interface{}
Clone creates a clone of the target host set
func (*TargetHostSet) SetTableName ¶
func (t *TargetHostSet) SetTableName(n string)
SetTableName sets the tablename and satisfies the ReplayableMessage interface. If the caller attempts to set the name to "" the name will be reset to the default name.
func (*TargetHostSet) TableName ¶
func (t *TargetHostSet) TableName() string
TableName returns the tablename to override the default gorm table name
type TargetLibrary ¶ added in v0.4.0
type TargetLibrary struct { *store.CredentialLibrary StoreId string }
A TargetLibrary represents the relationship between a target and a credential library and includes the id of the credential store that the library is a part of and the library's name and description.
func (*TargetLibrary) TableName ¶ added in v0.4.0
func (ts *TargetLibrary) TableName() string
TableName returns the tablename to override the default gorm table name
type TargetType ¶
type TargetType uint32
TargetType defines the possible types for targets.
const ( UnknownTargetType TargetType = 0 TcpTargetType TargetType = 1 )
func (TargetType) String ¶
func (t TargetType) String() string
String returns a string representation of the target type.
type TcpTarget ¶
func NewTcpTarget ¶
NewTcpTarget creates a new in memory tcp target. WithName, WithDescription and WithDefaultPort options are supported
func TestTcpTarget ¶
func (*TcpTarget) Clone ¶
func (t *TcpTarget) Clone() interface{}
Clone creates a clone of the TcpTarget
func (*TcpTarget) SetTableName ¶
SetTableName sets the tablename and satisfies the ReplayableMessage interface. If the caller attempts to set the name to "" the name will be reset to the default name.