targets

package
v0.0.49 Latest Latest
Warning

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

Go to latest
Published: Apr 30, 2024 License: MPL-2.0 Imports: 16 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Alias added in v0.0.49

type Alias struct {
	Id         string                 `json:"id,omitempty"`
	Value      string                 `json:"value,omitempty"`
	ScopeId    string                 `json:"scope_id,omitempty"`
	Attributes *TargetAliasAttributes `json:"attributes,omitempty"`
}

type AuthorizeSessionArguments added in v0.0.49

type AuthorizeSessionArguments struct {
	HostId string `json:"host_id,omitempty"`
}

type Client

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

Client is a client for this collection

func NewClient

func NewClient(c *api.Client) *Client

Creates a new client for this collection. The submitted API client is cloned; modifications to it after generating this client will not have effect. If you need to make changes to the underlying API client, use ApiClient() to access it.

func (*Client) AddCredentialSources added in v0.0.15

func (c *Client) AddCredentialSources(ctx context.Context, id string, version uint32, opt ...Option) (*TargetUpdateResult, error)

func (*Client) AddHostSources added in v0.0.15

func (c *Client) AddHostSources(ctx context.Context, id string, version uint32, hostSourceIds []string, opt ...Option) (*TargetUpdateResult, error)

func (*Client) ApiClient

func (c *Client) ApiClient() *api.Client

ApiClient returns the underlying API client

func (*Client) AuthorizeSession

func (c *Client) AuthorizeSession(ctx context.Context, targetId string, opt ...Option) (*SessionAuthorizationResult, error)

func (*Client) Create

func (c *Client) Create(ctx context.Context, resourceType string, scopeId string, opt ...Option) (*TargetCreateResult, error)

func (*Client) Delete

func (c *Client) Delete(ctx context.Context, id string, opt ...Option) (*TargetDeleteResult, error)

func (*Client) List

func (c *Client) List(ctx context.Context, scopeId string, opt ...Option) (*TargetListResult, error)

func (*Client) Read

func (c *Client) Read(ctx context.Context, id string, opt ...Option) (*TargetReadResult, error)

func (*Client) RemoveCredentialSources added in v0.0.15

func (c *Client) RemoveCredentialSources(ctx context.Context, id string, version uint32, opt ...Option) (*TargetUpdateResult, error)

func (*Client) RemoveHostSources added in v0.0.15

func (c *Client) RemoveHostSources(ctx context.Context, id string, version uint32, hostSourceIds []string, opt ...Option) (*TargetUpdateResult, error)

func (*Client) SetCredentialSources added in v0.0.15

func (c *Client) SetCredentialSources(ctx context.Context, id string, version uint32, opt ...Option) (*TargetUpdateResult, error)

func (*Client) SetHostSources added in v0.0.15

func (c *Client) SetHostSources(ctx context.Context, id string, version uint32, hostSourceIds []string, opt ...Option) (*TargetUpdateResult, error)

func (*Client) Update

func (c *Client) Update(ctx context.Context, id string, version uint32, opt ...Option) (*TargetUpdateResult, error)

type CredentialSource added in v0.0.15

type CredentialSource struct {
	Id                string `json:"id,omitempty"`
	Name              string `json:"name,omitempty"`
	Description       string `json:"description,omitempty"`
	CredentialStoreId string `json:"credential_store_id,omitempty"`
	Type              string `json:"type,omitempty"`
	CredentialType    string `json:"credential_type,omitempty"`
}

type HostSource added in v0.0.15

type HostSource struct {
	Id            string `json:"id,omitempty"`
	HostCatalogId string `json:"host_catalog_id,omitempty"`
}

type Option

type Option func(*options)

Option is a func that sets optional attributes for a call. This does not need to be used directly, but instead option arguments are built from the functions in this package. WithX options set a value to that given in the argument; DefaultX options indicate that the value should be set to its default. When an API call is made options are processed in the order they appear in the function call, so for a given argument X, a succession of WithX or DefaultX calls will result in the last call taking effect.

func DefaultAddress added in v0.0.33

func DefaultAddress() Option

func DefaultAttributes

func DefaultAttributes() Option

func DefaultBrokeredCredentialSourceIds added in v0.0.26

func DefaultBrokeredCredentialSourceIds() Option

func DefaultDescription

func DefaultDescription() Option

func DefaultEgressWorkerFilter added in v0.0.33

func DefaultEgressWorkerFilter() Option

