application

package
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Feb 3, 2019 License: Apache-2.0 Imports: 9 Imported by: 2

README

This package contains the application layer, that is used to return a initialized project.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateProjectByName

func CreateProjectByName(filePath string, projectName string, skipValidation bool) (*core.Project, []error)

Factory for using a dedicated project name if projectName is empty it loads the default project

func CreateProjectFromProjectDefinitions

func CreateProjectFromProjectDefinitions(projectDefinitions *ProjectDefinitions, projectName string) (*core.Project, []error)

Types

type ApplicationReference

type ApplicationReference struct {
	//Name - is used to reference
	Name string `json:"name" yaml:"name"`
	//Title and all other attributes are supposed to override or extend the properties of the referenced application
	Title               string            `json:"title,omitempty" yaml:"title,omitempty"`
	Summary             string            `json:"summary,omitempty" yaml:"summary,omitempty"`
	Description         string            `json:"description,omitempty" yaml:"description,omitempty"`
	Group               string            `json:"group,omitempty" yaml:"group,omitempty"`
	Technology          string            `json:"technology,omitempty" yaml:"technology,omitempty"`
	Category            string            `json:"category,omitempty" yaml:"category,omitempty"`
	AddProvidedServices []core.Service    `json:"add-provided-services" yaml:"add-provided-services"`
	AddDependencies     []core.Dependency `json:"add-dependencies" yaml:"add-dependencies"`
	Properties          map[string]string `json:"properties" yaml:"properties"`
}

func (*ApplicationReference) GetAdjustedApplication

func (a *ApplicationReference) GetAdjustedApplication(application *core.Application) (*core.Application, error)

Merges the given application with another. The current application is the one who will be modified.

type ProjectConfig

type ProjectConfig struct {
	Name                string                  `json:"name" yaml:"name" `
	IncludedApplication []*ApplicationReference `json:"included-applications" yaml:"included-applications"`
}

func (*ProjectConfig) Validate

func (p *ProjectConfig) Validate() []error

Validates project and Components

type ProjectDefinitions

type ProjectDefinitions struct {
	ProjectConfig []*ProjectConfig    `json:"projects" yaml:"projects"`
	Applications  []*core.Application `json:"applications" yaml:"applications"`
}

func LoadProjectDefinitions

func LoadProjectDefinitions(filePath string) (*ProjectDefinitions, error)

Main Load/Factory Method

func (*ProjectDefinitions) FindApplicationByName

func (p *ProjectDefinitions) FindApplicationByName(nameToMatch string) (*core.Application, error)

Find application by Name

func (*ProjectDefinitions) GetProjectConfig

func (p *ProjectDefinitions) GetProjectConfig(nameToMatch string) *ProjectConfig

Gets the project info by name. If the name is not found, return the first available one.

func (*ProjectDefinitions) Validate

func (p *ProjectDefinitions) Validate() []error

Validates Definitions

Jump to

Keyboard shortcuts

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