v3action

package
v6.28.0+incompatible Latest Latest
Warning

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

Go to latest
Published: Jun 27, 2017 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Overview

Package v3action contains the business logic for the commands/v3 package

Index

Constants

View Source
const StagingLog = "STG"

Variables

This section is empty.

Functions

This section is empty.

Types

type Actor

type Actor struct {
	CloudControllerClient CloudControllerClient
	Config                Config
}

Actor represents a V3 actor.

func NewActor

func NewActor(client CloudControllerClient, config Config) *Actor

NewActor returns a new V3 actor.

func (Actor) AssignIsolationSegmentToSpaceByNameAndSpace

func (actor Actor) AssignIsolationSegmentToSpaceByNameAndSpace(isolationSegmentName string, spaceGUID string) (Warnings, error)

func (Actor) CloudControllerAPIVersion

func (actor Actor) CloudControllerAPIVersion() string

CloudControllerAPIVersion returns back the Cloud Controller API version.

func (Actor) CreateAndUploadPackageByApplicationNameAndSpace

func (actor Actor) CreateAndUploadPackageByApplicationNameAndSpace(appName string, spaceGUID string, bitsPath string) (Package, Warnings, error)

func (Actor) CreateApplicationByNameAndSpace

func (actor Actor) CreateApplicationByNameAndSpace(appName string, spaceGUID string) (Application, Warnings, error)

CreateApplicationByNameAndSpace creates and returns the application with the given name in the given space.

func (Actor) CreateIsolationSegmentByName

func (actor Actor) CreateIsolationSegmentByName(isolationSegment IsolationSegment) (Warnings, error)

CreateIsolationSegmentByName creates a given isolation segment.

func (Actor) DeleteIsolationSegmentByName

func (actor Actor) DeleteIsolationSegmentByName(name string) (Warnings, error)

DeleteIsolationSegmentByName deletes the given isolation segment.

func (Actor) EntitleIsolationSegmentToOrganizationByName

func (actor Actor) EntitleIsolationSegmentToOrganizationByName(isolationSegmentName string, orgName string) (Warnings, error)

EntitleIsolationSegmentToOrganizationByName entitles the given organization to use the specified isolation segment

func (Actor) GetApplicationByNameAndSpace

func (actor Actor) GetApplicationByNameAndSpace(appName string, spaceGUID string) (Application, Warnings, error)

GetApplicationByNameAndSpace returns the application with the given name in the given space.

func (Actor) GetApplicationSummaryByNameAndSpace

func (actor Actor) GetApplicationSummaryByNameAndSpace(appName string,
	spaceGUID string) (ApplicationSummary, Warnings, error)

GetApplicationSummaryByNameAndSpace returns an application with process and instance stats.

func (Actor) GetApplicationTasks

func (actor Actor) GetApplicationTasks(appGUID string, sortOrder SortOrder) ([]Task, Warnings, error)

GetApplicationTasks returns a list of tasks associated with the provided appplication GUID.

func (Actor) GetEffectiveIsolationSegmentBySpace

func (actor Actor) GetEffectiveIsolationSegmentBySpace(spaceGUID string, orgDefaultIsolationSegmentGUID string) (IsolationSegment, Warnings, error)

GetEffectiveIsolationSegmentBySpace returns the space's effective isolation segment.

If the space has its own isolation segment, that will be returned.

If the space does not have one, the organization's default isolation segment (GUID passed in) will be returned.

If the space does not have one and the passed in organization default isolation segment GUID is empty, a NoRelationshipError will be returned.

func (Actor) GetIsolationSegmentByName

func (actor Actor) GetIsolationSegmentByName(name string) (IsolationSegment, Warnings, error)

GetIsolationSegmentByName returns the requested isolation segment.

func (Actor) GetIsolationSegmentSummaries

func (actor Actor) GetIsolationSegmentSummaries() ([]IsolationSegmentSummary, Warnings, error)

GetIsolationSegmentSummaries returns all isolation segments and their entitled orgs

func (Actor) GetIsolationSegmentsByOrganization

func (actor Actor) GetIsolationSegmentsByOrganization(orgGUID string) ([]IsolationSegment, Warnings, error)

func (Actor) GetOrganizationByName

func (actor Actor) GetOrganizationByName(name string) (Organization, Warnings, error)

GetOrganizationByName returns the organization with the given name.

func (Actor) GetStreamingLogs

func (_ Actor) GetStreamingLogs(appGUID string, client NOAAClient) (<-chan *LogMessage, <-chan error)

func (Actor) GetStreamingLogsForApplicationByNameAndSpace

func (actor Actor) GetStreamingLogsForApplicationByNameAndSpace(appName string, spaceGUID string, client NOAAClient) (<-chan *LogMessage, <-chan error, Warnings, error)

func (Actor) GetTaskBySequenceIDAndApplication

func (actor Actor) GetTaskBySequenceIDAndApplication(sequenceID int, appGUID string) (Task, Warnings, error)

func (Actor) PollStart

func (actor Actor) PollStart(appGUID string, warningsChannel chan<- Warnings) error