func DefaultIngressWorkerFilter added in v0.0.33

func DefaultIngressWorkerFilter() Option

func DefaultInjectedApplicationCredentialSourceIds added in v0.0.26

func DefaultInjectedApplicationCredentialSourceIds() Option

func DefaultName

func DefaultName() Option

func DefaultSessionConnectionLimit

func DefaultSessionConnectionLimit() Option

func DefaultSessionMaxSeconds

func DefaultSessionMaxSeconds() Option

func DefaultSshTargetDefaultClientPort added in v0.0.36

func DefaultSshTargetDefaultClientPort() Option

func DefaultSshTargetDefaultPort added in v0.0.26

func DefaultSshTargetDefaultPort() Option

func DefaultSshTargetStorageBucketId added in v0.0.37

func DefaultSshTargetStorageBucketId() Option

func DefaultTcpTargetDefaultClientPort added in v0.0.36

func DefaultTcpTargetDefaultClientPort() Option

func DefaultTcpTargetDefaultPort

func DefaultTcpTargetDefaultPort() Option

func DefaultWorkerFilter added in v0.0.4

func DefaultWorkerFilter() Option

func WithAddress added in v0.0.33

func WithAddress(inAddress string) Option

func WithAliases added in v0.0.49

func WithAliases(inAliases []Alias) Option

func WithAttributes

func WithAttributes(inAttributes map[string]interface{}) Option

func WithAutomaticVersioning

func WithAutomaticVersioning(enable bool) Option

If set, and if the version is zero during an update, the API will perform a fetch to get the current version of the resource and populate it during the update call. This is convenient but opens up the possibility for subtle order-of-modification issues, so use carefully.

func WithBrokeredCredentialSourceIds added in v0.0.26

func WithBrokeredCredentialSourceIds(inBrokeredCredentialSourceIds []string) Option

func WithDescription

func WithDescription(inDescription string) Option

func WithEgressWorkerFilter added in v0.0.33

func WithEgressWorkerFilter(inEgressWorkerFilter string) Option

func WithFilter added in v0.0.6

func WithFilter(filter string) Option

WithFilter tells the API to filter the items returned using the provided filter term. The filter should be in a format supported by hashicorp/go-bexpr.

func WithHostId

func WithHostId(inHostId string) Option

func WithIngressWorkerFilter added in v0.0.33

func WithIngressWorkerFilter(inIngressWorkerFilter string) Option

func WithInjectedApplicationCredentialSourceIds added in v0.0.26

func WithInjectedApplicationCredentialSourceIds(inInjectedApplicationCredentialSourceIds []string) Option

func WithListToken added in v0.0.44

func WithListToken(listToken string) Option

WithListToken tells the API to use the provided list token for listing operations on this resource.

func WithName

func WithName(inName string) Option

func WithRecursive added in v0.0.4

func WithRecursive(recurse bool) Option

WithRecursive tells the API to use recursion for listing operations on this resource

func WithScopeId added in v0.0.2

func WithScopeId(inScopeId string) Option

func WithScopeName added in v0.0.2

func WithScopeName(inScopeName string) Option

func WithSessionConnectionLimit

func WithSessionConnectionLimit(inSessionConnectionLimit int32) Option

func WithSessionMaxSeconds

func WithSessionMaxSeconds(inSessionMaxSeconds uint32) Option

func WithSkipCurlOutput added in v0.0.4

func WithSkipCurlOutput(skip bool) Option

WithSkipCurlOutput tells the API to not use the current call for cURL output. Useful for when we need to look up versions.

func WithSshTargetDefaultClientPort added in v0.0.36

func WithSshTargetDefaultClientPort(inDefaultClientPort uint32) Option

func WithSshTargetDefaultPort added in v0.0.26

func WithSshTargetDefaultPort(inDefaultPort uint32) Option

func WithSshTargetEnableSessionRecording added in v0.0.37

func WithSshTargetEnableSessionRecording(inEnableSessionRecording bool) Option

func WithSshTargetStorageBucketId added in v0.0.37

func WithSshTargetStorageBucketId(inStorageBucketId string) Option

func WithTcpTargetDefaultClientPort added in v0.0.36

func WithTcpTargetDefaultClientPort(inDefaultClientPort uint32) Option

func WithTcpTargetDefaultPort

func WithTcpTargetDefaultPort(inDefaultPort uint32) Option

func WithWorkerFilter added in v0.0.4

func WithWorkerFilter(inWorkerFilter string) Option

