Documentation ¶
Index ¶
- func KeepAlive(roundTripper soap.RoundTripper, idleTime time.Duration) soap.RoundTripper
- func KeepAliveHandler(roundTripper soap.RoundTripper, idleTime time.Duration, ...) soap.RoundTripper
- type Manager
- func (sm *Manager) AcquireGenericServiceTicket(ctx context.Context, spec types.BaseSessionManagerServiceRequestSpec) (*types.SessionManagerGenericServiceTicket, error)
- func (sm *Manager) Login(ctx context.Context, u *url.Userinfo) error
- func (sm *Manager) LoginExtensionByCertificate(ctx context.Context, key string, locale string) error
- func (sm *Manager) Logout(ctx context.Context) error
- func (sm Manager) Reference() types.ManagedObjectReference
- func (sm *Manager) SessionIsActive(ctx context.Context) (bool, error)
- func (sm *Manager) TerminateSession(ctx context.Context, sessionId []string) error
- func (sm *Manager) UserSession(ctx context.Context) (*types.UserSession, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func KeepAlive ¶
func KeepAlive(roundTripper soap.RoundTripper, idleTime time.Duration) soap.RoundTripper
KeepAlive wraps the specified soap.RoundTripper and executes a meaningless API request in the background after the RoundTripper has been idle for the specified amount of idle time. The keep alive process only starts once a user logs in and runs until the user logs out again.
func KeepAliveHandler ¶
func KeepAliveHandler(roundTripper soap.RoundTripper, idleTime time.Duration, handler func(soap.RoundTripper) error) soap.RoundTripper
KeepAliveHandler works as KeepAlive() does, but the handler param can decide how to handle errors. For example, if connectivity to ESX/VC is down long enough for a session to expire, a handler can choose to Login() on a types.NotAuthenticated error. If handler returns non-nil, the keep alive go routine will be stopped.
Types ¶
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
func NewManager ¶
func (*Manager) AcquireGenericServiceTicket ¶
func (sm *Manager) AcquireGenericServiceTicket(ctx context.Context, spec types.BaseSessionManagerServiceRequestSpec) (*types.SessionManagerGenericServiceTicket, error)
func (*Manager) LoginExtensionByCertificate ¶
func (Manager) Reference ¶
func (sm Manager) Reference() types.ManagedObjectReference
func (*Manager) SessionIsActive ¶
SessionIsActive checks whether the session that was created at login is still valid. This function only works against vCenter.
func (*Manager) TerminateSession ¶
func (*Manager) UserSession ¶
UserSession retrieves and returns the SessionManager's CurrentSession field. Nil is returned if the session is not authenticated.