cfbroker

package
v0.0.0-...-ba1e7d2 Latest Latest
Warning

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

Go to latest
Published: Nov 12, 2020 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 Catalog

type Catalog struct {
	Services []Service `json:"services,omitempty"`
}

func (Catalog) FindService

func (c Catalog) FindService(serviceID string) (service Service, found bool)

func (Catalog) FindServicePlan

func (c Catalog) FindServicePlan(planID string) (plan ServicePlan, found bool)

func (Catalog) Validate

func (c Catalog) Validate() error

type CloudFormationBroker

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

func New

func New(
	config Config,
	stack awscf.Stack,
	logger lager.Logger,
) *CloudFormationBroker

func (*CloudFormationBroker) Bind

func (b *CloudFormationBroker) Bind(instanceID, bindingID string, details brokerapi.BindDetails) (brokerapi.BindingResponse, error)

func (*CloudFormationBroker) Deprovision

func (b *CloudFormationBroker) Deprovision(instanceID string, details brokerapi.DeprovisionDetails, acceptsIncomplete bool) (bool, error)

func (*CloudFormationBroker) LastOperation

func (b *CloudFormationBroker) LastOperation(instanceID string) (brokerapi.LastOperationResponse, error)

func (*CloudFormationBroker) Provision

func (b *CloudFormationBroker) Provision(instanceID string, details brokerapi.ProvisionDetails, acceptsIncomplete bool) (brokerapi.ProvisioningResponse, bool, error)

func (*CloudFormationBroker) Services

func (*CloudFormationBroker) Unbind

func (b *CloudFormationBroker) Unbind(instanceID, bindingID string, details brokerapi.UnbindDetails) error

func (*CloudFormationBroker) Update

func (b *CloudFormationBroker) Update(instanceID string, details brokerapi.UpdateDetails, acceptsIncomplete bool) (bool, error)

type CloudFormationProperties

type CloudFormationProperties struct {
	Capabilities     []string          `json:"capabilities,omitempty"`
	DisableRollback  bool              `json:"disable_rollback,omitempty"`
	NotificationARNs []string          `json:"notification_arns,omitempty"`
	OnFailure        string            `json:"on_failure,omitempty"`
	Parameters       map[string]string `json:"parameters,omitempty"`
	ResourceTypes    []string          `json:"resource_types,omitempty"`
	StackPolicyURL   string            `json:"stack_policy_url,omitempty"`
	TemplateURL      string            `json:"template_url"`
	TimeoutInMinutes int64             `json:"timeout_in_minutes,omitempty"`
}

func (CloudFormationProperties) Validate

func (cp CloudFormationProperties) Validate() error

type Config

type Config struct {
	Region                       string  `json:"region"`
	CloudFormationPrefix         string  `json:"cloudformation_prefix"`
	AllowUserProvisionParameters bool    `json:"allow_user_provision_parameters"`
	AllowUserUpdateParameters    bool    `json:"allow_user_update_parameters"`
	Catalog                      Catalog `json:"catalog"`
}

func (Config) Validate

func (c Config) Validate() error

type Cost

type Cost struct {
	Amount map[string]interface{} `json:"amount,omitempty"`
	Unit   string                 `json:"unit,omitempty"`
}

type DashboardClient

type DashboardClient struct {
	ID          string `json:"id,omitempty"`
	Secret      string `json:"secret,omitempty"`
	RedirectURI string `json:"redirect_uri,omitempty"`
}

type ProvisionParameters

type ProvisionParameters map[string]string

type Service

type Service struct {
	ID              string           `json:"id"`
	Name            string           `json:"name"`
	Description     string           `json:"description"`
	Bindable        bool             `json:"bindable,omitempty"`
	Tags            []string         `json:"tags,omitempty"`
	Metadata        *ServiceMetadata `json:"metadata,omitempty"`
	Requires        []string         `json:"requires,omitempty"`
	PlanUpdateable  bool             `json:"plan_updateable"`
	Plans           []ServicePlan    `json:"plans,omitempty"`
	DashboardClient *DashboardClient `json:"dashboard_client,omitempty"`
}

func (Service) Validate

func (s Service) Validate() error

type ServiceMetadata

type ServiceMetadata struct {
	DisplayName         string `json:"displayName,omitempty"`
	ImageURL            string `json:"imageUrl,omitempty"`
	LongDescription     string `json:"longDescription,omitempty"`
	ProviderDisplayName string `json:"providerDisplayName,omitempty"`
	DocumentationURL    string `json:"documentationUrl,omitempty"`
	SupportURL          string `json:"supportUrl,omitempty"`
}

type ServicePlan

type ServicePlan struct {
	ID                       string                   `json:"id"`
	Name                     string                   `json:"name"`
	Description              string                   `json:"description"`
	Metadata                 *ServicePlanMetadata     `json:"metadata,omitempty"`
	Free                     bool                     `json:"free"`
	CloudFormationProperties CloudFormationProperties `json:"cloudformation_properties,omitempty"`
}

func (ServicePlan) Validate

func (sp ServicePlan) Validate() error

type ServicePlanMetadata

type ServicePlanMetadata struct {
	Bullets     []string `json:"bullets,omitempty"`
	Costs       []Cost   `json:"costs,omitempty"`
	DisplayName string   `json:"displayName,omitempty"`
}

type UpdateParameters

type UpdateParameters map[string]string

Jump to

Keyboard shortcuts

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