internal

package
v0.0.0-...-101763b Latest Latest
Warning

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

Go to latest
Published: Aug 3, 2021 License: GPL-3.0 Imports: 29 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GenerateKeys

func GenerateKeys() (string, string, error)

func Tunnel

func Tunnel(localPort int, remoteHost EndpointIface, bastionHost EndpointIface) (chan int, error)

Types

type EC2Endpoint

type EC2Endpoint struct {
	InstanceID string
	Port       int
	User       string
	PrivateKey string
	PublicKey  string
	UsePrivate bool

	Instance      *ec2.Instance
	EC2Client     ec2iface.EC2API
	ConnectClient ec2instanceconnectiface.EC2InstanceConnectAPI
}

func NewEC2Endpoint

func NewEC2Endpoint(InstanceID string, ec2Client ec2iface.EC2API, connectClient ec2instanceconnectiface.EC2InstanceConnectAPI) (*EC2Endpoint, error)

func (*EC2Endpoint) GetSSHConfig

func (e *EC2Endpoint) GetSSHConfig() (*ssh.ClientConfig, error)

func (*EC2Endpoint) String

func (e *EC2Endpoint) String() string

type Endpoint

type Endpoint struct {
	Host       string
	Port       int
	User       string
	PrivateKey string
	PublicKey  string
}

func NewEndpoint

func NewEndpoint(s string) *Endpoint

func (*Endpoint) GetSSHConfig

func (e *Endpoint) GetSSHConfig() (*ssh.ClientConfig, error)

func (*Endpoint) String

func (e *Endpoint) String() string

type EndpointIface

type EndpointIface interface {
	String() string
	GetSSHConfig() (*ssh.ClientConfig, error)
}

type ProfileContainer

type ProfileContainer interface {
	GetName() string
	Connect(region string) error
	GetEC2Service() (ec2iface.EC2API, error)
	GetRDSService() (rdsiface.RDSAPI, error)
	GetSTSService() (stsiface.STSAPI, error)
	GetEC2InstanceConnectService() (ec2instanceconnectiface.EC2InstanceConnectAPI, error)
}

ProfileContainer provides an interface to get an AWS service

type Profiles

type Profiles interface {
	GetProfiles() []ProfileContainer
	Refresh() error
	GetProfile(profile string) ProfileContainer
}

func NewIniConfig

func NewIniConfig(path string) Profiles

type Tunneller

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

func (*Tunneller) TunnelWithContext

func (t *Tunneller) TunnelWithContext(ctx context.Context, cancel context.CancelFunc, localPort int)

Jump to

Keyboard shortcuts

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