Documentation
¶
Index ¶
- Constants
- Variables
- func GenerateLoadBalancerName(service *v1.Service, clusterID string) string
- func ResetCloudVpc()
- func SafePointerBool(ptr *bool) bool
- func SafePointerDate(ptr *strfmt.DateTime) string
- func SafePointerInt64(ptr *int64) int64
- func SafePointerString(ptr *string) string
- func SetCloudVpc(vpc *CloudVpc)
- func SetInformers(informerFactory informers.SharedInformerFactory)
- type CloudVpc
- func (c *CloudVpc) ClearFakeSdkError(methodName string)
- func (c *CloudVpc) CreateLoadBalancer(lbName string, service *v1.Service, nodes []*v1.Node) (*VpcLoadBalancer, error)
- func (c *CloudVpc) DeleteLoadBalancer(lb *VpcLoadBalancer, service *v1.Service) error
- func (c *CloudVpc) EnsureLoadBalancer(lbName string, service *v1.Service, nodes []*v1.Node) (*v1.LoadBalancerStatus, error)
- func (c *CloudVpc) EnsureLoadBalancerDeleted(lbName string, service *v1.Service) error
- func (c *CloudVpc) EnsureLoadBalancerUpdated(lbName string, service *v1.Service, nodes []*v1.Node) error
- func (c *CloudVpc) FindLoadBalancer(nameID string, service *v1.Service) (*VpcLoadBalancer, error)
- func (c *CloudVpc) GatherLoadBalancers(services *v1.ServiceList) (map[string]*v1.Service, map[string]*VpcLoadBalancer, error)
- func (c *CloudVpc) GenerateLoadBalancerName(service *v1.Service) string
- func (c *CloudVpc) GetLoadBalancer(lbName string, service *v1.Service) (*v1.LoadBalancerStatus, bool, error)
- func (c *CloudVpc) GetLoadBalancerStatus(service *v1.Service, lb *VpcLoadBalancer) *v1.LoadBalancerStatus
- func (c *CloudVpc) MonitorLoadBalancers(services *v1.ServiceList, status map[string]string)
- func (c *CloudVpc) SetFakeSdkError(methodName string)
- func (c *CloudVpc) UpdateLoadBalancer(lb *VpcLoadBalancer, service *v1.Service, nodes []*v1.Node) (*VpcLoadBalancer, error)
- func (c *CloudVpc) WaitLoadBalancerReady(lb *VpcLoadBalancer, minSleep, maxWait int) (*VpcLoadBalancer, error)
- type CloudVpcSdk
- type ConfigVpc
- type ServiceOptions
- type VpcLoadBalancer
- type VpcLoadBalancerListener
- type VpcLoadBalancerPool
- type VpcLoadBalancerPoolHealthMonitor
- type VpcLoadBalancerPoolMember
- type VpcObjectReference
- type VpcPoolNameFields
- type VpcSdkFake
- func (v *VpcSdkFake) CreateLoadBalancer(lbName string, nodeList, poolList, subnetList []string, ...) (*VpcLoadBalancer, error)
- func (v *VpcSdkFake) CreateLoadBalancerListener(lbID, poolName, poolID string) (*VpcLoadBalancerListener, error)
- func (v *VpcSdkFake) CreateLoadBalancerPool(lbID, poolName string, nodeList []string, options *ServiceOptions) (*VpcLoadBalancerPool, error)
- func (v *VpcSdkFake) CreateLoadBalancerPoolMember(lbID, poolName, poolID, nodeID string) (*VpcLoadBalancerPoolMember, error)
- func (v *VpcSdkFake) DeleteLoadBalancer(lbID string) error
- func (v *VpcSdkFake) DeleteLoadBalancerListener(lbID, listenerID string) error
- func (v *VpcSdkFake) DeleteLoadBalancerPool(lbID, poolID string) error
- func (v *VpcSdkFake) DeleteLoadBalancerPoolMember(lbID, poolID, memberID string) error
- func (v *VpcSdkFake) GetLoadBalancer(lbID string) (*VpcLoadBalancer, error)
- func (v *VpcSdkFake) GetSubnet(subnetID string) (*VpcSubnet, error)
- func (v *VpcSdkFake) ListLoadBalancerListeners(lbID string) ([]*VpcLoadBalancerListener, error)
- func (v *VpcSdkFake) ListLoadBalancerPoolMembers(lbID, poolID string) ([]*VpcLoadBalancerPoolMember, error)
- func (v *VpcSdkFake) ListLoadBalancerPools(lbID string) ([]*VpcLoadBalancerPool, error)
- func (v *VpcSdkFake) ListLoadBalancers() ([]*VpcLoadBalancer, error)
- func (v *VpcSdkFake) ListSubnets() ([]*VpcSubnet, error)
- func (v *VpcSdkFake) ReplaceLoadBalancerPoolMembers(lbID, poolName, poolID string, nodeList []string) ([]*VpcLoadBalancerPoolMember, error)
- func (v *VpcSdkFake) UpdateLoadBalancerPool(lbID, newPoolName string, existingPool *VpcLoadBalancerPool, ...) (*VpcLoadBalancerPool, error)
- type VpcSdkGen2
- func (v *VpcSdkGen2) CreateLoadBalancer(lbName string, nodeList, poolList, subnetList []string, ...) (*VpcLoadBalancer, error)
- func (v *VpcSdkGen2) CreateLoadBalancerListener(lbID, poolName, poolID string) (*VpcLoadBalancerListener, error)
- func (v *VpcSdkGen2) CreateLoadBalancerPool(lbID, poolName string, nodeList []string, options *ServiceOptions) (*VpcLoadBalancerPool, error)
- func (v *VpcSdkGen2) CreateLoadBalancerPoolMember(lbID, poolName, poolID, nodeID string) (*VpcLoadBalancerPoolMember, error)
- func (v *VpcSdkGen2) DeleteLoadBalancer(lbID string) error
- func (v *VpcSdkGen2) DeleteLoadBalancerListener(lbID, listenerID string) error
- func (v *VpcSdkGen2) DeleteLoadBalancerPool(lbID, poolID string) error
- func (v *VpcSdkGen2) DeleteLoadBalancerPoolMember(lbID, poolID, memberID string) error
- func (v *VpcSdkGen2) GetLoadBalancer(lbID string) (*VpcLoadBalancer, error)
- func (v *VpcSdkGen2) GetSubnet(subnetID string) (*VpcSubnet, error)
- func (v *VpcSdkGen2) ListLoadBalancerListeners(lbID string) ([]*VpcLoadBalancerListener, error)
- func (v *VpcSdkGen2) ListLoadBalancerPoolMembers(lbID, poolID string) ([]*VpcLoadBalancerPoolMember, error)
- func (v *VpcSdkGen2) ListLoadBalancerPools(lbID string) ([]*VpcLoadBalancerPool, error)
- func (v *VpcSdkGen2) ListLoadBalancers() ([]*VpcLoadBalancer, error)
- func (v *VpcSdkGen2) ListSubnets() ([]*VpcSubnet, error)
- func (v *VpcSdkGen2) ReplaceLoadBalancerPoolMembers(lbID, poolName, poolID string, nodeList []string) ([]*VpcLoadBalancerPoolMember, error)
- func (v *VpcSdkGen2) UpdateLoadBalancerPool(lbID, newPoolName string, existingPool *VpcLoadBalancerPool, ...) (*VpcLoadBalancerPool, error)
- type VpcSubnet
Constants ¶
const ( // VpcProviderTypeFake - Fake SDK interface for VPC VpcProviderTypeFake = "fake" // VpcProviderTypeGen2 - IKS provider type for VPC Gen2 VpcProviderTypeGen2 = "g2" )
const ( LoadBalancerOperatingStatusOffline = "offline" LoadBalancerOperatingStatusOnline = "online" )
Constants associated with the LoadBalancer*.OperatingStatus property. The operating status of this load balancer.
const ( LoadBalancerProvisioningStatusActive = "active" LoadBalancerProvisioningStatusCreatePending = "create_pending" LoadBalancerProvisioningStatusDeletePending = "delete_pending" LoadBalancerProvisioningStatusFailed = "failed" LoadBalancerProvisioningStatusMaintenancePending = "maintenance_pending" LoadBalancerProvisioningStatusUpdatePending = "update_pending" )
Constants associated with the LoadBalancer*.ProvisioningStatus property. The provisioning status of this load balancer.
const ( LoadBalancerProtocolHTTP = "http" LoadBalancerProtocolHTTPS = "https" LoadBalancerProtocolTCP = "tcp" )
Constants associated with the LoadBalancer*.Protocol property. The listener protocol.
const ( LoadBalancerAlgorithmLeastConnections = "least_connections" LoadBalancerAlgorithmRoundRobin = "round_robin" LoadBalancerAlgorithmWeightedRoundRobin = "weighted_round_robin" )
Constants associated with the LoadBalancerPool.Algorithm property. The load balancing algorithm.
const ( LoadBalancerProxyProtocolDisabled = "disabled" LoadBalancerProxyProtocolV1 = "v1" LoadBalancerProxyProtocolV2 = "v2" )
Constants associated with the LoadBalancerPool.ProxyProtocol property. The PROXY protocol setting for this pool: - `v1`: Enabled with version 1 (human-readable header format) - `v2`: Enabled with version 2 (binary header format) - `disabled`: Disabled
Supported by load balancers in the `application` family (otherwise always `disabled`).
const (
LoadBalancerOptionProxyProtocol = "proxy-protocol"
)
Constants that can control the behavior of the VPC LoadBalancer
const (
LoadBalancerSessionPersistenceSourceIP = "source_ip"
)
Constants associated with the LoadBalancerPoolSessionPersistence.Type property. The session persistence type.
Variables ¶
var NewVpcSdkProvider = NewVpcSdkGen2
NewVpcSdkProvider - name of SDK interface
var (
// VpcLbNamePrefix - Prefix to be used for VPC load balancer
VpcLbNamePrefix = "kube"
)
Global variables
Functions ¶
func GenerateLoadBalancerName ¶
GenerateLoadBalancerName - generate the VPC load balancer name from the cluster ID and Kube service
func SafePointerBool ¶
SafePointerBool - safely de-ref pointer to an bool
func SafePointerDate ¶
SafePointerDate - safely de-ref pointer to an date object
func SafePointerInt64 ¶
SafePointerInt64 - safely de-ref pointer to an int64
func SafePointerString ¶
SafePointerString - safely de-ref pointer to an string
func SetCloudVpc ¶
func SetCloudVpc(vpc *CloudVpc)
SetCloudVpc - Set the global VPC cloud object. Specify nil to clear value
func SetInformers ¶
func SetInformers(informerFactory informers.SharedInformerFactory)
SetInformers - Configure watch/informers
Types ¶
type CloudVpc ¶
type CloudVpc struct {
KubeClient kubernetes.Interface
Config *ConfigVpc
Sdk CloudVpcSdk
Recorder record.EventRecorder
}
CloudVpc is the main VPC cloud provider implementation.
func GetCloudVpc ¶
func GetCloudVpc() *CloudVpc
GetCloudVpc - Retrieve the global VPC cloud object. Return nil if not initialized.
func NewCloudVpc ¶
func NewCloudVpc(kubeClient kubernetes.Interface, config *ConfigVpc, recorder record.EventRecorder) (*CloudVpc, error)
func (*CloudVpc) ClearFakeSdkError ¶
ClearFakeSdkError - Clear the error string for the specific SDK mock method
func (*CloudVpc) CreateLoadBalancer ¶
func (c *CloudVpc) CreateLoadBalancer(lbName string, service *v1.Service, nodes []*v1.Node) (*VpcLoadBalancer, error)
CreateLoadBalancer - create a VPC load balancer
func (*CloudVpc) DeleteLoadBalancer ¶
func (c *CloudVpc) DeleteLoadBalancer(lb *VpcLoadBalancer, service *v1.Service) error
DeleteLoadBalancer - delete a VPC load balancer
func (*CloudVpc) EnsureLoadBalancer ¶
func (c *CloudVpc) EnsureLoadBalancer(lbName string, service *v1.Service, nodes []*v1.Node) (*v1.LoadBalancerStatus, error)
EnsureLoadBalancer - called by cloud provider to create/update the load balancer
func (*CloudVpc) EnsureLoadBalancerDeleted ¶
EnsureLoadBalancerDeleted - called by cloud provider to delete the load balancer
func (*CloudVpc) EnsureLoadBalancerUpdated ¶
func (c *CloudVpc) EnsureLoadBalancerUpdated(lbName string, service *v1.Service, nodes []*v1.Node) error
EnsureLoadBalancerUpdated - updates the hosts under the specified load balancer
func (*CloudVpc) FindLoadBalancer ¶
FindLoadBalancer - locate a VPC load balancer based on the Name, ID, or hostname
func (*CloudVpc) GatherLoadBalancers ¶
func (c *CloudVpc) GatherLoadBalancers(services *v1.ServiceList) (map[string]*v1.Service, map[string]*VpcLoadBalancer, error)
GatherLoadBalancers - returns status of all VPC load balancers associated with Kube LBs in this cluster
func (*CloudVpc) GenerateLoadBalancerName ¶
GenerateLoadBalancerName - generate the VPC load balancer name from the cluster ID and Kube service
func (*CloudVpc) GetLoadBalancer ¶
func (c *CloudVpc) GetLoadBalancer(lbName string, service *v1.Service) (*v1.LoadBalancerStatus, bool, error)
GetLoadBalancer - called by cloud provider to retrieve status of the load balancer
func (*CloudVpc) GetLoadBalancerStatus ¶
func (c *CloudVpc) GetLoadBalancerStatus(service *v1.Service, lb *VpcLoadBalancer) *v1.LoadBalancerStatus
GetLoadBalancerStatus returns the load balancer status for a given VPC host name
func (*CloudVpc) MonitorLoadBalancers ¶
func (c *CloudVpc) MonitorLoadBalancers(services *v1.ServiceList, status map[string]string)
MonitorLoadBalancers - accepts a list of services (of all types), verifies that each Kubernetes load balancer service has a corresponding VPC load balancer object, and creates Kubernetes events based on the load balancer's status. `status` is a map from a load balancer's unique Service ID to its status. This persists load balancer status between consecutive monitor calls.
func (*CloudVpc) SetFakeSdkError ¶
SetFakeSdkError - Set an error string to be returned for the specific SDK mock method
func (*CloudVpc) UpdateLoadBalancer ¶
func (c *CloudVpc) UpdateLoadBalancer(lb *VpcLoadBalancer, service *v1.Service, nodes []*v1.Node) (*VpcLoadBalancer, error)
UpdateLoadBalancer - update a VPC load balancer
func (*CloudVpc) WaitLoadBalancerReady ¶
func (c *CloudVpc) WaitLoadBalancerReady(lb *VpcLoadBalancer, minSleep, maxWait int) (*VpcLoadBalancer, error)
WaitLoadBalancerReady will call the Get() operation on the load balancer every minSleep seconds until the state of the load balancer goes to Online/Active -OR- until the maxWait timeout occurs
type CloudVpcSdk ¶
type CloudVpcSdk interface {
CreateLoadBalancer(lbName string, nodeList, poolList, subnetList []string, options *ServiceOptions) (*VpcLoadBalancer, error)
CreateLoadBalancerListener(lbID, poolName, poolID string) (*VpcLoadBalancerListener, error)
CreateLoadBalancerPool(lbID, poolName string, nodeList []string, options *ServiceOptions) (*VpcLoadBalancerPool, error)
CreateLoadBalancerPoolMember(lbID, poolName, poolID, nodeID string) (*VpcLoadBalancerPoolMember, error)
DeleteLoadBalancer(lbID string) error
DeleteLoadBalancerListener(lbID, listenerID string) error
DeleteLoadBalancerPool(lbID, poolID string) error
DeleteLoadBalancerPoolMember(lbID, poolID, memberID string) error
GetLoadBalancer(lbID string) (*VpcLoadBalancer, error)
GetSubnet(subnetID string) (*VpcSubnet, error)
ListLoadBalancers() ([]*VpcLoadBalancer, error)
ListLoadBalancerListeners(lbID string) ([]*VpcLoadBalancerListener, error)
ListLoadBalancerPools(lbID string) ([]*VpcLoadBalancerPool, error)
ListLoadBalancerPoolMembers(lbID, poolID string) ([]*VpcLoadBalancerPoolMember, error)
ListSubnets() ([]*VpcSubnet, error)
ReplaceLoadBalancerPoolMembers(lbID, poolName, poolID string, nodeList []string) ([]*VpcLoadBalancerPoolMember, error)
UpdateLoadBalancerPool(lbID, newPoolName string, existingPool *VpcLoadBalancerPool, options *ServiceOptions) (*VpcLoadBalancerPool, error)
}
CloudVpcSdk interface for SDK operations
func NewCloudVpcSdk ¶
func NewCloudVpcSdk(c *ConfigVpc) (CloudVpcSdk, error)
NewCloudVpcSdk - return the correct set of SDK library routines
func NewVpcSdkFake ¶
func NewVpcSdkFake() (CloudVpcSdk, error)
NewVpcSdkFake - create new mock SDK client
func NewVpcSdkGen2 ¶
func NewVpcSdkGen2(c *ConfigVpc) (CloudVpcSdk, error)
NewVpcSdkGen2 - create new SDK client
type ConfigVpc ¶
type ConfigVpc struct {
// Externalized config settings from caller
AccountID string
APIKeySecret string
ClusterID string
EnablePrivate bool
IamEndpointOverride string
IKSPrivateEndpointHostname string
ProviderType string
Region string
ResourceGroupName string
RmEndpointOverride string
SubnetNames string
WorkerAccountID string // Not used, ignored
VpcName string
VpcEndpointOverride string
// contains filtered or unexported fields
}
ConfigVpc is the VPC configuration information
type ServiceOptions ¶
type ServiceOptions struct {
// contains filtered or unexported fields
}
ServiceOptions - options from Kubernetes Load Balancer service and methods to access those fields
type VpcLoadBalancer ¶
type VpcLoadBalancer struct {
// Saved copy of the actual SDK object
SdkObject interface{}
// The date and time that this load balancer was created.
// CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"`
CreatedAt string
// Fully qualified domain name assigned to this load balancer.
// Hostname *string `json:"hostname" validate:"required"`
Hostname string
// The unique identifier for this load balancer.
// ID *string `json:"id" validate:"required"`
ID string
// The type of this load balancer, public or private.
// IsPublic *bool `json:"is_public" validate:"required"`
IsPublic bool
// The listeners of this load balancer.
// Listeners []LoadBalancerListenerReference `json:"listeners" validate:"required"`
ListenerIDs []string
// The unique user-defined name for this load balancer.
// Name *string `json:"name" validate:"required"`
Name string
// The operating status of this load balancer.
// OperatingStatus *string `json:"operating_status" validate:"required"`
OperatingStatus string
// The pools of this load balancer.
// Pools []LoadBalancerPoolReference `json:"pools" validate:"required"`
Pools []VpcObjectReference
// The private IP addresses assigned to this load balancer.
// PrivateIps []IP `json:"private_ips" validate:"required"`
PrivateIps []string
// The profile to use for this load balancer.
// Profile *LoadBalancerProfileReference `json:"profile" validate:"required"`
ProfileFamily string
// The provisioning status of this load balancer.
// ProvisioningStatus *string `json:"provisioning_status" validate:"required"`
ProvisioningStatus string
// The public IP addresses assigned to this load balancer. These are applicable only for public load balancers.
// PublicIps []IP `json:"public_ips" validate:"required"`
PublicIps []string
// The resource group for this load balancer.
// ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"`
ResourceGroup VpcObjectReference
// The subnets this load balancer is part of.
// Subnets []SubnetReference `json:"subnets" validate:"required"`
Subnets []VpcObjectReference
// The VPC this load balancer belongs to. For load balancers that use subnets, this
// is the VPC the subnets belong to.
// Vpc *VPCReferenceNoName `json:"vpc,omitempty"`
VpcID string
}
VpcLoadBalancer ...
func (*VpcLoadBalancer) GetStatus ¶
func (lb *VpcLoadBalancer) GetStatus() string
GetStatus - returns the operational/provisioning status of the VPC load balancer as a string
func (*VpcLoadBalancer) GetSuccessString ¶
func (lb *VpcLoadBalancer) GetSuccessString() string
GetSuccessString - returns a string indicating success of the LB creation
func (*VpcLoadBalancer) GetSummary ¶
func (lb *VpcLoadBalancer) GetSummary() string
GetSummary - returns a string containing key information about the VPC load balancer
func (*VpcLoadBalancer) IsNLB ¶
func (lb *VpcLoadBalancer) IsNLB() bool
IsNLB - returns true of the load balancer is a Network Load Balancer
func (*VpcLoadBalancer) IsReady ¶
func (lb *VpcLoadBalancer) IsReady() bool
IsReady - returns a flag indicating if the load balancer will allow additional operations to be done
type VpcLoadBalancerListener ¶
type VpcLoadBalancerListener struct {
// The connection limit of the listener.
// ConnectionLimit *int64 `json:"connection_limit,omitempty"`
ConnectionLimit int64
// The default pool associated with the listener.
// DefaultPool *LoadBalancerPoolReference `json:"default_pool,omitempty"`
DefaultPool VpcObjectReference
// The unique identifier for this load balancer listener.
// ID *string `json:"id" validate:"required"`
ID string
// The listener port number.
// Port *int64 `json:"port" validate:"required"`
Port int64
// The listener protocol.
// Protocol *string `json:"protocol" validate:"required"`
Protocol string
// The provisioning status of this listener.
// ProvisioningStatus *string `json:"provisioning_status" validate:"required"`
ProvisioningStatus string
}
VpcLoadBalancerListener ...
type VpcLoadBalancerPool ¶
type VpcLoadBalancerPool struct {
// The load balancing algorithm.
// Algorithm *string `json:"algorithm" validate:"required"`
Algorithm string
// The health monitor of this pool.
// HealthMonitor *LoadBalancerPoolHealthMonitor `json:"health_monitor" validate:"required"`
HealthMonitor VpcLoadBalancerPoolHealthMonitor
// The unique identifier for this load balancer pool.
// ID *string `json:"id" validate:"required"`
ID string
// The backend server members of the pool.
// Members []LoadBalancerPoolMembersItem `json:"members,omitempty"`
Members []*VpcLoadBalancerPoolMember
// The user-defined name for this load balancer pool.
// Name *string `json:"name" validate:"required"`
Name string
// The protocol used for this load balancer pool.
//
// The enumerated values for this property are expected to expand in the future. When processing this property, check
// for and log unknown values. Optionally halt processing and surface the error, or bypass the pool on which the
// unexpected property value was encountered.
// Protocol *string `json:"protocol" validate:"required"`
Protocol string
// The provisioning status of this pool.
// ProvisioningStatus *string `json:"provisioning_status" validate:"required"`
ProvisioningStatus string
// The PROXY protocol setting for this pool:
// - `v1`: Enabled with version 1 (human-readable header format)
// - `v2`: Enabled with version 2 (binary header format)
// - `disabled`: Disabled
//
// Supported by load balancers in the `application` family (otherwise always `disabled`).
// ProxyProtocol *string `json:"proxy_protocol" validate:"required"`
ProxyProtocol string
// The session persistence of this pool.
// SessionPersistence *LoadBalancerPoolSessionPersistenceTemplate `json:"session_persistence,omitempty"`
SessionPersistence string
}
VpcLoadBalancerPool ...
type VpcLoadBalancerPoolHealthMonitor ¶
type VpcLoadBalancerPoolHealthMonitor struct {
// The health check interval in seconds. Interval must be greater than timeout value.
// Delay *int64 `json:"delay" validate:"required"`
Delay int64
// The health check max retries.
// MaxRetries *int64 `json:"max_retries" validate:"required"`
MaxRetries int64
// The health check port number. If specified, this overrides the ports specified in the server member resources.
// Port *int64 `json:"port,omitempty"`
Port int64
// The health check timeout in seconds.
// Timeout *int64 `json:"timeout" validate:"required"`
Timeout int64
// The protocol type of this load balancer pool health monitor.
//
// The enumerated values for this property are expected to expand in the future. When processing this property, check
// for and log unknown values. Optionally halt processing and surface the error, or bypass the health monitor on which
// the unexpected property value was encountered.
// Type *string `json:"type" validate:"required"`
Type string
// The health check url. This is applicable only to `http` type of health monitor.
// URLPath *string `json:"url_path,omitempty"`
URLPath string
}
VpcLoadBalancerPoolHealthMonitor ...
type VpcLoadBalancerPoolMember ¶
type VpcLoadBalancerPoolMember struct {
// Health of the server member in the pool.
// Health *string `json:"health" validate:"required"`
Health string
// The unique identifier for this load balancer pool member.
// ID *string `json:"id" validate:"required"`
ID string
// The port number of the application running in the server member.
// Port *int64 `json:"port" validate:"required"`
Port int64
// The provisioning status of this member.
// ProvisioningStatus *string `json:"provisioning_status" validate:"required"`
ProvisioningStatus string
// The pool member target type.
// TargetIPAddress *LoadBalancerMemberTarget.Address `json:"target" validate:"required"`
TargetIPAddress string
// TargetAddress *LoadBalancerMemberTarget.ID `json:"target" validate:"required"`
TargetInstanceID string
// Weight of the server member. This takes effect only when the load balancing algorithm of its belonging pool is
// `weighted_round_robin`.
// Weight *int64 `json:"weight,omitempty"`
Weight int64
}
VpcLoadBalancerPoolMember ...
type VpcObjectReference ¶
type VpcObjectReference struct {
// The unique identifier
ID string
// The unique user-defined name
Name string
}
VpcObjectReference ...
type VpcPoolNameFields ¶
VpcPoolNameFields - Structure for dealing with parts of the VPC pool name
type VpcSdkFake ¶
type VpcSdkFake struct {
Error map[string]error
LoadBalancerReady *VpcLoadBalancer
LoadBalancerNotReady *VpcLoadBalancer
Listener *VpcLoadBalancerListener
Pool *VpcLoadBalancerPool
Member1 *VpcLoadBalancerPoolMember
Member2 *VpcLoadBalancerPoolMember
Subnet1 *VpcSubnet
Subnet2 *VpcSubnet
}
VpcSdkFake SDK methods
func (*VpcSdkFake) CreateLoadBalancer ¶
func (v *VpcSdkFake) CreateLoadBalancer(lbName string, nodeList, poolList, subnetList []string, options *ServiceOptions) (*VpcLoadBalancer, error)
CreateLoadBalancer - create a load balancer
func (*VpcSdkFake) CreateLoadBalancerListener ¶
func (v *VpcSdkFake) CreateLoadBalancerListener(lbID, poolName, poolID string) (*VpcLoadBalancerListener, error)
CreateLoadBalancerListener - create a load balancer listener
func (*VpcSdkFake) CreateLoadBalancerPool ¶
func (v *VpcSdkFake) CreateLoadBalancerPool(lbID, poolName string, nodeList []string, options *ServiceOptions) (*VpcLoadBalancerPool, error)
CreateLoadBalancerPool - create a load balancer pool
func (*VpcSdkFake) CreateLoadBalancerPoolMember ¶
func (v *VpcSdkFake) CreateLoadBalancerPoolMember(lbID, poolName, poolID, nodeID string) (*VpcLoadBalancerPoolMember, error)
CreateLoadBalancerPoolMember - create a load balancer pool member
func (*VpcSdkFake) DeleteLoadBalancer ¶
func (v *VpcSdkFake) DeleteLoadBalancer(lbID string) error
DeleteLoadBalancer - delete the specified VPC load balancer
func (*VpcSdkFake) DeleteLoadBalancerListener ¶
func (v *VpcSdkFake) DeleteLoadBalancerListener(lbID, listenerID string) error
DeleteLoadBalancerListener - delete the specified VPC load balancer listener
func (*VpcSdkFake) DeleteLoadBalancerPool ¶
func (v *VpcSdkFake) DeleteLoadBalancerPool(lbID, poolID string) error
DeleteLoadBalancerPool - delete the specified VPC load balancer pool
func (*VpcSdkFake) DeleteLoadBalancerPoolMember ¶
func (v *VpcSdkFake) DeleteLoadBalancerPoolMember(lbID, poolID, memberID string) error
DeleteLoadBalancerPoolMember - delete the specified VPC load balancer pool member
func (*VpcSdkFake) GetLoadBalancer ¶
func (v *VpcSdkFake) GetLoadBalancer(lbID string) (*VpcLoadBalancer, error)
GetLoadBalancer - get a specific load balancer
func (*VpcSdkFake) GetSubnet ¶
func (v *VpcSdkFake) GetSubnet(subnetID string) (*VpcSubnet, error)
GetSubnet - get a specific subnet
func (*VpcSdkFake) ListLoadBalancerListeners ¶
func (v *VpcSdkFake) ListLoadBalancerListeners(lbID string) ([]*VpcLoadBalancerListener, error)
ListLoadBalancerListeners - return list of load balancer listeners
func (*VpcSdkFake) ListLoadBalancerPoolMembers ¶
func (v *VpcSdkFake) ListLoadBalancerPoolMembers(lbID, poolID string) ([]*VpcLoadBalancerPoolMember, error)
ListLoadBalancerPoolMembers - return list of load balancer pool members
func (*VpcSdkFake) ListLoadBalancerPools ¶
func (v *VpcSdkFake) ListLoadBalancerPools(lbID string) ([]*VpcLoadBalancerPool, error)
ListLoadBalancerPools - return list of load balancer pools
func (*VpcSdkFake) ListLoadBalancers ¶
func (v *VpcSdkFake) ListLoadBalancers() ([]*VpcLoadBalancer, error)
ListLoadBalancers - return list of load balancers
func (*VpcSdkFake) ListSubnets ¶
func (v *VpcSdkFake) ListSubnets() ([]*VpcSubnet, error)
ListSubnets - return list of subnets
func (*VpcSdkFake) ReplaceLoadBalancerPoolMembers ¶
func (v *VpcSdkFake) ReplaceLoadBalancerPoolMembers(lbID, poolName, poolID string, nodeList []string) ([]*VpcLoadBalancerPoolMember, error)
ReplaceLoadBalancerPoolMembers - update list of load balancer pool members
func (*VpcSdkFake) UpdateLoadBalancerPool ¶
func (v *VpcSdkFake) UpdateLoadBalancerPool(lbID, newPoolName string, existingPool *VpcLoadBalancerPool, options *ServiceOptions) (*VpcLoadBalancerPool, error)
UpdateLoadBalancerPool - update a load balancer pool
type VpcSdkGen2 ¶
VpcSdkGen2 SDK methods
func (*VpcSdkGen2) CreateLoadBalancer ¶
func (v *VpcSdkGen2) CreateLoadBalancer(lbName string, nodeList, poolList, subnetList []string, options *ServiceOptions) (*VpcLoadBalancer, error)
CreateLoadBalancer - create a load balancer
func (*VpcSdkGen2) CreateLoadBalancerListener ¶
func (v *VpcSdkGen2) CreateLoadBalancerListener(lbID, poolName, poolID string) (*VpcLoadBalancerListener, error)
CreateLoadBalancerListener - create a load balancer listener
func (*VpcSdkGen2) CreateLoadBalancerPool ¶
func (v *VpcSdkGen2) CreateLoadBalancerPool(lbID, poolName string, nodeList []string, options *ServiceOptions) (*VpcLoadBalancerPool, error)
CreateLoadBalancerPool - create a load balancer pool
func (*VpcSdkGen2) CreateLoadBalancerPoolMember ¶
func (v *VpcSdkGen2) CreateLoadBalancerPoolMember(lbID, poolName, poolID, nodeID string) (*VpcLoadBalancerPoolMember, error)
CreateLoadBalancerPoolMember - create a load balancer pool member
func (*VpcSdkGen2) DeleteLoadBalancer ¶
func (v *VpcSdkGen2) DeleteLoadBalancer(lbID string) error
DeleteLoadBalancer - delete the specified VPC load balancer
func (*VpcSdkGen2) DeleteLoadBalancerListener ¶
func (v *VpcSdkGen2) DeleteLoadBalancerListener(lbID, listenerID string) error
DeleteLoadBalancerListener - delete the specified VPC load balancer listener
func (*VpcSdkGen2) DeleteLoadBalancerPool ¶
func (v *VpcSdkGen2) DeleteLoadBalancerPool(lbID, poolID string) error
DeleteLoadBalancerPool - delete the specified VPC load balancer pool
func (*VpcSdkGen2) DeleteLoadBalancerPoolMember ¶
func (v *VpcSdkGen2) DeleteLoadBalancerPoolMember(lbID, poolID, memberID string) error
DeleteLoadBalancerPoolMember - delete the specified VPC load balancer pool
func (*VpcSdkGen2) GetLoadBalancer ¶
func (v *VpcSdkGen2) GetLoadBalancer(lbID string) (*VpcLoadBalancer, error)
GetLoadBalancer - get a specific load balancer
func (*VpcSdkGen2) GetSubnet ¶
func (v *VpcSdkGen2) GetSubnet(subnetID string) (*VpcSubnet, error)
GetSubnet - get a specific subnet
func (*VpcSdkGen2) ListLoadBalancerListeners ¶
func (v *VpcSdkGen2) ListLoadBalancerListeners(lbID string) ([]*VpcLoadBalancerListener, error)
ListLoadBalancerListeners - return list of load balancer listeners
func (*VpcSdkGen2) ListLoadBalancerPoolMembers ¶
func (v *VpcSdkGen2) ListLoadBalancerPoolMembers(lbID, poolID string) ([]*VpcLoadBalancerPoolMember, error)
ListLoadBalancerPoolMembers - return list of load balancer pool members
func (*VpcSdkGen2) ListLoadBalancerPools ¶
func (v *VpcSdkGen2) ListLoadBalancerPools(lbID string) ([]*VpcLoadBalancerPool, error)
ListLoadBalancerPools - return list of load balancer pools
func (*VpcSdkGen2) ListLoadBalancers ¶
func (v *VpcSdkGen2) ListLoadBalancers() ([]*VpcLoadBalancer, error)
ListLoadBalancers - return list of load balancers
func (*VpcSdkGen2) ListSubnets ¶
func (v *VpcSdkGen2) ListSubnets() ([]*VpcSubnet, error)
ListSubnets - return list of subnets
func (*VpcSdkGen2) ReplaceLoadBalancerPoolMembers ¶
func (v *VpcSdkGen2) ReplaceLoadBalancerPoolMembers(lbID, poolName, poolID string, nodeList []string) ([]*VpcLoadBalancerPoolMember, error)
ReplaceLoadBalancerPoolMembers - update a load balancer pool members
func (*VpcSdkGen2) UpdateLoadBalancerPool ¶
func (v *VpcSdkGen2) UpdateLoadBalancerPool(lbID, newPoolName string, existingPool *VpcLoadBalancerPool, options *ServiceOptions) (*VpcLoadBalancerPool, error)
UpdateLoadBalancerPool - update a load balancer pool
type VpcSubnet ¶
type VpcSubnet struct {
// Saved copy of the actual SDK object
SdkObject interface{}
// The number of IPv4 addresses in this subnet that are not in-use, and have not been reserved by the user or the
// provider.
// AvailableIpv4AddressCount *int64 `json:"available_ipv4_address_count" validate:"required"`
AvailableIpv4AddressCount int64
// The date and time that the subnet was created.
// CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"`
CreatedAt string
// The unique identifier for this subnet.
// ID *string `json:"id" validate:"required"`
ID string
// The IP version(s) supported by this subnet.
// IPVersion *string `json:"ip_version" validate:"required"`
IPVersion string
// The IPv4 range of the subnet, expressed in CIDR format.
// Ipv4CIDRBlock *string `json:"ipv4_cidr_block,omitempty"`
Ipv4CidrBlock string
// The user-defined name for this subnet.
// Name *string `json:"name" validate:"required"`
Name string
// The network ACL for this subnet.
// NetworkACL *NetworkACLReference `json:"network_acl" validate:"required"`
NetworkACL VpcObjectReference
// The public gateway to handle internet bound traffic for this subnet.
// PublicGateway *PublicGatewayReference `json:"public_gateway,omitempty"`
PublicGateway VpcObjectReference
// The resource group for this subnet.
// ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"`
ResourceGroup VpcObjectReference
// The status of the subnet.
// Status *string `json:"status" validate:"required"`
Status string
// The total number of IPv4 addresses in this subnet.
//
// Note: This is calculated as 2<sup>(32 − prefix length)</sup>. For example, the prefix length `/24` gives:<br>
// 2<sup>(32 − 24)</sup> = 2<sup>8</sup> = 256 addresses.
// TotalIpv4AddressCount *int64 `json:"total_ipv4_address_count" validate:"required"`
TotalIpv4AddressCount int64
// The VPC this subnet is a part of.
// VPC *VPCReference `json:"vpc" validate:"required"`
Vpc VpcObjectReference
// The zone this subnet resides in.
// Zone *ZoneReference `json:"zone" validate:"required"`
Zone string
}
VpcSubnet ...