types

package
v0.9.8 Latest Latest
Warning

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

Go to latest
Published: Jan 14, 2020 License: Apache-2.0, BSD-3-Clause, MIT Imports: 10 Imported by: 22

Documentation

Overview

Package types contains the Service Manager web entities

Package types contains the Service Manager web entities

Index

Constants

View Source
const (
	// CREATED represents a notification type for creating a resource
	CREATED NotificationOperation = "CREATED"

	// MODIFIED represents a notification type for modifying a resource
	MODIFIED NotificationOperation = "MODIFIED"

	// DELETED represents a notification type for deleting a resource
	DELETED NotificationOperation = "DELETED"

	// InvalidRevision revision with invalid value
	InvalidRevision int64 = -1
)
View Source
const K8sPlatformType string = "kubernetes"

Variables

This section is empty.

Functions

func Equals added in v0.9.6

func Equals(obj, other Object) bool

Types

type Base added in v0.2.0

type Base struct {
	ID             string    `json:"id"`
	CreatedAt      time.Time `json:"created_at"`
	UpdatedAt      time.Time `json:"updated_at"`
	Labels         Labels    `json:"labels,omitempty"`
	PagingSequence int64     `json:"-"`
}

func (*Base) GetCreatedAt added in v0.2.0

func (e *Base) GetCreatedAt() time.Time

func (*Base) GetID added in v0.2.0

func (e *Base) GetID() string

func (*Base) GetLabels added in v0.2.0

func (e *Base) GetLabels() Labels

func (*Base) GetPagingSequence added in v0.6.0

func (e *Base) GetPagingSequence() int64

func (*Base) GetUpdatedAt added in v0.2.0

func (e *Base) GetUpdatedAt() time.Time

func (*Base) SetCreatedAt added in v0.2.0

func (e *Base) SetCreatedAt(time time.Time)

func (*Base) SetID added in v0.2.0

func (e *Base) SetID(id string)

func (*Base) SetLabels added in v0.2.0

func (e *Base) SetLabels(labels Labels)

func (*Base) SetUpdatedAt added in v0.2.0

func (e *Base) SetUpdatedAt(time time.Time)

type Basic

type Basic struct {
	Username string `json:"username,omitempty"`
	Password string `json:"password,omitempty"`
}

Basic basic credentials

type Credentials

type Credentials struct {
	Basic *Basic `json:"basic,omitempty"`
}

Credentials credentials

func GenerateCredentials

func GenerateCredentials() (*Credentials, error)

GenerateCredentials return user and password

func (*Credentials) MarshalJSON added in v0.1.2

func (c *Credentials) MarshalJSON() ([]byte, error)

func (*Credentials) Validate

func (c *Credentials) Validate() error

Validate implements InputValidator and verifies all mandatory fields are populated

type Labels added in v0.1.8

type Labels map[string][]string

Labels represents key values pairs associated with resources

func (Labels) Validate added in v0.1.8

func (l Labels) Validate() error

type Notification added in v0.3.0

type Notification struct {
	Base
	Resource      ObjectType            `json:"resource"`
	Type          NotificationOperation `json:"type"`
	PlatformID    string                `json:"platform_id,omitempty"`
	Revision      int64                 `json:"revision"`
	Payload       json.RawMessage       `json:"payload"`
	CorrelationID string                `json:"correlation_id"`
}

Notification struct

func (*Notification) Equals added in v0.9.6

func (e *Notification) Equals(obj Object) bool

func (*Notification) GetType added in v0.3.0

func (e *Notification) GetType() ObjectType

func (*Notification) MarshalJSON added in v0.3.0

func (e *Notification) MarshalJSON() ([]byte, error)

MarshalJSON override json serialization for http response

func (*Notification) Validate added in v0.3.0

func (n *Notification) Validate() error

Validate implements InputValidator and verifies all mandatory fields are populated

type NotificationOperation added in v0.9.0

type NotificationOperation string

NotificationOperation is the notification type

type Notifications added in v0.3.0

type Notifications struct {
	Notifications []*Notification `json:"notifications"`
}

func (*Notifications) Add added in v0.3.0

func (e *Notifications) Add(object Object)

func (*Notifications) ItemAt added in v0.3.0

func (e *Notifications) ItemAt(index int) Object

func (*Notifications) Len added in v0.3.0

func (e *Notifications) Len() int

type Object added in v0.2.0

type Object interface {
	util.InputValidator

	Equals(object Object) bool
	SetID(id string)
	GetID() string
	GetType() ObjectType
	GetLabels() Labels
	SetLabels(labels Labels)
	SetCreatedAt(time time.Time)
	GetCreatedAt() time.Time
	SetUpdatedAt(time time.Time)
	GetUpdatedAt() time.Time
	GetPagingSequence() int64
}