type SessionAuthorization

type SessionAuthorization struct {
	SessionId          string               `json:"session_id,omitempty"`
	TargetId           string               `json:"target_id,omitempty"`
	Scope              *scopes.ScopeInfo    `json:"scope,omitempty"`
	CreatedTime        time.Time            `json:"created_time,omitempty"`
	UserId             string               `json:"user_id,omitempty"`
	HostSetId          string               `json:"host_set_id,omitempty"`
	HostId             string               `json:"host_id,omitempty"`
	Type               string               `json:"type,omitempty"`
	AuthorizationToken string               `json:"authorization_token,omitempty"`
	ConnectionLimit    int32                `json:"connection_limit,omitempty"`
	Endpoint           string               `json:"endpoint,omitempty"`
	EndpointPort       uint32               `json:"endpoint_port,omitempty"`
	Expiration         time.Time            `json:"expiration,omitempty"`
	Credentials        []*SessionCredential `json:"credentials,omitempty"`
	SessionRecordingId string               `json:"session_recording_id,omitempty"`
}

func (SessionAuthorization) GetSessionAuthorizationData added in v0.0.43

func (n SessionAuthorization) GetSessionAuthorizationData() (*SessionAuthorizationData, error)

type SessionAuthorizationData added in v0.0.43

type SessionAuthorizationData struct {
	SessionId         string            `json:"session_id,omitempty"`
	TargetId          string            `json:"target_id,omitempty"`
	Scope             *scopes.ScopeInfo `json:"scope,omitempty"`
	CreatedTime       time.Time         `json:"created_time,omitempty"`
	Type              string            `json:"type,omitempty"`
	ConnectionLimit   int32             `json:"connection_limit,omitempty"`
	EndpointPort      uint32            `json:"endpoint_port,omitempty"`
	Expiration        time.Time         `json:"expiration,omitempty"`
	Certificate       []byte            `json:"certificate,omitempty"`
	PrivateKey        []byte            `json:"private_key,omitempty"`
	HostId            string            `json:"host_id,omitempty"`
	Endpoint          string            `json:"endpoint,omitempty"`
	WorkerInfo        []*WorkerInfo     `json:"worker_info,omitempty"`
	DefaultClientPort uint32            `json:"default_client_port,omitempty"`
}

type SessionAuthorizationResult

type SessionAuthorizationResult struct {
	Item *SessionAuthorization
	// contains filtered or unexported fields
}

func (SessionAuthorizationResult) GetItem

func (n SessionAuthorizationResult) GetItem() any

func (SessionAuthorizationResult) GetResponse added in v0.0.7

func (n SessionAuthorizationResult) GetResponse() *api.Response

func (SessionAuthorizationResult) GetSessionAuthorization added in v0.0.43

func (n SessionAuthorizationResult) GetSessionAuthorization() (*SessionAuthorization, error)

type SessionCredential added in v0.0.12

type SessionCredential struct {
	CredentialSource *CredentialSource      `json:"credential_source,omitempty"`
	Secret           *SessionSecret         `json:"secret,omitempty"`
	Credential       map[string]interface{} `json:"credential,omitempty"`
}

type SessionSecret added in v0.0.13

type SessionSecret struct {
	Raw     json.RawMessage        `json:"raw,omitempty"`
	Decoded map[string]interface{} `json:"decoded,omitempty"`
}

type SshTargetAttributes added in v0.0.26

type SshTargetAttributes struct {
	DefaultPort            uint32 `json:"default_port,omitempty"`
	DefaultClientPort      uint32 `json:"default_client_port,omitempty"`
	StorageBucketId        string `json:"storage_bucket_id,omitempty"`
	EnableSessionRecording bool   `json:"enable_session_recording,omitempty"`
}

func AttributesMapToSshTargetAttributes added in v0.0.26

func AttributesMapToSshTargetAttributes(in map[string]interface{}) (*SshTargetAttributes, error)

type Target