func (Actor) ResetSpaceIsolationSegment

func (actor Actor) ResetSpaceIsolationSegment(orgGUID string, spaceGUID string) (string, Warnings, error)

ResetSpaceIsolationSegment disassociates a space from an isolation segment.

If the space's organization has a default isolation segment, return its name. Otherwise return the empty string.

func (Actor) RevokeIsolationSegmentFromOrganizationByName

func (actor Actor) RevokeIsolationSegmentFromOrganizationByName(isolationSegmentName string, orgName string) (Warnings, error)

func (Actor) RunTask

func (actor Actor) RunTask(appGUID string, task Task) (Task, Warnings, error)

RunTask runs the provided command in the application environment associated with the provided application GUID.

func (Actor) SetApplicationDroplet

func (actor Actor) SetApplicationDroplet(appName string, spaceGUID string, dropletGUID string) (Warnings, error)

SetApplicationDroplet sets the droplet for an application.

func (Actor) StagePackage

func (actor Actor) StagePackage(packageGUID string) (<-chan Build, <-chan Warnings, <-chan error)

func (Actor) StartApplication

func (actor Actor) StartApplication(appName string, spaceGUID string) (Application, Warnings, error)

StartApplication starts an application.

func (Actor) StopApplication

func (actor Actor) StopApplication(appName string, spaceGUID string) (Warnings, error)

StopApplication stops an application.

func (Actor) TerminateTask

func (actor Actor) TerminateTask(taskGUID string) (Task, Warnings, error)

type Application

type Application ccv3.Application

Application represents a V3 actor application.

type ApplicationAlreadyExistsError

type ApplicationAlreadyExistsError struct {
	Name string
}

ApplicationAlreadyExistsError represents the error that occurs when the application already exists.

func (ApplicationAlreadyExistsError) Error

type ApplicationNotFoundError

type ApplicationNotFoundError struct {
	Name string
}

ApplicationNotFoundError represents the error that occurs when the application is not found.

func (ApplicationNotFoundError) Error

func (e ApplicationNotFoundError) Error() string

type ApplicationSummary

type ApplicationSummary struct {
	Application
	Processes      []Process
	CurrentDroplet Droplet
}

ApplicationSummary represents an application with its processes and droplet.

type AssignDropletError

type AssignDropletError struct {
}

AssignDropletError is returned when assigning the current droplet of an app fails

func (AssignDropletError) Error

func (a AssignDropletError) Error() string

type Build

type Build ccv3.Build

type Buildpack

type Buildpack ccv3.Buildpack

type CloudControllerClient

type CloudControllerClient interface {
	AssignSpaceToIsolationSegment(spaceGUID string, isolationSegmentGUID string) (ccv3.Relationship, ccv3.Warnings, error)
	CloudControllerAPIVersion() string
	CreateApplication(app ccv3.Application) (ccv3.Application, ccv3.Warnings, error)
	CreateApplicationTask(appGUID string, task ccv3.Task) (ccv3.Task, ccv3.Warnings, error)
	CreateBuild(build ccv3.Build) (ccv3.Build, ccv3.Warnings, error)
	CreateIsolationSegment(isolationSegment ccv3.IsolationSegment) (ccv3.IsolationSegment, ccv3.Warnings, error)
	CreatePackage(pkg ccv3.Package) (ccv3.Package, ccv3.Warnings, error)
	DeleteIsolationSegment(guid string) (ccv3.Warnings, error)
	EntitleIsolationSegmentToOrganizations(isoGUID string, orgGUIDs []string) (ccv3.RelationshipList, ccv3.Warnings, error)
	GetApplications(query url.Values) ([]ccv3.Application, ccv3.Warnings, error)
	GetApplicationCurrentDroplet(appGUID string) (ccv3.Droplet, ccv3.Warnings, error)
	GetApplicationProcesses(appGUID string) ([]ccv3.Process, ccv3.Warnings, error)
	GetProcessInstances(processGUID string) ([]ccv3.Instance, ccv3.Warnings, error)
	GetApplicationTasks(appGUID string, query url.Values) ([]ccv3.Task, ccv3.Warnings, error)
	GetBuild(guid string) (ccv3.Build, ccv3.Warnings, error)
	GetIsolationSegment(guid string) (ccv3.IsolationSegment, ccv3.Warnings, error)
	GetIsolationSegmentOrganizationsByIsolationSegment(isolationSegmentGUID string) ([]ccv3.Organization, ccv3.Warnings, error)
	GetIsolationSegments(query url.Values) ([]ccv3.IsolationSegment, ccv3.Warnings, error)
	GetOrganizationDefaultIsolationSegment(orgGUID string) (ccv3.Relationship, ccv3.Warnings, error)
	GetOrganizations(query url.Values) ([]ccv3.Organization, ccv3.Warnings, error)
	GetPackage(guid string) (ccv3.Package, ccv3.Warnings, error)
	GetSpaceIsolationSegment(spaceGUID string) (ccv3.Relationship, ccv3.Warnings, error)
	RevokeIsolationSegmentFromOrganization(isolationSegmentGUID string, organizationGUID string) (ccv3.Warnings, error)
	SetApplicationDroplet(appGUID string, dropletGUID string) (ccv3.Relationship, ccv3.Warnings, error)
	StartApplication(appGUID string) (ccv3.Application, ccv3.Warnings, error)
	StopApplication(appGUID string) (ccv3.Warnings, error)
	UpdateTask(taskGUID string) (ccv3.Task, ccv3.Warnings, error)
	UploadPackage(pkg ccv3.Package, zipFilepath string) (ccv3.Package, ccv3.Warnings, error)
}