Object is the common interface that all resources in the Service Manager must implement

type ObjectArray added in v0.9.4

type ObjectArray struct {
	Objects []Object
}

ObjectArray is an ObjectList backed by a slice of Object's

func NewObjectArray added in v0.9.4

func NewObjectArray(objects ...Object) *ObjectArray

func (*ObjectArray) Add added in v0.9.4

func (a *ObjectArray) Add(object Object)

func (*ObjectArray) ItemAt added in v0.9.4

func (a *ObjectArray) ItemAt(index int) Object

func (*ObjectArray) Len added in v0.9.4

func (a *ObjectArray) Len() int

type ObjectList added in v0.2.0

type ObjectList interface {
	Add(object Object)
	ItemAt(index int) Object
	Len() int
}

ObjectList is the interface that lists of objects must implement

type ObjectPage added in v0.6.0

type ObjectPage struct {
	//Token represents the base64 encoded paging_sequence of the last entity in items list
	Token      string   `json:"token,omitempty"`
	ItemsCount int      `json:"num_items"`
	Items      []Object `json:"items"`
}

ObjectPage is the DTO for a given page of resources when listing

type ObjectType added in v0.2.0

type ObjectType string

ObjectType is the type of the object in the Service Manager

const NotificationType ObjectType = "types.Notification"
const OperationType ObjectType = "types.Operation"
const PlatformType ObjectType = "types.Platform"
const ServiceBrokerType ObjectType = "types.ServiceBroker"
const ServiceInstanceType ObjectType = "types.ServiceInstance"
const ServiceOfferingType ObjectType = "types.ServiceOffering"
const ServicePlanType ObjectType = "types.ServicePlan"
const VisibilityType ObjectType = "types.Visibility"

func (ObjectType) String added in v0.9.0

func (ot ObjectType) String() string

type Operation added in v0.9.0

type Operation struct {
	Base
	Description   string            `json:"description"`
	Type          OperationCategory `json:"type"`
	State         OperationState    `json:"state"`
	ResourceID    string            `json:"resource_id"`
	ResourceType  string            `json:"resource_type"`
	Errors        json.RawMessage   `json:"errors"`
	CorrelationID string            `json:"correlation_id"`
	ExternalID    string            `json:"-"`
}

Operation struct

func (*Operation) Equals added in v0.9.6

func (e *Operation) Equals(obj Object) bool

func (*Operation) GetType added in v0.9.0

func (e *Operation) GetType() ObjectType

func (*Operation) MarshalJSON added in v0.9.0

func (e *Operation) MarshalJSON() ([]byte, error)

MarshalJSON override json serialization for http response

func (*Operation) Validate added in v0.9.0

func (o *Operation) Validate() error

Validate implements InputValidator and verifies all mandatory fields are populated

type OperationCategory added in v0.9.0

type OperationCategory string

OperationCategory is the type of an operation

const (
	// CREATE represents an operation type for creating a resource
	CREATE OperationCategory = "create"

	// UPDATE represents an operation type for updating a resource
	UPDATE OperationCategory = "update"

	// DELETE represents an operation type for deleting a resource
	DELETE OperationCategory = "delete"
)

type OperationState added in v0.9.0

type OperationState string

OperationState is the state of an operation

const (
	// SUCCEEDED represents the state of an operation after successful execution
	SUCCEEDED OperationState = "succeeded"

	// IN_PROGRESS represents the state of an operation after execution has started but has not yet finished
	IN_PROGRESS OperationState = "in progress"

	// FAILED represents the state of an operation after unsuccessful execution
	FAILED OperationState = "failed"
)

type Operations added in v0.9.0

type Operations struct {
	Operations []*Operation `json:"operations"`
}

func (*Operations) Add added in v0.9.0

func (e *Operations) Add(object Object)

func (*Operations) ItemAt added in v0.9.0

func (e *Operations) ItemAt(index int) Object

func (*Operations) Len added in v0.9.0

func (e *Operations) Len() int

type Platform

type Platform struct {
	Base
	Secured     `json:"-"`
	Type        string       `json:"type"`
	Name        string       `json:"name"`
	Description string       `json:"description"`
	Credentials *Credentials `json:"credentials,omitempty"`
	Active      bool         `json:"-"`
	LastActive  time.Time    `json:"-"`
}

Platform platform struct

func (*Platform) Equals added in v0.9.6

func (e *Platform) Equals(obj Object) bool

func (*Platform) GetCredentials added in v0.2.0

func (e *Platform) GetCredentials() *Credentials

func (*Platform) GetType added in v0.2.0

func (e *Platform) GetType() ObjectType

