Documentation
      ¶
    
    
  
    
  
    Index ¶
- Constants
 - Variables
 - func KubePodsToPodInfoByIP(pods []corev1.Pod) (map[string]PodInfo, error)
 - type AttachContainerToNetworkResponse
 - type ConfigureContainerNetworkingRequest
 - type CreateHnsNetworkRequest
 - type CreateHostNCApipaEndpointRequest
 - type CreateHostNCApipaEndpointResponse
 - type CreateNetworkContainerRequest
 - type CreateNetworkContainerResponse
 - type CreateNetworkRequest
 - type DeleteHnsNetworkRequest
 - type DeleteHostNCApipaEndpointRequest
 - type DeleteHostNCApipaEndpointResponse
 - type DeleteNetworkContainerRequest
 - type DeleteNetworkContainerResponse
 - type DeleteNetworkRequest
 - type DetachContainerFromNetworkResponse
 - type GetAllNetworkContainersResponse
 - type GetIPAddressStateResponse
 - type GetIPAddressStatusResponse
 - type GetIPAddressesRequest
 - type GetIPAddressesResponse
 - type GetInterfaceForContainerRequest
 - type GetInterfaceForContainerResponse
 - type GetNetworkContainerRequest
 - type GetNetworkContainerResponse
 - type GetNetworkContainerStatusRequest
 - type GetNetworkContainerStatusResponse
 - type GetPodContextResponse
 - type HTTPService
 - type HostIPInfo
 - type HostLocalIPAddressResponse
 - type IPAMPoolMonitor
 - type IPAddressState
 - type IPAddressesUtilizationResponse
 - type IPConfigRequest
 - type IPConfigResponse
 - type IPConfiguration
 - type IPConfigurationStatus
 - func (i *IPConfigurationStatus) Equals(o IPConfigurationStatus) bool
 - func (i *IPConfigurationStatus) GetState() types.IPState
 - func (i IPConfigurationStatus) MarshalJSON() ([]byte, error)
 - func (i *IPConfigurationStatus) SetState(s types.IPState)
 - func (i *IPConfigurationStatus) String() string
 - func (i *IPConfigurationStatus) UnmarshalJSON(b []byte) error
 - func (i *IPConfigurationStatus) WithStateMiddleware(fs ...stateMiddlewareFunc)
 
- type IPSubnet
 - type IpamPoolMonitorStateSnapshot
 - type KubernetesPodInfo
 - type MacPool
 - type MultiTenancyInfo
 - type NetworkContainerParameters
 - type NetworkContainerRequestPolicies
 - type NetworkInterface
 - type NmAgentSupportedApisRequest
 - type NmAgentSupportedApisResponse
 - type NodeConfiguration
 - type NodeInfoResponse
 - type NodeRegisterRequest
 - type NumOfCPUCoresResponse
 - type OptionMap
 - type OverlayConfiguration
 - type PodInfo
 - type PodInfoByIPProvider
 - type PodInfoByIPProviderFunc
 - type PodIpInfo
 - type PostNetworkContainersRequest
 - type PostNetworkContainersResponse
 - type PublishNetworkContainerRequest
 - type PublishNetworkContainerResponse
 - type ReleaseIPAddressRequest
 - type ReserveIPAddressRequest
 - type ReserveIPAddressResponse
 - type Response
 - type Route
 - type SecondaryIPConfig
 - type Service
 - func (service *Service) Initialize(config *common.ServiceConfig) error
 - func (service *Service) ParseOptions(options OptionMap) OptionMap
 - func (service *Service) SendErrorResponse(w http.ResponseWriter, errMsg error)
 - func (service *Service) StartListener(config *common.ServiceConfig) error
 - func (service *Service) Uninitialize()
 
- type SetEnvironmentRequest
 - type SetOrchestratorTypeRequest
 - type Subnet
 - type SubnetInfo
 - type UnpublishNetworkContainerRequest
 - type UnpublishNetworkContainerResponse
 - type ValidAclPolicySetting
 
