resources

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Apr 3, 2024 License: MIT Imports: 2 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func PrintDiff

func PrintDiff(rc1, rc2 *ResourceCollection, availableTypes []ResourceType)

PrintDiff prints the differences between two resource collections.

Types

type GenericResource

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

GenericResource represents a generic implementation of a resource, providing methods to retrieve the ID, value, and resource type.

func NewGenericResource

func NewGenericResource(id, value string, resourceType ResourceType) *GenericResource

func (*GenericResource) ID

func (r *GenericResource) ID() string

func (*GenericResource) ResourceType

func (r *GenericResource) ResourceType() ResourceType

func (*GenericResource) Value

func (r *GenericResource) Value() string

type Relationship

type Relationship struct {
	Source Resource
	Target Resource
}

Relationship represents the relationship between two resources. It consists of a source and a target resource.

func FindDifferences

func FindDifferences(
	rc1, rc2 *ResourceCollection,
) (addedResourcesByType, removedResourcesByType map[ResourceType][]Resource,
	addedRelationships, removedRelationships []Relationship,
)

FindDifferences finds the differences between two resource collections.

type Resource

type Resource interface {
	ID() string
	Value() string
	ResourceType() ResourceType
}

Resource defines the basic contract for all resource types, specifying methods to retrieve the ID, value, and resource type of a resource.

type ResourceCollection

type ResourceCollection struct {
	Resources     []Resource
	Relationships []Relationship
}

ResourceCollection represents a collection of resources and their relationships. It includes slices to store resources and relationships.

func NewResourceCollection

func NewResourceCollection() *ResourceCollection

NewResourceCollection creates a new ResourceCollection.

func (*ResourceCollection) AddRelationship

func (rc *ResourceCollection) AddRelationship(source, target Resource)

AddRelationship adds a relationship to the collection.

func (*ResourceCollection) AddResource

func (rc *ResourceCollection) AddResource(resource Resource)

AddResource adds a resource to the collection.

type ResourceType

type ResourceType string

ResourceType represents the type of a resource.

Jump to

Keyboard shortcuts

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