func (*Platform) MarshalJSON

func (e *Platform) MarshalJSON() ([]byte, error)

MarshalJSON override json serialization for http response

func (*Platform) SetCredentials added in v0.2.0

func (e *Platform) SetCredentials(credentials *Credentials)

func (*Platform) Validate

func (e *Platform) Validate() error

Validate implements InputValidator and verifies all mandatory fields are populated

type Platforms added in v0.2.0

type Platforms struct {
	Platforms []*Platform `json:"platforms"`
}

func (*Platforms) Add added in v0.2.0

func (e *Platforms) Add(object Object)

func (*Platforms) ItemAt added in v0.2.0

func (e *Platforms) ItemAt(index int) Object

func (*Platforms) Len added in v0.2.0

func (e *Platforms) Len() int

type Secured added in v0.2.0

type Secured interface {
	SetCredentials(credentials *Credentials)
	GetCredentials() *Credentials
}

Secured interface indicates that an object requires credentials to access it

type ServiceBroker added in v0.2.0

type ServiceBroker struct {
	Base
	Secured     `json:"-"`
	Name        string       `json:"name"`
	Description string       `json:"description"`
	BrokerURL   string       `json:"broker_url"`
	Credentials *Credentials `json:"credentials,omitempty"`

	Catalog  json.RawMessage    `json:"-"`
	Services []*ServiceOffering `json:"-"`
}

ServiceBroker broker struct

func (*ServiceBroker) Equals added in v0.9.6

func (e *ServiceBroker) Equals(obj Object) bool

func (*ServiceBroker) GetCredentials added in v0.2.0

func (e *ServiceBroker) GetCredentials() *Credentials

func (*ServiceBroker) GetType added in v0.2.0

func (e *ServiceBroker) GetType() ObjectType

func (*ServiceBroker) MarshalJSON added in v0.2.0

func (e *ServiceBroker) MarshalJSON() ([]byte, error)

MarshalJSON override json serialization for http response

func (*ServiceBroker) SetCredentials added in v0.2.0

func (e *ServiceBroker) SetCredentials(credentials *Credentials)

func (*ServiceBroker) Validate added in v0.2.0

func (e *ServiceBroker) Validate() error

Validate implements InputValidator and verifies all mandatory fields are populated

type ServiceBrokers added in v0.2.0

type ServiceBrokers struct {
	ServiceBrokers []*ServiceBroker `json:"service_brokers"`
}

func (*ServiceBrokers) Add added in v0.2.0

func (e *ServiceBrokers) Add(object Object)

func (*ServiceBrokers) ItemAt added in v0.2.0

func (e *ServiceBrokers) ItemAt(index int) Object

func (*ServiceBrokers) Len added in v0.2.0

func (e *ServiceBrokers) Len() int

type ServiceInstance added in v0.9.0

type ServiceInstance struct {
	Base
	Name            string          `json:"name"`
	ServicePlanID   string          `json:"service_plan_id"`
	PlatformID      string          `json:"platform_id"`
	DashboardURL    string          `json:"dashboard_url,omitempty"`
	MaintenanceInfo json.RawMessage `json:"maintenance_info,omitempty"`
	Context         json.RawMessage `json:"-"`
	PreviousValues  json.RawMessage `json:"-"`
	Ready           bool            `json:"ready"`
	Usable          bool            `json:"usable"`
}

ServiceInstance struct

func (*ServiceInstance) Equals added in v0.9.6

func (e *ServiceInstance) Equals(obj Object) bool

func (*ServiceInstance) GetType added in v0.9.0

func (e *ServiceInstance) GetType() ObjectType

func (*ServiceInstance) MarshalJSON added in v0.9.0

func (e *ServiceInstance) MarshalJSON() ([]byte, error)

MarshalJSON override json serialization for http response

func (*ServiceInstance) Validate added in v0.9.0

func (e *ServiceInstance) Validate() error

Validate implements InputValidator and verifies all mandatory fields are populated

type ServiceInstances added in v0.9.0

type ServiceInstances struct {
	ServiceInstances []*ServiceInstance `json:"service_instances"`
}

func (*ServiceInstances) Add added in v0.9.0

func (e *ServiceInstances) Add(object Object)

func (*ServiceInstances) ItemAt added in v0.9.0

func (e *ServiceInstances) ItemAt(index int) Object

func (*ServiceInstances) Len added in v0.9.0

func (e *ServiceInstances) Len() int

type ServiceOffering added in v0.1.2

