hcn

package
v0.0.0-...-9f71e64 Latest Latest
Warning

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

Go to latest
Published: Aug 9, 2023 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// LoadBalancerFlagsNone is the default.
	LoadBalancerFlagsNone = LoadBalancerFlags(hcnshim.LoadBalancerFlagsNone)
	// LoadBalancerFlagsDSR enables Direct Server Return (DSR)
	LoadBalancerFlagsDSR = LoadBalancerFlags(hcnshim.LoadBalancerFlagsDSR)
)
View Source
var (
	// LoadBalancerPortMappingFlagsNone is the default.
	LoadBalancerPortMappingFlagsNone = LoadBalancerPortMappingFlags(hcnshim.LoadBalancerPortMappingFlagsNone)
	// LoadBalancerPortMappingFlagsILB enables internal loadbalancing.
	LoadBalancerPortMappingFlagsILB = LoadBalancerPortMappingFlags(hcnshim.LoadBalancerPortMappingFlagsILB)
	// LoadBalancerPortMappingFlagsLocalRoutedVIP enables VIP access from the host.
	LoadBalancerPortMappingFlagsLocalRoutedVIP = LoadBalancerPortMappingFlags(hcnshim.LoadBalancerPortMappingFlagsLocalRoutedVIP)
	// LoadBalancerPortMappingFlagsUseMux enables DSR for NodePort access of VIP.
	LoadBalancerPortMappingFlagsUseMux = LoadBalancerPortMappingFlags(hcnshim.LoadBalancerPortMappingFlagsUseMux)
	// LoadBalancerPortMappingFlagsPreserveDIP delivers packets with destination ip as the VIP.
	LoadBalancerPortMappingFlagsPreserveDIP = LoadBalancerPortMappingFlags(hcnshim.LoadBalancerPortMappingFlagsPreserveDIP)
)

Functions

This section is empty.

Types

type Endpoint

type Endpoint struct {
	// host compute identifier, returned after creation
	ID string

	IP         string
	IsLocal    bool
	MacAddress string
	ProviderIP string
}

Endpoint is a user-oriented definition of an HostComputeEndpoint in its entirety.

func (*Endpoint) Equal

func (ep *Endpoint) Equal(other *Endpoint) bool

Equal compares if two endpoints are equal.

func (*Endpoint) Key

func (ep *Endpoint) Key() string

Key returns identifier for diffstore.

func (*Endpoint) String

func (ep *Endpoint) String() string

String returns string representation of endpoint.

type Interface

type Interface interface {
	GetNetworkByName(string) (*Network, error)
	GetNetworkByID(string) (*Network, error)

	CreateEndpoint(*Network, *Endpoint) error
	UpdateEndpoint(*Network, *Endpoint) error
	DeleteEndpoint(*Network, *Endpoint) error
	ListEndpoints() ([]*Endpoint, error)

	CreateLoadBalancer(*LoadBalancer) error
	UpdateLoadBalancer(*LoadBalancer) error
	DeleteLoadBalancer(*LoadBalancer) error
	ListLoadBalancers() ([]*LoadBalancer, error)
}

Interface is an injectable interface for making HCN calls.

func New

func New(enableDSR bool) Interface

type LoadBalancer

type LoadBalancer struct {
	ID string

	Endpoints []*Endpoint

	IP               string
	Flags            LoadBalancerFlags
	PortMappingFlags LoadBalancerPortMappingFlags
	SourceVip        string
	Protocol         uint32
	Port             int32
	TargetPort       int32
}

LoadBalancer is a user-oriented definition of an HostComputeEndpoint in its entirety.

func (*LoadBalancer) Equal

func (lb *LoadBalancer) Equal(other *LoadBalancer) bool

Equal compares if two loadBalancers are equal.

func (*LoadBalancer) Key

func (lb *LoadBalancer) Key() string

Key returns identifier for diffstore.

func (*LoadBalancer) String

func (lb *LoadBalancer) String() string

String returns string representation of loadBalancer.

type LoadBalancerFlags

type LoadBalancerFlags hcnshim.LoadBalancerFlags

type LoadBalancerPortMappingFlags

type LoadBalancerPortMappingFlags hcnshim.LoadBalancerPortMappingFlags

LoadBalancerPortMappingFlags are special settings on a loadbalancer.

type Network

type Network struct {
	Name          string
	Id            string
	Type          NetworkType
	RemoteSubnets []*RemoteSubnetInfo
}

func (*Network) IsOverlay

func (n *Network) IsOverlay() bool

type NetworkType

type NetworkType hcnshim.NetworkType
const (
	OverlayNetwork NetworkType = "overlay"
	L2Bridge                   = "L2Bridge"
)

type RemoteSubnetInfo

type RemoteSubnetInfo struct {
	DestinationPrefix string
	IsolationID       uint16
	ProviderAddress   string
	DrMacAddress      string
}

Jump to

Keyboard shortcuts

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