type Target struct {
	Id                                     string                 `json:"id,omitempty"`
	ScopeId                                string                 `json:"scope_id,omitempty"`
	Scope                                  *scopes.ScopeInfo      `json:"scope,omitempty"`
	Name                                   string                 `json:"name,omitempty"`
	Description                            string                 `json:"description,omitempty"`
	CreatedTime                            time.Time              `json:"created_time,omitempty"`
	UpdatedTime                            time.Time              `json:"updated_time,omitempty"`
	Version                                uint32                 `json:"version,omitempty"`
	Type                                   string                 `json:"type,omitempty"`
	HostSourceIds                          []string               `json:"host_source_ids,omitempty"`
	HostSources                            []*HostSource          `json:"host_sources,omitempty"`
	SessionMaxSeconds                      uint32                 `json:"session_max_seconds,omitempty"`
	SessionConnectionLimit                 int32                  `json:"session_connection_limit,omitempty"`
	WorkerFilter                           string                 `json:"worker_filter,omitempty"`
	EgressWorkerFilter                     string                 `json:"egress_worker_filter,omitempty"`
	IngressWorkerFilter                    string                 `json:"ingress_worker_filter,omitempty"`
	BrokeredCredentialSourceIds            []string               `json:"brokered_credential_source_ids,omitempty"`
	BrokeredCredentialSources              []*CredentialSource    `json:"brokered_credential_sources,omitempty"`
	InjectedApplicationCredentialSourceIds []string               `json:"injected_application_credential_source_ids,omitempty"`
	InjectedApplicationCredentialSources   []*CredentialSource    `json:"injected_application_credential_sources,omitempty"`
	Attributes                             map[string]interface{} `json:"attributes,omitempty"`
	AuthorizedActions                      []string               `json:"authorized_actions,omitempty"`
	Address                                string                 `json:"address,omitempty"`
	Aliases                                []*Alias               `json:"aliases,omitempty"`
	WithAliases                            []*Alias               `json:"with_aliases,omitempty"`
}

func (*Target) GetSshTargetAttributes added in v0.0.26

func (pt *Target) GetSshTargetAttributes() (*SshTargetAttributes, error)

func (*Target) GetTcpTargetAttributes added in v0.0.26

func (pt *Target) GetTcpTargetAttributes() (*TcpTargetAttributes, error)

type TargetAliasAttributes added in v0.0.49

type TargetAliasAttributes struct {
	AuthorizeSessionArguments *AuthorizeSessionArguments `json:"authorize_session_arguments,omitempty"`
}

type TargetCreateResult

type TargetCreateResult = TargetReadResult

type TargetDeleteResult

type TargetDeleteResult struct {
	Response *api.Response
}

func (TargetDeleteResult) GetItem added in v0.0.10

func (n TargetDeleteResult) GetItem() interface{}

GetItem will always be nil for TargetDeleteResult

func (TargetDeleteResult) GetResponse added in v0.0.7

func (n TargetDeleteResult) GetResponse() *api.Response

type TargetListResult

type TargetListResult struct {
	Items        []*Target `json:"items,omitempty"`
	EstItemCount uint      `json:"est_item_count,omitempty"`
	RemovedIds   []string  `json:"removed_ids,omitempty"`
	ListToken    string    `json:"list_token,omitempty"`
	ResponseType string    `json:"response_type,omitempty"`
	Response     *api.Response
}

func (TargetListResult) GetEstItemCount added in v0.0.44

func (n TargetListResult) GetEstItemCount() uint

func (TargetListResult) GetItems

func (n TargetListResult) GetItems() []*Target

func (TargetListResult) GetListToken added in v0.0.44

func (n TargetListResult) GetListToken() string

func (TargetListResult) GetRemovedIds added in v0.0.44

func (n TargetListResult) GetRemovedIds() []string

func (TargetListResult) GetResponse added in v0.0.7

func (n TargetListResult) GetResponse() *api.Response

func (TargetListResult) GetResponseType added in v0.0.44

func (n TargetListResult) GetResponseType() string

type TargetReadResult

type TargetReadResult struct {
	Item     *Target
	Response *api.Response
}

func (TargetReadResult) GetItem

func (n TargetReadResult) GetItem() *Target

func (TargetReadResult) GetResponse added in v0.0.7

func (n TargetReadResult) GetResponse() *api.Response

type TargetUpdateResult

type TargetUpdateResult = TargetReadResult

type TcpTargetAttributes

type TcpTargetAttributes struct {
	DefaultPort       uint32 `json:"default_port,omitempty"`
	DefaultClientPort uint32 `json:"default_client_port,omitempty"`
}

func AttributesMapToTcpTargetAttributes added in v0.0.26

func AttributesMapToTcpTargetAttributes(in map[string]interface{}) (*TcpTargetAttributes, error)

type WorkerInfo

type WorkerInfo struct {
	Address string `json:"address,omitempty"`
}

Jump to

Keyboard shortcuts

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