Constants ¶
const ( SetOrchestratorType = "/network/setorchestratortype" CreateOrUpdateNetworkContainer = "/network/createorupdatenetworkcontainer" DeleteNetworkContainer = "/network/deletenetworkcontainer" PublishNetworkContainer = "/network/publishnetworkcontainer" UnpublishNetworkContainer = "/network/unpublishnetworkcontainer" GetInterfaceForContainer = "/network/getinterfaceforcontainer" GetNetworkContainerByOrchestratorContext = "/network/getnetworkcontainerbyorchestratorcontext" NetworkContainersURLPath = "/network/networkcontainers" AttachContainerToNetwork = "/network/attachcontainertonetwork" DetachContainerFromNetwork = "/network/detachcontainerfromnetwork" RequestIPConfig = "/network/requestipconfig" ReleaseIPConfig = "/network/releaseipconfig" PathDebugIPAddresses = "/debug/ipaddresses" PathDebugPodContext = "/debug/podcontext" PathDebugRestData = "/debug/restdata" NumberOfCPUCores = NumberOfCPUCoresPath NMAgentSupportedAPIs = NmAgentSupportedApisPath )
Container Network Service DNC Contract
const ( AzureContainerInstance = "AzureContainerInstance" WebApps = "WebApps" Docker = "Docker" Basic = "Basic" JobObject = "JobObject" COW = "COW" // Container on Windows )
NetworkContainer Types
const ( Kubernetes = "Kubernetes" ServiceFabric = "ServiceFabric" Batch = "Batch" DBforPostgreSQL = "DBforPostgreSQL" AzureFirstParty = "AzureFirstParty" KubernetesCRD = "KubernetesCRD" )
Orchestrator Types
const ( Vlan = "Vlan" Vxlan = "Vxlan" )
Encap Types
const ( Direct = "Direct" Managed = "Managed" CRD = "CRD" MultiTenantCRD = "MultiTenantCRD" )
ChannelMode :- CNS channel modes
const ( KubernetesPodInfoScheme podInfoScheme = iota InterfaceIDPodInfoScheme )
const ( ActionTypeAllow string = "Allow" ActionTypeBlock string = "Block" DirectionTypeIn string = "In" DirectionTypeOut string = "Out" )
const ( SetEnvironmentPath = "/network/environment" CreateNetworkPath = "/network/create" DeleteNetworkPath = "/network/delete" CreateHnsNetworkPath = "/network/hns/create" DeleteHnsNetworkPath = "/network/hns/delete" ReserveIPAddressPath = "/network/ip/reserve" ReleaseIPAddressPath = "/network/ip/release" GetHostLocalIPPath = "/network/ip/hostlocal" GetIPAddressUtilizationPath = "/network/ip/utilization" GetUnhealthyIPAddressesPath = "/network/ipaddresses/unhealthy" GetHealthReportPath = "/network/health" NumberOfCPUCoresPath = "/hostcpucores" CreateHostNCApipaEndpointPath = "/network/createhostncapipaendpoint" DeleteHostNCApipaEndpointPath = "/network/deletehostncapipaendpoint" NmAgentSupportedApisPath = "/network/nmagentsupportedapis" V1Prefix = "/v0.1" V2Prefix = "/v0.2" )
Container Network Service remote API Contract
const (
	SwiftPrefix = "Swift_"
)
    NetworkContainer Prefixes
Variables ¶
var ErrDuplicateIP = errors.New("duplicate IP detected in CNS initialization")
    ErrDuplicateIP indicates that a duplicate IP has been detected during a reconcile.
var GlobalPodInfoScheme podInfoScheme
    Functions ¶
Types ¶
type AttachContainerToNetworkResponse ¶
type AttachContainerToNetworkResponse struct {
	Response Response
}
    AttachContainerToNetworkResponse specifies response of attaching network container to network.
type ConfigureContainerNetworkingRequest ¶
ConfigureContainerNetworkingRequest - specifies request to attach/detach container to network.
type CreateHnsNetworkRequest ¶
type CreateHnsNetworkRequest struct {
	NetworkName          string
	NetworkType          string
	NetworkAdapterName   string            `json:",omitempty"`
	SourceMac            string            `json:",omitempty"`
	Policies             []json.RawMessage `json:",omitempty"`
	MacPools             []MacPool         `json:",omitempty"`
	Subnets              []SubnetInfo
	DNSSuffix            string `json:",omitempty"`
	DNSServerList        string `json:",omitempty"`
	DNSServerCompartment uint32 `json:",omitempty"`
	ManagementIP         string `json:",omitempty"`
	AutomaticDNS         bool   `json:",omitempty"`
}
    CreateHnsNetworkRequest describes request to create the HNS network.
type CreateHostNCApipaEndpointRequest ¶
type CreateHostNCApipaEndpointRequest struct {
	NetworkContainerID string
}
    CreateHostNCApipaEndpointRequest describes request for create apipa endpoint for host container connectivity for the given network container
type CreateHostNCApipaEndpointResponse ¶
CreateHostNCApipaEndpointResponse describes response for create apipa endpoint request for host container connectivity.
type CreateNetworkContainerRequest ¶
type CreateNetworkContainerRequest struct {
	HostPrimaryIP              string
	Version                    string
	NetworkContainerType       string
	NetworkContainerid         string // Mandatory input.
	PrimaryInterfaceIdentifier string // Primary CA.
	AuthorizationToken         string
	LocalIPConfiguration       IPConfiguration
	OrchestratorContext        json.RawMessage
	IPConfiguration            IPConfiguration
	SecondaryIPConfigs         map[string]SecondaryIPConfig // uuid is key
	MultiTenancyInfo           MultiTenancyInfo
	CnetAddressSpace           []IPSubnet // To setup SNAT (should include service endpoint vips).
	Routes                     []Route
	AllowHostToNCCommunication bool
	AllowNCToHostCommunication bool
	EndpointPolicies           []NetworkContainerRequestPolicies
}
    CreateNetworkContainerRequest specifies request to create a network container or network isolation boundary.
func (*CreateNetworkContainerRequest) String ¶
func (req *CreateNetworkContainerRequest) String() string
CreateNetworkContainerRequest implements fmt.Stringer for logging
type CreateNetworkContainerResponse ¶
type CreateNetworkContainerResponse struct {
	Response Response
}
    CreateNetworkContainerResponse specifies response of creating a network container.
type CreateNetworkRequest ¶
type CreateNetworkRequest struct {
	NetworkName          string
	OverlayConfiguration OverlayConfiguration
	Options              map[string]interface{}
}
    CreateNetworkRequest describes request to create the network.
type DeleteHnsNetworkRequest ¶
type DeleteHnsNetworkRequest struct {
	NetworkName string
}
    DeleteHnsNetworkRequest describes request to delete the HNS network.
type DeleteHostNCApipaEndpointRequest ¶
type DeleteHostNCApipaEndpointRequest struct {
	NetworkContainerID string
}
    DeleteHostNCApipaEndpointRequest describes request for deleting apipa endpoint created for host NC connectivity.
type DeleteHostNCApipaEndpointResponse ¶
type DeleteHostNCApipaEndpointResponse struct {
	Response Response
}
    DeleteHostNCApipaEndpointResponse describes response for delete host NC apipa endpoint request.
type DeleteNetworkContainerRequest ¶
type DeleteNetworkContainerRequest struct {
	NetworkContainerid string
}
    DeleteNetworkContainerRequest specifies the details about the request to delete a specific network container.
type DeleteNetworkContainerResponse ¶
type DeleteNetworkContainerResponse struct {
	Response Response
}
    DeleteNetworkContainerResponse describes the response to delete a specific network container.
type DeleteNetworkRequest ¶
type DeleteNetworkRequest struct {
	NetworkName string
}
    DeleteNetworkRequest describes request to delete the network.
type DetachContainerFromNetworkResponse ¶
type DetachContainerFromNetworkResponse struct {
	Response Response
}
    DetachContainerFromNetworkResponse specifies response of detaching network container from network.
type GetAllNetworkContainersResponse ¶
type GetAllNetworkContainersResponse struct {
	NetworkContainers []GetNetworkContainerResponse
	Response          Response
}
    GetAllNetworkContainersResponse specifies response of retrieving all NCs from CNS during the process of NC refresh association.
type GetIPAddressStateResponse ¶
type GetIPAddressStateResponse struct {
	IPAddresses []IPAddressState
	Response    Response
}
    GetIPAddressStateResponse is used in CNS IPAM mode as a response to get IP address state
type GetIPAddressStatusResponse ¶
type GetIPAddressStatusResponse struct {
	IPConfigurationStatus []IPConfigurationStatus
	Response              Response
}
    GetIPAddressStatusResponse is used in CNS IPAM mode as a response to get IP address, state and Pod info
type GetIPAddressesRequest ¶
GetIPAddressesRequest is used in CNS IPAM mode to get the states of IPConfigs The IPConfigStateFilter is a slice of IPs to fetch from CNS that match those states
type GetIPAddressesResponse ¶
GetIPAddressesResponse describes response containing requested ip addresses.
type GetInterfaceForContainerRequest ¶
type GetInterfaceForContainerRequest struct {
	NetworkContainerID string
}
    GetInterfaceForContainerRequest specifies the container ID for which interface needs to be identified.
type GetInterfaceForContainerResponse ¶
type GetInterfaceForContainerResponse struct {
	NetworkContainerVersion string
	NetworkInterface        NetworkInterface
	CnetAddressSpace        []IPSubnet
	DNSServers              []string
	Response                Response
}
    GetInterfaceForContainerResponse specifies the interface for a given container ID.
type GetNetworkContainerRequest ¶
type GetNetworkContainerRequest struct {
	NetworkContainerid  string
	OrchestratorContext json.RawMessage
}
    GetNetworkContainerRequest specifies the details about the request to retrieve a specific network container.
type GetNetworkContainerResponse ¶
type GetNetworkContainerResponse struct {
	NetworkContainerID         string
	IPConfiguration            IPConfiguration
	Routes                     []Route
	CnetAddressSpace           []IPSubnet
	MultiTenancyInfo           MultiTenancyInfo
	PrimaryInterfaceIdentifier string
	LocalIPConfiguration       IPConfiguration
	Response                   Response
	AllowHostToNCCommunication bool
	AllowNCToHostCommunication bool
}
    GetNetworkContainerResponse describes the response to retrieve a specific network container.
type GetNetworkContainerStatusRequest ¶
type GetNetworkContainerStatusRequest struct {
	NetworkContainerid string
}
    GetNetworkContainerStatusRequest specifies the details about the request to retrieve status of a specific network container.
type GetNetworkContainerStatusResponse ¶
type GetNetworkContainerStatusResponse struct {
	NetworkContainerid string
	Version            string
	AzureHostVersion   string
	Response           Response
}
    GetNetworkContainerStatusResponse specifies response of retrieving a network container status.
type GetPodContextResponse ¶
GetPodContextResponse is used in CNS Client debug mode to get mapping of Orchestrator Context to Pod IP UUID
type HTTPService ¶
type HTTPService interface {
	common.ServiceAPI
	SendNCSnapShotPeriodically(context.Context, int)
	SetNodeOrchestrator(*SetOrchestratorTypeRequest)
	SyncNodeStatus(string, string, string, json.RawMessage) (types.ResponseCode, string)
	GetPendingProgramIPConfigs() []IPConfigurationStatus
	GetAvailableIPConfigs() []IPConfigurationStatus
	GetAssignedIPConfigs() []IPConfigurationStatus
	GetPendingReleaseIPConfigs() []IPConfigurationStatus
	GetPodIPConfigState() map[string]IPConfigurationStatus
	MarkIPAsPendingRelease(numberToMark int) (map[string]IPConfigurationStatus, error)
}
    HTTPService describes the min API interface that every service should have.
type HostIPInfo ¶
type HostLocalIPAddressResponse ¶
HostLocalIPAddressResponse describes reponse that returns the host local IP Address.
type IPAMPoolMonitor ¶
type IPAMPoolMonitor interface {
	Start(ctx context.Context) error
	Update(nnc *v1alpha.NodeNetworkConfig) error
	GetStateSnapshot() IpamPoolMonitorStateSnapshot
}
    type IPAddressState ¶
IPAddressState Only used in the GetIPConfig API to return IPs that match a filter
type IPAddressesUtilizationResponse ¶
type IPAddressesUtilizationResponse struct {
	Response  Response
	Available int
	Reserved  int
	Unhealthy int
}
    IPAddressesUtilizationResponse describes response for ip address utilization.
type IPConfigRequest ¶
type IPConfigRequest struct {
	DesiredIPAddress    string
	PodInterfaceID      string
	InfraContainerID    string
	OrchestratorContext json.RawMessage
	Ifname              string // Used by delegated IPAM
}
    func (IPConfigRequest) String ¶ added in v1.2.6
func (i IPConfigRequest) String() string
type IPConfigResponse ¶
IPConfigResponse is used in CNS IPAM mode as a response to CNI ADD
type IPConfiguration ¶
IPConfiguration contains details about ip config to provision in the VM.
type IPConfigurationStatus ¶
type IPConfigurationStatus struct {
	ID                  string // uuid
	IPAddress           string
	LastStateTransition time.Time
	NCID                string
	PodInfo             PodInfo
	// contains filtered or unexported fields
}
    This is used for KubernetesCRD orchestrator Type where NC has multiple ips. This struct captures the state for SecondaryIPs associated to a given NC
func (*IPConfigurationStatus) Equals ¶
func (i *IPConfigurationStatus) Equals(o IPConfigurationStatus) bool
Equals compares a subset of the IPConfigurationStatus fields since a direct DeepEquals or otherwise complete comparison of two IPConfigurationStatus objects compares internal state details that don't impact their functional equality.
func (*IPConfigurationStatus) GetState ¶
func (i *IPConfigurationStatus) GetState() types.IPState
func (IPConfigurationStatus) MarshalJSON ¶
func (i IPConfigurationStatus) MarshalJSON() ([]byte, error)
MarshalJSON is a custom marshaller for IPConfigurationStatus that is capable of marshalling the private fields in the struct. The default marshaller can't see private fields by default, so we alias the type through a struct that has public fields for the original struct's private fields, embed the original struct in an anonymous struct as the alias type, and then let the default marshaller do its magic.
func (*IPConfigurationStatus) SetState ¶
func (i *IPConfigurationStatus) SetState(s types.IPState)
func (*IPConfigurationStatus) String ¶
func (i *IPConfigurationStatus) String() string
func (*IPConfigurationStatus) UnmarshalJSON ¶
func (i *IPConfigurationStatus) UnmarshalJSON(b []byte) error
UnmarshalJSON is a custom unmarshaller for IPConfigurationStatus that is capable of unmarshalling to interface type `PodInfo` contained in the struct. Without this custom unmarshaller, the default unmarshaller can't deserialize the json data in to that interface type.
func (*IPConfigurationStatus) WithStateMiddleware ¶
func (i *IPConfigurationStatus) WithStateMiddleware(fs ...stateMiddlewareFunc)
type IpamPoolMonitorStateSnapshot ¶
type IpamPoolMonitorStateSnapshot struct {
	MinimumFreeIps           int64
	MaximumFreeIps           int64
	UpdatingIpsNotInUseCount int64
	CachedNNC                v1alpha.NodeNetworkConfig
}
    IpamPoolMonitorStateSnapshot struct to expose state values for IPAMPoolMonitor struct
type KubernetesPodInfo ¶
type MacPool ¶
MacPool is assoicated with HNS network and represents a list of macaddresses available to the network
type MultiTenancyInfo ¶
type MultiTenancyInfo struct {
	EncapType string
	ID        int // This can be vlanid, vxlanid, gre-key etc. (depends on EnacapType).
}
    MultiTenancyInfo contains encap type and id.
type NetworkContainerParameters ¶
NetworkContainerParameters parameters available in network container operations
type NetworkContainerRequestPolicies ¶
type NetworkContainerRequestPolicies struct {
	Type         string
	EndpointType string
	Settings     json.RawMessage
}
    NetworkContainerRequestPolicies - specifies policies associated with create network request
func (*NetworkContainerRequestPolicies) Validate ¶
func (networkContainerRequestPolicy *NetworkContainerRequestPolicies) Validate() error
Validate - Validates network container request policies
type NetworkInterface ¶
NetworkInterface specifies the information that can be used to uniquely identify an interface.
type NmAgentSupportedApisRequest ¶
type NmAgentSupportedApisRequest struct {
	GetNmAgentSupportedApisURL string
}
    type NodeConfiguration ¶
NodeConfiguration describes confguration for a node in overlay network.
type NodeInfoResponse ¶
type NodeInfoResponse struct {
	NetworkContainers []CreateNetworkContainerRequest
}
    NodeInfoResponse - Struct to hold the node info response.
type NodeRegisterRequest ¶
NodeRegisterRequest - Struct to hold the node register request.
type NumOfCPUCoresResponse ¶
NumOfCPUCoresResponse describes num of cpu cores present on host.
type OptionMap ¶
type OptionMap map[string]interface{}
OptionMap describes generic options that can be passed to CNS.
type OverlayConfiguration ¶
type OverlayConfiguration struct {
	NodeCount     int
	LocalNodeIP   string
	OverlaySubent Subnet
	NodeConfig    []NodeConfiguration
}
    OverlayConfiguration describes configuration for all the nodes that are part of overlay.
type PodInfo ¶
type PodInfo interface {
	// InfraContainerID the CRI infra container for the pod namespace.
	InfraContainerID() string
	// InterfaceID a short hash of the infra container and the primary network
	// interface of the pod net ns.
	InterfaceID() string
	// Key is a unique string representation of the PodInfo.
	Key() string
	// Name is the orchestrator pod name.
	Name() string
	// Namespace is the orchestrator pod namespace.
	Namespace() string
	// OrchestratorContext is a JSON KubernetesPodInfo
	OrchestratorContext() (json.RawMessage, error)
	// Equals implements a functional equals for PodInfos
	Equals(PodInfo) bool
}
    PodInfo represents the object that we are providing network for.
func NewPodInfo ¶
NewPodInfo returns an implementation of PodInfo that returns the passed configuration for their namesake functions.
func NewPodInfoFromIPConfigRequest ¶ added in v1.4.4
func NewPodInfoFromIPConfigRequest(req IPConfigRequest) (PodInfo, error)
NewPodInfoFromIPConfigRequest builds and returns an implementation of PodInfo from the provided IPConfigRequest.
func UnmarshalPodInfo ¶
UnmarshalPodInfo wraps json.Unmarshal to return an implementation of PodInfo.
type PodInfoByIPProvider ¶
PodInfoByIPProvider to be implemented by initializers which provide a map of PodInfos by IP.
type PodInfoByIPProviderFunc ¶
PodInfoByIPProviderFunc functional type which implements PodInfoByIPProvider. Allows one-off functional implementations of the PodInfoByIPProvider interface when a custom type definition is not necessary.
func (PodInfoByIPProviderFunc) PodInfoByIP ¶
func (f PodInfoByIPProviderFunc) PodInfoByIP() (map[string]PodInfo, error)
PodInfoByIP implements PodInfoByIPProvider on PodInfByIPProviderFunc.
type PodIpInfo ¶
type PodIpInfo struct {
	PodIPConfig                     IPSubnet
	NetworkContainerPrimaryIPConfig IPConfiguration
	HostPrimaryIPInfo               HostIPInfo
}
    type PostNetworkContainersRequest ¶
type PostNetworkContainersRequest struct {
	CreateNetworkContainerRequests []CreateNetworkContainerRequest
}
    PostNetworkContainersRequest specifies the request of creating all NCs that are sent from DNC.
type PostNetworkContainersResponse ¶
type PostNetworkContainersResponse struct {
	Response Response
}
    PostNetworkContainersResponse specifies response of creating all NCs that are sent from DNC.
type PublishNetworkContainerRequest ¶
type PublishNetworkContainerRequest struct {
	NetworkID                         string
	NetworkContainerID                string
	JoinNetworkURL                    string
	CreateNetworkContainerURL         string
	CreateNetworkContainerRequestBody []byte
}
    PublishNetworkContainerRequest specifies request to publish network container via NMAgent.
type PublishNetworkContainerResponse ¶
type PublishNetworkContainerResponse struct {
	Response            Response
	PublishErrorStr     string
	PublishStatusCode   int
	PublishResponseBody []byte
}
    PublishNetworkContainerResponse specifies the response to publish network container request.
type ReleaseIPAddressRequest ¶
type ReleaseIPAddressRequest struct {
	ReservationID string
}
    ReleaseIPAddressRequest describes request to release an IP Address.
type ReserveIPAddressRequest ¶
type ReserveIPAddressRequest struct {
	ReservationID string
}
    ReserveIPAddressRequest describes request to reserve an IP Address
type ReserveIPAddressResponse ¶
ReserveIPAddressResponse describes response to reserve an IP address.
type Response ¶
type Response struct {
	ReturnCode types.ResponseCode
	Message    string
}
    Response describes generic response from CNS.
type SecondaryIPConfig ¶
type SecondaryIPConfig struct {
	IPAddress string
	// NCVersion will help in determining whether IP is in pending programming or available when reconciling.
	NCVersion int
}
    SecondaryIPConfig contains IP info of SecondaryIP
type Service ¶
Service defines Container Networking Service.
func NewService ¶
func NewService(name, version, channelMode string, store store.KeyValueStore) (*Service, error)
NewService creates a new Service object.
func (*Service) Initialize ¶
func (service *Service) Initialize(config *common.ServiceConfig) error
Initialize initializes the service and starts the listener.
func (*Service) ParseOptions ¶
ParseOptions returns generic options from a libnetwork request.
func (*Service) SendErrorResponse ¶
func (service *Service) SendErrorResponse(w http.ResponseWriter, errMsg error)
SendErrorResponse sends and logs an error response.
func (*Service) StartListener ¶
func (service *Service) StartListener(config *common.ServiceConfig) error
func (*Service) Uninitialize ¶
func (service *Service) Uninitialize()
Uninitialize cleans up the plugin.
type SetEnvironmentRequest ¶
SetEnvironmentRequest describes the Request to set the environment in CNS.
type SetOrchestratorTypeRequest ¶
type SetOrchestratorTypeRequest struct {
	OrchestratorType string
	DncPartitionKey  string
	NodeID           string
}
    SetOrchestratorTypeRequest specifies the orchestrator type for the node.
type SubnetInfo ¶
type SubnetInfo struct {
	AddressPrefix  string
	GatewayAddress string
	Policies       []json.RawMessage `json:",omitempty"`
}
    SubnetInfo is assoicated with HNS network and represents a list of subnets available to the network
type UnpublishNetworkContainerRequest ¶
type UnpublishNetworkContainerRequest struct {
	NetworkID                 string
	NetworkContainerID        string
	JoinNetworkURL            string
	DeleteNetworkContainerURL string
}
    UnpublishNetworkContainerRequest specifies request to unpublish network container via NMAgent.
type UnpublishNetworkContainerResponse ¶
type UnpublishNetworkContainerResponse struct {
	Response              Response
	UnpublishErrorStr     string
	UnpublishStatusCode   int
	UnpublishResponseBody []byte
}
    UnpublishNetworkContainerResponse specifies the response to unpublish network container request.
type ValidAclPolicySetting ¶
type ValidAclPolicySetting struct {
	Protocols       string `json:","`
	Action          string `json:","`
	Direction       string `json:","`
	LocalAddresses  string `json:","`
	RemoteAddresses string `json:","`
	LocalPorts      string `json:","`
	RemotePorts     string `json:","`
	RuleType        string `json:","`
	Priority        uint16 `json:","`
}
    ValidAclPolicySetting - Used to validate ACL policy
      
      Directories
      ¶
    
    | Path | Synopsis | 
|---|---|
| 
       cmd
        | 
      |
| 
       kubecontroller
        | 
      |
| 
         
          
            mockclients
            
            
          
           
      Package mockclients is a generated GoMock package. 
         | 
      Package mockclients is a generated GoMock package. |