payloads

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Sep 28, 2022 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DefaultLifecycleConfig = config.DefaultLifecycleConfig{
	Type:            "buildpack",
	Stack:           "cflinuxfs3",
	StagingMemoryMB: 1024,
	StagingDiskMB:   1024,
}

DefaultLifecycleConfig is overwritten by main.go

Functions

func Decode added in v0.2.0

func Decode(payloadObject keyedPayload, src map[string][]string) error

func ParseArrayParam

func ParseArrayParam(arrayParam *string) []string

Types

type AppCreate

type AppCreate struct {
	Name                 string            `json:"name" validate:"required"`
	EnvironmentVariables map[string]string `json:"environment_variables"`
	Relationships        AppRelationships  `json:"relationships" validate:"required"`
	Lifecycle            *Lifecycle        `json:"lifecycle"`
	Metadata             Metadata          `json:"metadata"`
}

func (AppCreate) ToAppCreateMessage

func (p AppCreate) ToAppCreateMessage() repositories.CreateAppMessage

type AppList

type AppList struct {
	Names      *string `schema:"names"`
	GUIDs      *string `schema:"guids"`
	SpaceGuids *string `schema:"space_guids"`
	OrderBy    string  `schema:"order_by"`
}

func (*AppList) SupportedKeys added in v0.2.0

func (a *AppList) SupportedKeys() []string

func (*AppList) ToMessage

func (a *AppList) ToMessage() repositories.ListAppsMessage

type AppPatch added in v0.3.0

type AppPatch struct {
	Metadata MetadataPatch `json:"metadata"`
}

func (*AppPatch) ToMessage added in v0.3.0

func (a *AppPatch) ToMessage(appGUID, spaceGUID string) repositories.PatchAppMetadataMessage

type AppPatchEnvVars

type AppPatchEnvVars struct {
	Var map[string]interface{} `json:"var" validate:"required,dive,keys,startsnotwith=VCAP_,startsnotwith=VMC_,ne=PORT,endkeys"`
}

func (*AppPatchEnvVars) ToMessage

func (a *AppPatchEnvVars) ToMessage(appGUID, spaceGUID string) repositories.PatchAppEnvVarsMessage

type AppRelationships

type AppRelationships struct {
	Space Relationship `json:"space" validate:"required"`
}

type AppResource

type AppResource struct {
	GUID    string                 `json:"guid" validate:"required"`
	Process *DestinationAppProcess `json:"process"`
}

type AppSetCurrentDroplet

type AppSetCurrentDroplet struct {
	Relationship `json:",inline" validate:"required"`
}

type BuildCreate

type BuildCreate struct {
	Package         *RelationshipData `json:"package" validate:"required"`
	StagingMemoryMB *int              `json:"staging_memory_in_mb"`
	StagingDiskMB   *int              `json:"staging_disk_in_mb"`
	Lifecycle       *Lifecycle        `json:"lifecycle"`
	Metadata        Metadata          `json:"metadata"`
}

func (*BuildCreate) ToMessage

type BuildpackList

type BuildpackList struct {
	OrderBy string `schema:"order_by"`
}

func (*BuildpackList) SupportedKeys added in v0.2.0

func (d *BuildpackList) SupportedKeys() []string

type Data

type Data struct {
	Timeout           *int64  `json:"timeout"`
	Endpoint          *string `json:"endpoint"`
	InvocationTimeout *int64  `json:"invocation_timeout"`
}

type Destination

type Destination struct {
	App      *AppResource `json:"app" validate:"required"`
	Port     *int         `json:"port"`
	Protocol *string      `json:"protocol" validate:"omitempty,oneof=http1"`
}

type DestinationAppProcess

type DestinationAppProcess struct {
	Type string `json:"type" validate:"required"`
}

type DestinationListCreate

type DestinationListCreate struct {
	Destinations []Destination `json:"destinations" validate:"required,dive"`
}

func (DestinationListCreate) ToMessage

type DomainList

type DomainList struct {
	Names *string `schema:"names"`
}

func (*DomainList) SupportedKeys added in v0.2.0

func (d *DomainList) SupportedKeys() []string

func (*DomainList) ToMessage

type HealthCheck

type HealthCheck struct {
	Type *string `json:"type"`
	Data *Data   `json:"data"`
}

type Lifecycle

type Lifecycle struct {
	Type string        `json:"type" validate:"required"`
	Data LifecycleData `json:"data" validate:"required"`
}

type LifecycleData

