remoteclients

package
v0.0.0-...-7811f89 Latest Latest
Warning

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

Go to latest
Published: Aug 9, 2019 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AZ

type AZ struct {
	Name            string                `json:"name"`
	CloudProperties *runtime.RawExtension `json:"cloud_properties,omitempty"`
}

type BOSHClient

type BOSHClient interface {
	HasRelease(string, string) (bool, error)
	UploadRelease(string, string) error
	DeleteRelease(string, string) error

	HasBaseImage(string, string) (bool, error)
	UploadBaseImage(string, string) error
	DeleteBaseImage(string, string) error

	CreateVMExtension(string, VMExtension) error
	DeleteVMExtension(string) error

	CreateAZ(string, AZ) error
	DeleteAZ(string) error

	CreateNetwork(string, Network) error
	DeleteNetwork(string) error

	CreateCompilation(string, Network, AZ, Compilation) error
	DeleteCompilation(string) error

	CreateDeployment(string, Deployment) error
	DeleteDeployment(string) error
}

func NewBOSHClient

func NewBOSHClient(
	url string,
	caCert string,
	uaaURL string,
	uaaClientName string,
	uaaClientSecret string,
	uaaCACert string,
) (BOSHClient, error)

type Compilation

type Compilation struct {
	Workers             int                   `json:"workers"`
	AZ                  string                `json:"az"`
	OrphanWorkers       bool                  `json:"orphan_workers"`
	VMResources         VMResources           `json:"vm_resources"`
	CloudProperties     *runtime.RawExtension `json:"cloud_properties,omitempty"`
	Network             string                `json:"network"`
	ReuseCompilationVMs bool                  `json:"reuse_compilation_vms"`
}
type ConsumesLink struct {
	From       string `json:"from"`
	Deployment string `json:"deployment"`
}

type Deployment

type Deployment struct {
	Name           string           `json:"name"`
	Update         DeploymentUpdate `json:"update"`
	Releases       []Release        `json:"releases"`
	Stemcells      []Stemcell       `json:"stemcells"`
	InstanceGroups []InstanceGroup  `json:"instance_groups"`
}

type DeploymentNetwork

type DeploymentNetwork struct {
	Name string `json:"name"`
}

type DeploymentUpdate

type DeploymentUpdate struct {
	Canaries        int         `json:"canaries"`
	MaxInFlight     interface{} `json:"max_in_flight"`
	CanaryWatchTime interface{} `json:"canary_watch_time"`
	UpdateWatchTime interface{} `json:"update_watch_time"`
	Serial          bool        `json:"serial"`
	VMStrategy      string      `json:"vm_strategy"`
}

type InstanceGroup

type InstanceGroup struct {
	Name               string              `json:"name"`
	AZs                []string            `json:"azs"`
	Instances          int                 `json:"instances"`
	Jobs               []Job               `json:"jobs"`
	VMExtensions       []string            `json:"vm_extensions"`
	VMResources        VMResources         `json:"vm_resources"`
	Stemcell           string              `json:"stemcell"`
	PersistentDiskSize int                 `json:"persistent_disk_size"`
	Networks           []DeploymentNetwork `json:"networks"`
}

type Job

type Job struct {
	Name       string                  `json:"name"`
	Release    string                  `json:"release"`
	Consumes   map[string]ConsumesLink `json:"consumes"`
	Provides   map[string]ProvidesLink `json:"provides"`
	Properties *runtime.RawExtension   `json:"properties,omitempty"`
}

type Network

type Network struct {
	Name    string   `json:"name"`
	Type    string   `json:"type"`
	Subnets []Subnet `json:"subnets"`
}
type ProvidesLink struct {
	As     string `json:"as"`
	Shared bool   `json:"shared"`
}

type Release

type Release struct {
	Name    string `json:"name"`
	Version string `json:"version"`
}

type Stemcell

type Stemcell struct {
	Alias   string `json:"alias"`
	Name    string `json:"name"`
	Version string `json:"version"`
}

type Subnet

type Subnet struct {
	Range           string                `json:"range"`
	Gateway         string                `json:"gateway"`
	DNS             []string              `json:"dns"`
	Reserved        []string              `json:"reserved,omitempty"`
	Static          []string              `json:"static,omitempty"`
	AZs             []string              `json:"azs"`
	CloudProperties *runtime.RawExtension `json:"cloud_properties,omitempty"`
}

type UAAClient

type UAAClient interface {
	HasClient(string) (bool, error)
	CreateClient(string, string, []string) error
	DeleteClient(string) error
}

func NewUAAClient

func NewUAAClient(
	url string,
	clientName string,
	clientSecret string,
	caCert string,
) (UAAClient, error)

type VMExtension

type VMExtension struct {
	Name            string                `json:"name"`
	CloudProperties *runtime.RawExtension `json:"cloud_properties"`
}

type VMResources

type VMResources struct {
	CPU               int `json:"cpu"`
	RAM               int `json:"ram"`
	EphemeralDiskSize int `json:"ephemeral_disk_size"`
}

Jump to

Keyboard shortcuts

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