CloudControllerClient is the interface to the cloud controller V3 API.

type Config

type Config interface {
	PollingInterval() time.Duration
	StartupTimeout() time.Duration
}

type Droplet

type Droplet struct {
	GUID       string
	Stack      string
	Buildpacks []Buildpack
}

Droplet represents a Cloud Controller droplet.

type Instance

type Instance ccv3.Instance

Instance represents a V3 actor instance.

func (*Instance) StartTime

func (instance *Instance) StartTime() time.Time

StartTime returns the time that the instance started.

type IsolationSegment

type IsolationSegment ccv3.IsolationSegment

IsolationSegment represents a V3 actor IsolationSegment.

type IsolationSegmentAlreadyExistsError

type IsolationSegmentAlreadyExistsError struct {
	Name string
}

IsolationSegmentAlreadyExistsError gets returned when an isolation segment already exists.

func (IsolationSegmentAlreadyExistsError) Error

type IsolationSegmentNotFoundError

type IsolationSegmentNotFoundError struct {
	Name string
}

IsolationSegmentNotFoundError represents the error that occurs when the isolation segment is not found.

func (IsolationSegmentNotFoundError) Error

type IsolationSegmentSummary

type IsolationSegmentSummary struct {
	Name         string
	EntitledOrgs []string
}

type LogMessage

type LogMessage struct {
	// contains filtered or unexported fields
}

func NewLogMessage

func NewLogMessage(message string, messageType int, timestamp time.Time, sourceType string, sourceInstance string) *LogMessage

func (LogMessage) Message

func (log LogMessage) Message() string

func (LogMessage) SourceInstance

func (log LogMessage) SourceInstance() string

func (LogMessage) SourceType

func (log LogMessage) SourceType() string

func (LogMessage) Staging

func (log LogMessage) Staging() bool

func (LogMessage) Timestamp

func (log LogMessage) Timestamp() time.Time

func (LogMessage) Type

func (log LogMessage) Type() string

type NOAAClient

type NOAAClient interface {
	Close() error
	RecentLogs(appGuid string, authToken string) ([]*events.LogMessage, error)
	TailingLogs(appGuid, authToken string) (<-chan *events.LogMessage, <-chan error)
}

NOAAClient is a client for getting logs.

type NOAATimeoutError

type NOAATimeoutError struct{}

func (NOAATimeoutError) Error

func (_ NOAATimeoutError) Error() string

type NoRelationshipError

type NoRelationshipError struct {
}

func (NoRelationshipError) Error

func (e NoRelationshipError) Error() string

type Organization

type Organization ccv3.Organization

Organization represents a V3 actor organization.

type OrganizationNotFoundError

type OrganizationNotFoundError struct {
	Name string
}

OrganizationNotFoundError represents the error that occurs when the organization is not found.

func (OrganizationNotFoundError) Error

type Package

type Package ccv3.Package

type PackageProcessingExpiredError

type PackageProcessingExpiredError struct{}

func (PackageProcessingExpiredError) Error

type PackageProcessingFailedError

type PackageProcessingFailedError struct{}

func (PackageProcessingFailedError) Error

type Process

type Process struct {
	Type       string
	Instances  []Instance
	MemoryInMB int
}

Process represents a V3 actor process.

func (Process) HealthyInstanceCount

func (p Process) HealthyInstanceCount() int

func (Process) TotalInstanceCount

func (p Process) TotalInstanceCount() int

type SortOrder

type SortOrder string

This is used for sorting.

const (
	Ascending  SortOrder = "Ascending"
	Descending SortOrder = "Descending"
)

type StartupTimeoutError

type StartupTimeoutError struct {
}

StartupTimeoutError is returned when startup timeout is reached waiting for an application to start.

func (StartupTimeoutError) Error

func (e StartupTimeoutError) Error() string

type Task

type Task ccv3.Task

Task represents a V3 actor Task.

type TaskNotFoundError

type TaskNotFoundError struct {
	SequenceID int
}

TaskNotFoundError is returned when no tasks matching the filters are found.

func (TaskNotFoundError) Error

func (e TaskNotFoundError) Error() string

type TaskWorkersUnavailableError

type TaskWorkersUnavailableError struct {
	Message string
}

TaskWorkersUnavailableError is returned when there are no workers to run a given task.

func (TaskWorkersUnavailableError) Error

type Warnings

type Warnings []string

Warnings is a list of warnings returned back from the cloud controller

Directories

Path Synopsis
Code generated by counterfeiter.
Code generated by counterfeiter.

Jump to

Keyboard shortcuts

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