type LifecycleData struct {
	Buildpacks []string `json:"buildpacks" validate:"required"`
	Stack      string   `json:"stack" validate:"required"`
}

type LogRead

type LogRead struct {
	StartTime     *int64   `schema:"start_time"`
	EndTime       *int64   `schema:"end_time"`
	EnvelopeTypes []string `schema:"envelope_types" validate:"dive,eq=LOG|eq=COUNTER|eq=GAUGE|eq=TIMER|eq=EVENT"`
	Limit         *int64   `schema:"limit"`
	Descending    *bool    `schema:"descending"`
}

func (*LogRead) SupportedKeys added in v0.2.0

func (l *LogRead) SupportedKeys() []string

type Manifest

type Manifest struct {
	Version      int                   `yaml:"version"`
	Applications []ManifestApplication `yaml:"applications" validate:"max=1,dive"`
}

type ManifestApplication

type ManifestApplication struct {
	Name         string            `yaml:"name" validate:"required"`
	Env          map[string]string `yaml:"env"`
	DefaultRoute bool              `yaml:"default-route"`
	RandomRoute  bool              `yaml:"random-route"`
	NoRoute      bool              `yaml:"no-route"`
	Command      *string           `yaml:"command"`
	Instances    *int              `yaml:"instances" validate:"omitempty,gte=0"`
	Memory       *string           `yaml:"memory" validate:"megabytestring"`
	DiskQuota    *string           `yaml:"disk_quota" validate:"megabytestring"`
	// AltDiskQuota supports `disk-quota` with a hyphen for backwards compatibility.
	// Do not set both DiskQuota and AltDiskQuota.
	//
	// Deprecated: Use DiskQuota instead
	AltDiskQuota                 *string                      `yaml:"disk-quota" validate:"megabytestring"`
	HealthCheckHTTPEndpoint      *string                      `yaml:"health-check-http-endpoint"`
	HealthCheckInvocationTimeout *int64                       `yaml:"health-check-invocation-timeout" validate:"omitempty,gte=1"`
	HealthCheckType              *string                      `yaml:"health-check-type" validate:"omitempty,oneof=none process port http"`
	Timeout                      *int64                       `yaml:"timeout" validate:"omitempty,gte=1"`
	Processes                    []ManifestApplicationProcess `yaml:"processes" validate:"dive"`
	Routes                       []ManifestRoute              `yaml:"routes" validate:"dive"`
	Buildpacks                   []string                     `yaml:"buildpacks"`
}

func (ManifestApplication) ToAppCreateMessage

func (a ManifestApplication) ToAppCreateMessage(spaceGUID string) repositories.CreateAppMessage

type ManifestApplicationProcess

type ManifestApplicationProcess struct {
	Type      string  `yaml:"type" validate:"required"`
	Command   *string `yaml:"command"`
	DiskQuota *string `yaml:"disk_quota" validate:"megabytestring"`
	// AltDiskQuota supports `disk-quota` with a hyphen for backwards compatibility.
	// Do not set both DiskQuota and AltDiskQuota.
	//
	// Deprecated: Use DiskQuota instead
	AltDiskQuota                 *string `yaml:"disk-quota" validate:"megabytestring"`
	HealthCheckHTTPEndpoint      *string `yaml:"health-check-http-endpoint"`
	HealthCheckInvocationTimeout *int64  `yaml:"health-check-invocation-timeout" validate:"omitempty,gte=1"`
	HealthCheckType              *string `yaml:"health-check-type" validate:"omitempty,oneof=none process port http"`
	Instances                    *int    `yaml:"instances" validate:"omitempty,gte=0"`
	Memory                       *string `yaml:"memory" validate:"megabytestring"`
	Timeout                      *int64  `yaml:"timeout" validate:"omitempty,gte=1"`
}

func (ManifestApplicationProcess) ToProcessCreateMessage

func (p ManifestApplicationProcess) ToProcessCreateMessage(appGUID, spaceGUID string) repositories.CreateProcessMessage

func (ManifestApplicationProcess) ToProcessPatchMessage

func (p ManifestApplicationProcess) ToProcessPatchMessage(processGUID, spaceGUID string) repositories.PatchProcessMessage

type ManifestRoute

type ManifestRoute struct {
	Route *string `yaml:"route" validate:"route"`
}

type Metadata

type Metadata struct {
	Labels      map[string]string `json:"labels"`
	Annotations map[string]string `json:"annotations"`
}

type MetadataPatch added in v0.3.0

