types

package
v0.0.0-...-50be06f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 1, 2022 License: Apache-2.0 Imports: 0 Imported by: 1

Documentation

Overview

Package types defines types to be used in several commands.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AWSInstanceDistribution

type AWSInstanceDistribution struct {
	OnDemandBaseCapacity                int64 `yaml:"on_demand_base_capacity"`
	OnDemandPercentageAboveBaseCapacity int64 `yaml:"on_demand_percentage_above_base_capacity"`
}

AWSInstanceDistribution defines the distribution between on-demand and spot instances.

type AWSSpecificDefinition

type AWSSpecificDefinition struct {
	InstanceDistribution  *AWSInstanceDistribution `yaml:"instance_distribution,omitempty"`
	InstanceType          string                   `yaml:"instance_type,omitempty"`
	UseAlikeInstanceTypes bool                     `yaml:"use_alike_instance_types,omitempty"`
}

AWSSpecificDefinition defines worker node specs for AWS.

type AvailabilityZonesDefinition

type AvailabilityZonesDefinition struct {
	Number int64    `yaml:"number,omitempty"`
	Zones  []string `yaml:"zones,omitempty"`
}

AvailabilityZonesDefinition defines the availability zones for a node pool, as intgroduc ed in the V5 API.

type AzureSpecificDefinition

type AzureSpecificDefinition struct {
	VMSize             string              `yaml:"vm_size,omitempty"`
	AzureSpotInstances *AzureSpotInstances `yaml:"spot_instances,omitempty"`
}

AzureSpecificDefinition defines worker node specs for Azure.

type AzureSpotInstances

type AzureSpotInstances struct {
	Enabled  bool    `yaml:"enabled,omitempty"`
	MaxPrice float64 `yaml:"max_price,omitempty"`
}

AzureSpotInstances defines the configuration for the spot instances feature.

type CPUDefinition

type CPUDefinition struct {
	Cores int `yaml:"cores,omitempty"`
}

CPUDefinition defines worker node CPU specs.

type ClusterDefinitionV4

type ClusterDefinitionV4 struct {
	Name              string            `yaml:"name,omitempty"`
	Owner             string            `yaml:"owner,omitempty"`
	ReleaseVersion    string            `yaml:"release_version,omitempty"`
	AvailabilityZones int               `yaml:"availability_zones,omitempty"`
	Scaling           ScalingDefinition `yaml:"scaling,omitempty"`
	Workers           []NodeDefinition  `yaml:"workers,omitempty"`
}

ClusterDefinitionV4 defines a workload cluster spec compatible with the v4 API.

type ClusterDefinitionV5

type ClusterDefinitionV5 struct {
	APIVersion     string                `yaml:"api_version,omitempty"`
	Name           string                `yaml:"name,omitempty"`
	Owner          string                `yaml:"owner,omitempty"`
	ReleaseVersion string                `yaml:"release_version,omitempty"`
	Master         *MasterDefinition     `yaml:"master,omitempty"`
	MasterNodes    *MasterNodes          `yaml:"master_nodes,omitempty"`
	NodePools      []*NodePoolDefinition `yaml:"nodepools,omitempty"`
	Labels         map[string]*string    `yaml:"labels,omitempty"`
}

ClusterDefinitionV5 defines a workload cluster spec compatible with the v5 API.

type MasterDefinition

type MasterDefinition struct {
	AvailabilityZone string `yaml:"availability_zone,omitempty"`
}

MasterDefinition defines a master in cluster creation, as introduced by the V5 API.

type MasterNodes

type MasterNodes struct {
	HighAvailability  *bool             `yaml:"high_availability,omitempty"`
	AvailabilityZones []string          `yaml:"availability_zones,omitempty"`
	Azure             *MasterNodesAzure `yaml:"azure,omitempty"`
}

MasterNodes defines an interface for configuring HA master nodes.

type MasterNodesAzure

type MasterNodesAzure struct {
	AvailabilityZonesUnspecified bool `yaml:"availability_zones_unspecified"`
}

type MemoryDefinition

type MemoryDefinition struct {
	SizeGB float32 `yaml:"size_gb,omitempty"`
}

MemoryDefinition defines worker node memory specs.

type NodeDefinition

type NodeDefinition struct {
	Memory  MemoryDefinition        `yaml:"memory,omitempty"`
	CPU     CPUDefinition           `yaml:"cpu,omitempty"`
	Storage StorageDefinition       `yaml:"storage,omitempty"`
	Labels  map[string]string       `yaml:"labels,omitempty"`
	AWS     AWSSpecificDefinition   `yaml:"aws,omitempty"`
	Azure   AzureSpecificDefinition `yaml:"azure,omitempty"`
}

NodeDefinition defines worker node specs.

type NodePoolDefinition

type NodePoolDefinition struct {
	Name              string                       `yaml:"name,omitempty"`
	AvailabilityZones *AvailabilityZonesDefinition `yaml:"availability_zones,omitempty"`
	Scaling           *ScalingDefinition           `yaml:"scaling,omitempty"`
	NodeSpec          *NodeSpec                    `yaml:"node_spec,omitempty"`
}

NodePoolDefinition defines a node pool as introduces by the V5 API.

type NodeSpec

type NodeSpec struct {
	AWS   *AWSSpecificDefinition   `yaml:"aws,omitempty"`
	Azure *AzureSpecificDefinition `yaml:"azure,omitempty"`
}

NodeSpec defines the specification of the nodes in a node pool, as intriduced with the V5 API.

type ScalingDefinition

type ScalingDefinition struct {
	Min int64 `yaml:"min,omitempty"`
	Max int64 `yaml:"max,omitempty"`
}

ScalingDefinition defines how a workload cluster can scale.

type StorageDefinition

type StorageDefinition struct {
	SizeGB float32 `yaml:"size_gb,omitempty"`
}

StorageDefinition defines worker node storage specs.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL