Documentation
¶
Index ¶
- func CRDNames() []string
- func CreateMachineDeployments(s *state.State) error
- func DestroyWorkers(s *state.State) error
- func GenerateMachineDeploymentsManifest(s *state.State) (string, error)
- func WaitDestroy(s *state.State) error
- func WaitReady(s *state.State) error
- type AWSSpec
- type AWSSpotInstanceConfig
- type AzureImagePlan
- type AzureImageReference
- type AzureSpec
- type DigitalOceanSpec
- type EquinixMetalSpec
- type GCESpec
- type HetznerSpec
- type NutanixSpec
- type OpenStackSpec
- type PacketSpec
- type VMWareCloudDirectorSpec
- type VSphereSpec
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CreateMachineDeployments ¶ added in v1.0.0
CreateMachineDeployments creates MachineDeployments that create appropriate worker machines
func DestroyWorkers ¶ added in v0.7.0
DestroyWorkers destroys all MachineDeployment, MachineSet and Machine objects
func GenerateMachineDeploymentsManifest ¶ added in v1.0.0
GenerateMachineDeploymentsManifest generates YAML manifests containing all MachineDeployments present in the state.
func WaitDestroy ¶ added in v1.0.0
WaitDestroy waits for all Machines to be deleted
Types ¶
type AWSSpec ¶ added in v0.7.0
type AWSSpec struct { AMI string `json:"ami"` AssignPublicIP *bool `json:"assignPublicIP"` AvailabilityZone string `json:"availabilityZone"` DiskIops *int `json:"diskIops,omitempty"` DiskSize *int `json:"diskSize"` DiskType string `json:"diskType"` EBSVolumeEncrypted bool `json:"ebsVolumeEncrypted"` InstanceProfile string `json:"instanceProfile"` InstanceType *string `json:"instanceType"` IsSpotInstance *bool `json:"isSpotInstance,omitempty"` SpotInstanceConfig *AWSSpotInstanceConfig `json:"spotInstanceConfig,omitempty"` Region string `json:"region"` SecurityGroupIDs []string `json:"securityGroupIDs"` SubnetID string `json:"subnetId"` Tags map[string]string `json:"tags"` VPCID string `json:"vpcId"` }
AWSSpec holds cloudprovider spec for AWS
type AWSSpotInstanceConfig ¶ added in v1.5.0
type AzureImagePlan ¶ added in v1.0.0
type AzureImageReference ¶ added in v1.4.4
type AzureSpec ¶ added in v0.9.0
type AzureSpec struct { Location string `json:"location"` ResourceGroup string `json:"resourceGroup"` VNetResourceGroup string `json:"vnetResourceGroup"` VMSize string `json:"vmSize"` VNetName string `json:"vnetName"` SubnetName string `json:"subnetName"` LoadBalancerSku string `json:"loadBalancerSku"` RouteTableName string `json:"routeTableName"` AvailabilitySet string `json:"availabilitySet"` AssignAvailabilitySet *bool `json:"assignAvailabilitySet,omitempty"` SecurityGroupName string `json:"securityGroupName"` Zones []string `json:"zones"` ImagePlan *AzureImagePlan `json:"imagePlan"` ImageReference *AzureImageReference `json:"imageReference,omitempty"` ImageID string `json:"imageID"` OSDiskSize int `json:"osDiskSize"` OSDiskSKU *string `json:"osDiskSKU,omitempty"` DataDiskSize int `json:"dataDiskSize"` DataDiskSKU *string `json:"dataDiskSKU,omitempty"` AssignPublicIP bool `json:"assignPublicIP"` PublicIPSKU string `json:"publicIPSKU"` Tags map[string]string `json:"tags"` }
AzureSpec holds cloudprovider spec for Azure
type DigitalOceanSpec ¶ added in v0.7.0
type DigitalOceanSpec struct { Region string `json:"region"` Size string `json:"size"` Backups bool `json:"backups"` IPv6 bool `json:"ipv6"` PrivateNetworking bool `json:"private_networking"` Monitoring bool `json:"monitoring"` Tags []string `json:"tags"` }
DigitalOceanSpec holds cloudprovider spec for DigitalOcean
type EquinixMetalSpec ¶ added in v1.4.0
type EquinixMetalSpec struct { ProjectID string `json:"projectID"` BillingCycle string `json:"billingCycle"` Metro string `json:"metro"` Facilities []string `json:"facilities"` InstanceType string `json:"instanceType"` Tags []string `json:"tags,omitempty"` }
EquinixMetalSpec holds cloudprovider spec for Equinix Metal
type GCESpec ¶ added in v0.7.0
type GCESpec struct { DiskSize int `json:"diskSize"` DiskType string `json:"diskType"` MachineType string `json:"machineType"` Network string `json:"network"` Subnetwork string `json:"subnetwork"` Zone string `json:"zone"` Preemptible bool `json:"preemptible"` AssignPublicIPAddress *bool `json:"assignPublicIPAddress"` Labels map[string]string `json:"labels"` Tags []string `json:"tags"` MultiZone *bool `json:"multizone"` Regional *bool `json:"regional"` CustomImage string `json:"customImage,omitempty"` }
GCESpec holds cloudprovider spec for GCE
type HetznerSpec ¶ added in v0.7.0
type HetznerSpec struct { ServerType string `json:"serverType"` Datacenter string `json:"datacenter"` Location string `json:"location"` Image string `json:"image"` Networks []string `json:"networks"` Labels map[string]string `json:"labels,omitempty"` }
HetznerSpec holds cloudprovider spec for Hetzner
type NutanixSpec ¶ added in v1.4.0
type NutanixSpec struct { ClusterName string `json:"clusterName"` ProjectName *string `json:"projectName,omitempty"` SubnetName string `json:"subnetName"` ImageName string `json:"imageName"` // VM sizing configuration CPUs int64 `json:"cpus"` CPUCores *int64 `json:"cpuCores,omitempty"` CPUPassthrough *bool `json:"cpuPassthrough,omitempty"` MemoryMB int64 `json:"memoryMB"` DiskSize *int64 `json:"diskSize,omitempty"` // Metadata related configuration Categories map[string]string `json:"categories,omitempty"` }
NutanixSpec holds cloudprovider spec for Nutanix
type OpenStackSpec ¶ added in v0.7.0
type OpenStackSpec struct { Image string `json:"image"` Flavor string `json:"flavor"` SecurityGroups []string `json:"securityGroups"` FloatingIPPool string `json:"floatingIPPool"` AvailabilityZone string `json:"availabilityZone"` Network string `json:"network"` Subnet string `json:"subnet"` RootDiskSizeGB *int `json:"rootDiskSizeGB,omitempty"` NodeVolumeAttachLimit *uint `json:"nodeVolumeAttachLimit,omitempty"` TrustDevicePath bool `json:"trustDevicePath"` Tags map[string]string `json:"tags"` ConfigDrive bool `json:"configDrive,omitempty"` }
OpenStackSpec holds cloudprovider spec for OpenStack
type PacketSpec ¶ added in v0.7.0
type PacketSpec struct { ProjectID string `json:"projectID"` BillingCycle string `json:"billingCycle"` Facilities []string `json:"facilities"` InstanceType string `json:"instanceType"` Tags []string `json:"tags,omitempty"` }
PacketSpec holds cloudprovider spec for Packet TODO: Remove after deprecation period.
type VMWareCloudDirectorSpec ¶ added in v1.5.0
type VMWareCloudDirectorSpec struct { // Provider configuration. Organization string `json:"organization"` VDC string `json:"vdc"` AllowInsecure bool `json:"allowInsecure"` // VM configuration. VApp string `json:"vapp"` Template string `json:"template"` Catalog string `json:"catalog"` PlacementPolicy *string `json:"placementPolicy,omitempty"` // Network configuration. Network string `json:"network"` IPAllocationMode string `json:"ipAllocationMode"` // Compute configuration. CPUs int64 `json:"cpus"` CPUCores int64 `json:"cpuCores"` MemoryMB int64 `json:"memoryMB"` SizingPolicy *string `json:"sizingPolicy,omitempty"` // Storage configuration. DiskSizeGB *int64 `json:"diskSizeGB,omitempty"` StorageProfile *string `json:"storageProfile,omitempty"` DiskIOPS *int64 `json:"diskIOPS,omitempty"` DiskBusType *string `json:"diskBusType,omitempty"` // Metadata configuration. Metadata *map[string]string `json:"metadata,omitempty"` }
VMWareCloudDirectorSpec represents VMware Cloud Director specific configuration.
type VSphereSpec ¶ added in v0.8.0
type VSphereSpec struct { AllowInsecure bool `json:"allowInsecure"` Cluster string `json:"cluster"` CPUs int `json:"cpus"` Datacenter string `json:"datacenter"` Datastore string `json:"datastore"` DatastoreCluster string `json:"datastoreCluster"` DiskSizeGB *int `json:"diskSizeGB,omitempty"` Folder string `json:"folder"` ResourcePool string `json:"resourcePool"` MemoryMB int `json:"memoryMB"` TemplateVMName string `json:"templateVMName"` VMNetName string `json:"vmNetName,omitempty"` }
VSphereSpec holds cloudprovider spec for vSphere