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 ...