schema

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Dec 6, 2020 License: MIT Imports: 2 Imported by: 23

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ErrNoSuchKey

type ErrNoSuchKey struct {
	Name string
}

ErrNoSuchKey means no such key exists in metadata.

func (*ErrNoSuchKey) Error

func (e *ErrNoSuchKey) Error() string

Error returns the value of the metadata key

type OptionBlock

type OptionBlock map[string]string

OptionBlock is a single option on which operation is possible

func (OptionBlock) GetMetadata

func (o OptionBlock) GetMetadata(key string) (string, bool)

GetMetadata returns the value for a key if it exists.

type Options

type Options []OptionBlock

Options contains configuration options for a provider

type Provider

type Provider interface {
	// Name returns the name of the provider
	Name() string
	// ProfileName returns the name of the provider profile
	ProfileName() string
	// Resources returns the provider for an resource deployment source.
	Resources(ctx context.Context) (*Resources, error)
}

Provider is an interface implemented by any cloud service provider.

It provides the bare minimum of methods to allow complete overview of user data.

type Resource

type Resource struct {
	// Public specifies whether the asset is public facing or private
	Public bool `json:"public"`
	// Provider is the name of provider for instance
	Provider string `json:"provider"`
	// Profile is the profile name of the resource provider
	Profile string `json:"profile,omitempty"`
	// ProfileName is the name of the key profile
	ProfileName string `json:"profile_name,omitempty"`
	// PublicIPv4 is the public ipv4 address of the instance.
	PublicIPv4 string `json:"public_ipv4,omitempty"`
	// PrivateIpv4 is the private ipv4 address of the instance
	PrivateIpv4 string `json:"private_ipv4,omitempty"`
	// DNSName is the DNS name of the resource
	DNSName string `json:"dns_name,omitempty"`
}

Resource is a cloud resource belonging to the organization

type Resources

type Resources struct {
	Items []*Resource
}

Resources is a container of multiple resource returned from providers

func (*Resources) Append

func (r *Resources) Append(resource *Resource)

Append appends a single resource to the resource list

func (*Resources) Merge

func (r *Resources) Merge(resources *Resources)

Merge merges a list of resources into the main list

Jump to

Keyboard shortcuts

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