type MetadataPatch struct {
	Labels      map[string]*string `json:"labels" validate:"metadatavalidator"`
	Annotations map[string]*string `json:"annotations" validate:"metadatavalidator"`
}

type OrgCreate

type OrgCreate struct {
	Name      string   `json:"name" validate:"required"`
	Suspended bool     `json:"suspended"`
	Metadata  Metadata `json:"metadata"`
}

func (OrgCreate) ToMessage

func (p OrgCreate) ToMessage() repositories.CreateOrgMessage

type OrgPatch added in v0.3.0

type OrgPatch struct {
	Metadata MetadataPatch `json:"metadata"`
}

func (OrgPatch) ToMessage added in v0.3.0

func (p OrgPatch) ToMessage(orgGUID string) repositories.PatchOrgMetadataMessage

type PackageCreate

type PackageCreate struct {
	Type          string                `json:"type" validate:"required,oneof='bits'"`
	Relationships *PackageRelationships `json:"relationships" validate:"required"`
}

func (PackageCreate) ToMessage

type PackageListDropletsQueryParameters

type PackageListDropletsQueryParameters struct {
	// Below parameters are ignored, but must be included to ignore as query parameters
	States  string `schema:"states"`
	PerPage string `schema:"per_page"`
}

func (*PackageListDropletsQueryParameters) SupportedKeys added in v0.2.0

func (p *PackageListDropletsQueryParameters) SupportedKeys() []string

func (*PackageListDropletsQueryParameters) ToMessage

type PackageListQueryParameters

type PackageListQueryParameters struct {
	AppGUIDs *string `schema:"app_guids"`
	States   *string `schema:"states"`
	OrderBy  string  `schema:"order_by"`

	// Below parameters are ignored, but must be included to ignore as query parameters
	PerPage string `schema:"per_page"`
}

func (*PackageListQueryParameters) SupportedKeys added in v0.2.0

func (p *PackageListQueryParameters) SupportedKeys() []string

func (*PackageListQueryParameters) ToMessage

type PackageRelationships

type PackageRelationships struct {
	App *Relationship `json:"app" validate:"required"`
}

type ProcessList

type ProcessList struct {
	AppGUIDs *string `schema:"app_guids"`
}

func (*ProcessList) SupportedKeys added in v0.2.0

func (p *ProcessList) SupportedKeys() []string

func (*ProcessList) ToMessage

type ProcessPatch

type ProcessPatch struct {
	Command     *string      `json:"command"`
	HealthCheck *HealthCheck `json:"health_check"`
}

func (ProcessPatch) ToProcessPatchMessage

func (p ProcessPatch) ToProcessPatchMessage(processGUID, spaceGUID string) repositories.PatchProcessMessage

type ProcessScale

type ProcessScale struct {
	Instances *int   `json:"instances" validate:"omitempty,gte=0"`
	MemoryMB  *int64 `json:"memory_in_mb" validate:"omitempty,gt=0"`
	DiskMB    *int64 `json:"disk_in_mb" validate:"omitempty,gt=0"`
}

func (ProcessScale) ToRecord

type Relationship

type Relationship struct {
	Data *RelationshipData `json:"data" validate:"required"`
}

type RelationshipData

type RelationshipData struct {
	GUID string `json:"guid" validate:"required"`
}

type RoleCreate

type RoleCreate struct {
	Type          string            `json:"type" validate:"required"`
	Relationships RoleRelationships `json:"relationships" validate:"required"`
}

func (RoleCreate) ToMessage

type RoleRelationships

type RoleRelationships struct {
	User                     *UserRelationship `json:"user" validate:"required_without=KubernetesServiceAccount"`
	KubernetesServiceAccount *Relationship     `json:"kubernetesServiceAccount" validate:"required_without=User"`
	Space                    *Relationship     `json:"space"`
	Organization             *Relationship     `json:"organization"`
}

type RouteCreate

type RouteCreate struct {
	Host          string             `json:"host" validate:"hostname_rfc1123,required"` // TODO: Not required when we support private domains
	Path          string             `json:"path" validate:"routepathstartswithslash"`
	Relationships RouteRelationships `json:"relationships" validate:"required"`
	Metadata      Metadata           `json:"metadata"`
}

func (RouteCreate) ToMessage

func (p RouteCreate) ToMessage(domainNamespace, domainName string) repositories.CreateRouteMessage

type RouteList

