derived

package
v0.9.8 Latest Latest
Warning

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

Go to latest
Published: Aug 28, 2017 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type APIEndpoint added in v0.9.6

type APIEndpoint struct {
	// APIEndpoint derives the user-provided configuration in an item of an `apiEndpoints` array and adds various computed settings
	model.APIEndpoint
	// LoadBalancer is the load balancer serving this API endpoint if any
	LoadBalancer APIEndpointLB
}

APIEndpoint represents a Kubernetes API endpoint

type APIEndpointLB added in v0.9.6

type APIEndpointLB struct {
	// APIEndpointLB derives the user-provided configuration in an `apiEndpoints[].loadBalancer` and adds various computed settings
	model.APIEndpointLB
	// APIEndpoint is inherited to configure this load balancer
	model.APIEndpoint
	// Subnets contains all the subnets assigned to this load-balancer. Specified only when this load balancer is not reused but managed one
	Subnets []model.Subnet
}

APIEndpointLB is the load balancer serving the API endpoint

func (APIEndpointLB) DNSNameRef added in v0.9.6

func (b APIEndpointLB) DNSNameRef() string

DNSNameRef returns a CloudFormation ref for the Amazon-provided DNS name of this load balancer, which is typically used to fill an ALIAS or a CNAME dns record in Route 53

func (APIEndpointLB) Enabled added in v0.9.6

func (b APIEndpointLB) Enabled() bool

Enabled returns true when controller nodes should be added as targets of this load balancer

func (APIEndpointLB) HostedZoneRef added in v0.9.6

func (b APIEndpointLB) HostedZoneRef() string

HostedZoneRef returns a CloudFormation ref for the hosted zone the record set for this load balancer is created in

func (APIEndpointLB) LogicalName added in v0.9.6

func (b APIEndpointLB) LogicalName() string

LogicalName returns the unique resource name of the ELB

func (APIEndpointLB) RecordSetLogicalName added in v0.9.6

func (b APIEndpointLB) RecordSetLogicalName() string

RecordSetLogicalName returns the logical name of a record set created for this load balancer A logical name is an unique name of an AWS resource inside a CloudFormation stack template

func (APIEndpointLB) Ref added in v0.9.6

func (b APIEndpointLB) Ref() string

Ref returns a CloudFormation ref for the ELB backing the API endpoint

func (APIEndpointLB) SecurityGroupLogicalName added in v0.9.6

func (b APIEndpointLB) SecurityGroupLogicalName() string

func (APIEndpointLB) SecurityGroupRefs added in v0.9.6

func (b APIEndpointLB) SecurityGroupRefs() []string

SecurityGroupRefs contains CloudFormation resource references for additional SGs associated to this LB

type APIEndpoints added in v0.9.6

type APIEndpoints map[string]APIEndpoint

APIEndpoints is a set of API endpoints associated to a Kubernetes cluster

func NewAPIEndpoints added in v0.9.6

func NewAPIEndpoints(configs []model.APIEndpoint, allSubnets []model.Subnet) (APIEndpoints, error)

NewAPIEndpoints computes and returns all the required settings required to manage API endpoints form various user-inputs and other already-computed settings

func (APIEndpoints) ELBRefs added in v0.9.6

func (e APIEndpoints) ELBRefs() []string

ELBRefs returns the names of all the ELBs to which controller nodes should be associated

func (APIEndpoints) FindByName added in v0.9.6

func (e APIEndpoints) FindByName(name string) (*APIEndpoint, error)

FindByName finds an API endpoint in this set by its name

func (APIEndpoints) GetDefault added in v0.9.6

func (e APIEndpoints) GetDefault() APIEndpoint

GetDefault returns the default API endpoint identified by its name. The name is defined as DefaultAPIEndpointName

func (APIEndpoints) ManagedELBLogicalNames added in v0.9.6

func (e APIEndpoints) ManagedELBLogicalNames() []string

ManageELBLogicalNames returns all the logical names of the cfn resources corresponding to ELBs managed by kube-aws for API endpoints

type EtcdCluster

type EtcdCluster struct {
	model.EtcdCluster
	Network
	// contains filtered or unexported fields
}

func NewEtcdCluster

func NewEtcdCluster(config model.EtcdCluster, region model.Region, network Network, nodeCount int) EtcdCluster

func (EtcdCluster) DNSNames

func (c EtcdCluster) DNSNames() []string

func (EtcdCluster) NodeCount

func (c EtcdCluster) NodeCount() int

func (EtcdCluster) Region

func (c EtcdCluster) Region() model.Region

type EtcdNode

type EtcdNode interface {
	AdvertisedFQDNRef() (string, error)
	DependencyExists() bool
	DependencyRef() (string, error)
	EBSLogicalName() string
	EBSRef() string
	EIPAllocationIDRef() (string, error)
	EIPLogicalName() (string, error)
	EIPManaged() bool
	EIPRef() (string, error)
	// The name of the etcd member runs on this etcd node
	Name() string
	NetworkInterfaceIDRef() string
	NetworkInterfaceLogicalName() string
	NetworkInterfaceManaged() bool
	NetworkInterfacePrivateIPRef() string
	NetworkInterfacePrivateIPLogicalName() string
	ImportedAdvertisedFQDNRef() (string, error)
	LaunchConfigurationLogicalName() string
	LogicalName() string
	RecordSetManaged() bool
	RecordSetLogicalName() string
	SubnetRef() string
}

func NewEtcdNode

func NewEtcdNode(cluster EtcdCluster, index int, nodeConfig model.EtcdNode, s model.Subnet) EtcdNode

func NewEtcdNodeDependsOnManagedNGW

func NewEtcdNodeDependsOnManagedNGW(cluster EtcdCluster, index int, nodeConfig model.EtcdNode, s model.Subnet, ngw model.NATGateway) EtcdNode

func NewEtcdNodes

func NewEtcdNodes(nodeConfigs []model.EtcdNode, cluster EtcdCluster) ([]EtcdNode, error)

NewEtcdNodes derives etcd nodes from user-provided etcd node configs

type Network

type Network interface {
	Subnets() []model.Subnet
	NATGateways() []model.NATGateway
	NATGatewayForSubnet(model.Subnet) (*model.NATGateway, error)
}

func NewNetwork

func NewNetwork(subnets []model.Subnet, natGateways []model.NATGateway) Network

Jump to

Keyboard shortcuts

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