Documentation
¶
Index ¶
- Constants
- func CompressAndEncodeString(str string) (string, error)
- func NetworkExists(net capcv1.Network) bool
- func UsesIsolatedNetwork(csCluster *capcv1.CloudStackCluster) bool
- type AffinityGroup
- type AffinityGroupIface
- type Client
- type ClusterIface
- type NetworkIface
- type ResourceType
- type TagIface
- type VMIface
Constants ¶
View Source
const ( AntiAffinityGroupType = "host anti-affinity" AffinityGroupType = "host affinity" )
View Source
const ( NetOffering = "DefaultIsolatedNetworkOfferingWithSourceNatService" K8sDefaultAPIPort = 6443 NetworkTypeIsolated = "Isolated" NetworkProtocolTCP = "tcp" )
View Source
const ( ClusterTagNamePrefix = "CAPC_cluster_" CreatedByCAPCTagName = "created_by_CAPC" ResourceTypeNetwork ResourceType = "Network" ResourceTypeIPAddress ResourceType = "PublicIpAddress" )
Variables ¶
This section is empty.
Functions ¶
func CompressAndEncodeString ¶
func NetworkExists ¶ added in v0.4.0
NetworkExists checks that the network already exists based on the presence of all fields. Assumes that the a fetch has been done on network statuses prior.
func UsesIsolatedNetwork ¶ added in v0.4.0
func UsesIsolatedNetwork(csCluster *capcv1.CloudStackCluster) bool
usesIsolatedNetwork returns true if this cluster is specs an isolated network. Assumes that the a fetch has been done on network statuses prior.
Types ¶
type AffinityGroup ¶ added in v0.4.0
type AffinityGroupIface ¶ added in v0.4.0
type AffinityGroupIface interface {
FetchAffinityGroup(*AffinityGroup) error
GetOrCreateAffinityGroup(*infrav1.CloudStackCluster, *AffinityGroup) error
DeleteAffinityGroup(*AffinityGroup) error
AssociateAffinityGroup(*infrav1.CloudStackMachine, AffinityGroup) error
DisassociateAffinityGroup(*infrav1.CloudStackMachine, AffinityGroup) error
}
type Client ¶
type Client interface {
ClusterIface
VMIface
NetworkIface
AffinityGroupIface
TagIface
}
func NewClientFromCSAPIClient ¶
func NewClientFromCSAPIClient(cs *cloudstack.CloudStackClient) Client
type ClusterIface ¶ added in v0.4.0
type ClusterIface interface {
GetOrCreateCluster(*infrav1.CloudStackCluster) error
DisposeClusterResources(cluster *infrav1.CloudStackCluster) error
ResolveZones(*infrav1.CloudStackCluster) error
}
type NetworkIface ¶ added in v0.4.0
type NetworkIface interface {
ResolveNetworkStatuses(*capcv1.CloudStackCluster) error
ResolveNetwork(*capcv1.CloudStackCluster, *capcv1.Network) error
CreateIsolatedNetwork(*capcv1.CloudStackCluster) error
OpenFirewallRules(*capcv1.CloudStackCluster) error
FetchPublicIP(*capcv1.CloudStackCluster) (*cloudstack.PublicIpAddress, error)
ResolveLoadBalancerRuleDetails(*capcv1.CloudStackCluster) error
GetOrCreateLoadBalancerRule(*capcv1.CloudStackCluster) error
GetOrCreateIsolatedNetwork(*capcv1.CloudStackCluster) error
AssociatePublicIPAddress(*capcv1.CloudStackCluster) error
DeleteNetwork(capcv1.Network) error
}
type ResourceType ¶ added in v0.4.0
type ResourceType string
type TagIface ¶ added in v0.4.0
type TagIface interface {
AddClusterTag(ResourceType, string, *infrav1.CloudStackCluster) error
DeleteClusterTag(ResourceType, string, *infrav1.CloudStackCluster) error
AddCreatedByCAPCTag(ResourceType, string) error
DeleteCreatedByCAPCTag(ResourceType, string) error
DoClusterTagsAllowDisposal(ResourceType, string) (bool, error)
AddTags(ResourceType, string, map[string]string) error
GetTags(ResourceType, string) (map[string]string, error)
DeleteTags(ResourceType, string, map[string]string) error
}
type VMIface ¶ added in v0.4.0
type VMIface interface {
GetOrCreateVMInstance(*infrav1.CloudStackMachine, *capiv1.Machine, *infrav1.CloudStackCluster, string) error
ResolveVMInstanceDetails(*infrav1.CloudStackMachine) error
DestroyVMInstance(*infrav1.CloudStackMachine) error
AssignVMToLoadBalancerRule(*infrav1.CloudStackCluster, string) error
}
Click to show internal directories.
Click to hide internal directories.