type RouteList struct {
	AppGUIDs    *string `schema:"app_guids"`
	SpaceGUIDs  *string `schema:"space_guids"`
	DomainGUIDs *string `schema:"domain_guids"`
	Hosts       *string `schema:"hosts"`
	Paths       *string `schema:"paths"`
}

func (*RouteList) SupportedKeys added in v0.2.0

func (p *RouteList) SupportedKeys() []string

func (*RouteList) ToMessage

func (p *RouteList) ToMessage() repositories.ListRoutesMessage

type RouteRelationships

type RouteRelationships struct {
	Domain Relationship `json:"domain" validate:"required"`
	Space  Relationship `json:"space" validate:"required"`
}

type ServiceBindingCreate

type ServiceBindingCreate struct {
	Relationships *ServiceBindingRelationships `json:"relationships" validate:"required"`
	Type          string                       `json:"type" validate:"oneof=app"`
	Name          *string                      `json:"name"`
}

func (ServiceBindingCreate) ToMessage

type ServiceBindingList

type ServiceBindingList struct {
	AppGUIDs             *string `schema:"app_guids"`
	ServiceInstanceGUIDs *string `schema:"service_instance_guids"`
	Include              *string `schema:"include" validate:"oneof=app"`
	Type                 *string `schema:"type" validate:"oneof=app"`
}

func (*ServiceBindingList) SupportedKeys added in v0.2.0

func (l *ServiceBindingList) SupportedKeys() []string

func (*ServiceBindingList) ToMessage

type ServiceBindingRelationships

type ServiceBindingRelationships struct {
	App             *Relationship `json:"app" validate:"required"`
	ServiceInstance *Relationship `json:"service_instance" validate:"required"`
}

type ServiceInstanceCreate

type ServiceInstanceCreate struct {
	Name          string                       `json:"name" validate:"required"`
	Type          string                       `json:"type" validate:"required,oneof=user-provided"`
	Tags          []string                     `json:"tags" validate:"serviceinstancetaglength"`
	Credentials   map[string]string            `json:"credentials"`
	Relationships ServiceInstanceRelationships `json:"relationships" validate:"required"`
	Metadata      Metadata                     `json:"metadata"`
}

func (ServiceInstanceCreate) ToServiceInstanceCreateMessage

func (p ServiceInstanceCreate) ToServiceInstanceCreateMessage() repositories.CreateServiceInstanceMessage

type ServiceInstanceList

type ServiceInstanceList struct {
	Names      *string `schema:"names"`
	SpaceGuids *string `schema:"space_guids"`
	OrderBy    string  `schema:"order_by"`
}

func (*ServiceInstanceList) SupportedKeys added in v0.2.0

func (l *ServiceInstanceList) SupportedKeys() []string

func (*ServiceInstanceList) ToMessage

type ServiceInstanceRelationships

type ServiceInstanceRelationships struct {
	Space Relationship `json:"space" validate:"required"`
}

type SpaceCreate

type SpaceCreate struct {
	Name          string             `json:"name" validate:"required"`
	Relationships SpaceRelationships `json:"relationships" validate:"required"`
	Metadata      Metadata           `json:"metadata"`
}

func (SpaceCreate) ToMessage

func (p SpaceCreate) ToMessage(imageRegistryCredentialSecret string) repositories.CreateSpaceMessage

type SpacePatch added in v0.3.0

type SpacePatch struct {
	Metadata MetadataPatch `json:"metadata"`
}

func (SpacePatch) ToMessage added in v0.3.0

func (p SpacePatch) ToMessage(spaceGUID, orgGUID string) repositories.PatchSpaceMetadataMessage

type SpaceRelationships

type SpaceRelationships struct {
	Org Relationship `json:"organization" validate:"required"`
}

type TaskCreate added in v0.2.0

type TaskCreate struct {
	Command string `json:"command" validate:"required"`
}

func (TaskCreate) ToMessage added in v0.2.0

type TaskList added in v0.2.0

type TaskList struct {
	SequenceIDs []int64 `schema:"sequence_ids"`
}

func (*TaskList) SupportedKeys added in v0.2.0

func (t *TaskList) SupportedKeys() []string

func (*TaskList) ToMessage added in v0.2.0

func (t *TaskList) ToMessage() repositories.ListTaskMessage

type UserRelationship

type UserRelationship struct {
	Data UserRelationshipData `json:"data" validate:"required"`
}

type UserRelationshipData

type UserRelationshipData struct {
	Username string `json:"username" validate:"required_without=GUID"`
	GUID     string `json:"guid" validate:"required_without=Username"`
}

Jump to

Keyboard shortcuts

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