type ServiceOffering struct {
	Base

	Name                 string `json:"name"`
	Description          string `json:"description"`
	Bindable             bool   `json:"bindable"`
	InstancesRetrievable bool   `json:"instances_retrievable"`
	BindingsRetrievable  bool   `json:"bindings_retrievable"`
	PlanUpdatable        bool   `json:"plan_updateable"`
	AllowContextUpdates  bool   `json:"allow_context_updates"`

	Tags     json.RawMessage `json:"tags,omitempty"`
	Requires json.RawMessage `json:"requires,omitempty"`
	Metadata json.RawMessage `json:"metadata,omitempty"`

	BrokerID    string `json:"broker_id"`
	CatalogID   string `json:"catalog_id"`
	CatalogName string `json:"catalog_name"`

	Plans []*ServicePlan `json:"plans"`
}

Service Offering struct

func (*ServiceOffering) Equals added in v0.9.6

func (e *ServiceOffering) Equals(obj Object) bool

func (*ServiceOffering) GetType added in v0.2.0

func (e *ServiceOffering) GetType() ObjectType

func (*ServiceOffering) MarshalJSON added in v0.1.2

func (e *ServiceOffering) MarshalJSON() ([]byte, error)

MarshalJSON override json serialization for http response

func (*ServiceOffering) Validate added in v0.1.2

func (e *ServiceOffering) Validate() error

Validate implements InputValidator and verifies all mandatory fields are populated

type ServiceOfferings added in v0.1.6

type ServiceOfferings struct {
	ServiceOfferings []*ServiceOffering `json:"service_offerings"`
}

func (*ServiceOfferings) Add added in v0.2.0

func (e *ServiceOfferings) Add(object Object)

func (*ServiceOfferings) ItemAt added in v0.2.0

func (e *ServiceOfferings) ItemAt(index int) Object

func (*ServiceOfferings) Len added in v0.2.0

func (e *ServiceOfferings) Len() int

type ServicePlan added in v0.1.2

type ServicePlan struct {
	Base
	Name        string `json:"name"`
	Description string `json:"description"`

	CatalogID     string `json:"catalog_id"`
	CatalogName   string `json:"catalog_name"`
	Free          bool   `json:"free"`
	Bindable      bool   `json:"bindable"`
	PlanUpdatable bool   `json:"plan_updateable"`

	Metadata               json.RawMessage `json:"metadata,omitempty"`
	Schemas                json.RawMessage `json:"schemas,omitempty"`
	MaximumPollingDuration int             `json:"maximum_polling_duration,omitempty"`
	MaintenanceInfo        json.RawMessage `json:"maintenance_info,omitempty"`

	ServiceOfferingID string `json:"service_offering_id"`
}

Service Plan struct

func (*ServicePlan) Equals added in v0.9.6

func (e *ServicePlan) Equals(obj Object) bool

func (*ServicePlan) GetType added in v0.2.0

func (e *ServicePlan) GetType() ObjectType

func (*ServicePlan) MarshalJSON added in v0.1.2

func (e *ServicePlan) MarshalJSON() ([]byte, error)

MarshalJSON override json serialization for http response

func (*ServicePlan) Validate added in v0.1.2

func (e *ServicePlan) Validate() error

Validate implements InputValidator and verifies all mandatory fields are populated

type ServicePlans added in v0.1.8

type ServicePlans struct {
	ServicePlans []*ServicePlan `json:"service_plans"`
}

func (*ServicePlans) Add added in v0.2.0

func (e *ServicePlans) Add(object Object)

func (*ServicePlans) ItemAt added in v0.2.0

func (e *ServicePlans) ItemAt(index int) Object

func (*ServicePlans) Len added in v0.2.0

func (e *ServicePlans) Len() int

type Visibilities added in v0.1.6

type Visibilities struct {
	Visibilities []*Visibility `json:"visibilities"`
}

func (*Visibilities) Add added in v0.2.0

func (e *Visibilities) Add(object Object)

func (*Visibilities) ItemAt added in v0.2.0

func (e *Visibilities) ItemAt(index int) Object

func (*Visibilities) Len added in v0.2.0

func (e *Visibilities) Len() int

type Visibility added in v0.1.6

type Visibility struct {
	Base
	PlatformID    string `json:"platform_id"`
	ServicePlanID string `json:"service_plan_id"`
}

Visibility struct

func (*Visibility) Equals added in v0.9.6

func (e *Visibility) Equals(obj Object) bool

func (*Visibility) GetType added in v0.2.0

func (e *Visibility) GetType() ObjectType

func (*Visibility) MarshalJSON added in v0.1.6

func (e *Visibility) MarshalJSON() ([]byte, error)

MarshalJSON override json serialization for http response

func (*Visibility) Validate added in v0.1.6

func (e *Visibility) Validate() error

Validate implements InputValidator and verifies all mandatory fields are populated

Jump to

Keyboard shortcuts

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