data

package
v0.1.1439 Latest Latest
Warning

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

Go to latest
Published: Feb 20, 2025 License: Apache-2.0, MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DummyVariableReference added in v0.1.1161

type DummyVariableReference struct {
	VariableName string
	ResourceName string
	ResourceType string
}

The DummyVariableReference struct defines the details of a variable that had a dummy value injected into it.

type ResourceDetails

type ResourceDetails struct {
	// Id is the octopus ID of the exported resource
	Id string
	// Name is the name of the resource
	Name string
	// Step templates have a calculated version value that is only available when the template is created. This value
	// is an expression that is used to reference the newly created version value.
	VersionLookup string
	// Step templates have a version field that is calculated by Octopus. This value captures the current value from
	// the space being exported.
	VersionCurrent string
	// Step templates can be based on community step templates. The URL of the community step template is used as
	// and external ID that links resources between spaces.
	ExternalID string
	// ResourceType is the type of Octopus resource (almost always related to the path that the resource is loaded from)
	ResourceType string
	// Lookup is the ID of the resource created or looked up by Terraform
	Lookup string
	// Dependency provides a way for one resource to depend on this resource. Usually the same of the Lookup, but can be
	// a reference to a group of resources in stateless mode.
	Dependency string
	// Count stores the HCL assigned to the count attribute. This is useful when child resources need to have the same
	// count value as a parent.
	Count string
	// FileName is the file contains the exported resource
	FileName string
	// ToHCL is a function that generates the HCL from the Octopus resource
	ToHcl ToHcl
	// A collection of any parameters that relate to the resource. These are used when building up a step template.
	Parameters []ResourceParameter
}

ResourceDetails is used to capture the dependencies required by the root resources that was exported. The process works like this: 1. The root resources is captured in a ResourceDetails from the Octopus API. 2. Any dependencies of the root object are captured in their own ResourceDetails objects. 3. Repeat step 2 for dependencies of dependencies. 4. Once all dependencies are captured, run ToHcl feeding in the collection of ResourceDetails built in steps 1 - 3. 5. ToHcl converts the object to HCL, and uses the Lookup field in the appropriate ResourceDetails to reference a dependency.

type ResourceDetailsCollection

type ResourceDetailsCollection struct {
	Resources      []ResourceDetails
	DummyVariables []DummyVariableReference
	// contains filtered or unexported fields
}

func (*ResourceDetailsCollection) AddDummy added in v0.1.1161

func (c *ResourceDetailsCollection) AddDummy(reference DummyVariableReference)

AddDummy adds a dummy variable reference to the collection

func (*ResourceDetailsCollection) AddResource

func (c *ResourceDetailsCollection) AddResource(resources ...ResourceDetails)

AddResource adds a resource to the collection

func (*ResourceDetailsCollection) GetAllResource

func (c *ResourceDetailsCollection) GetAllResource(resourceType string) []ResourceDetails

GetAllResource returns a slice of resources in the collection of type resourceType

func (*ResourceDetailsCollection) GetResource

func (c *ResourceDetailsCollection) GetResource(resourceType string, id string) string

GetResource returns the terraform references for a given resource type and id. If the resource is not found, an empty string is returned. There is no valid reason to return an empty string, but we treat a mostly valid output as a "graceful fallback" rather than failing hard, as the resulting text can still be edited by hand.

func (*ResourceDetailsCollection) GetResourceCount added in v0.1.956

func (c *ResourceDetailsCollection) GetResourceCount(resourceType string, id string) string

GetResourceCount returns the terraform count attribute for a given resource type and id. The returned string is used only for the depends_on field, as it may reference to a collection of resources rather than a single ID.

func (*ResourceDetailsCollection) GetResourceDependency

func (c *ResourceDetailsCollection) GetResourceDependency(resourceType string, id string) string

GetResourceDependency returns the terraform references for a given resource type and id. The returned string is used only for the depends_on field, as it may reference to a collection of resources rather than a single ID.

func (*ResourceDetailsCollection) GetResourceName added in v0.1.959

func (c *ResourceDetailsCollection) GetResourceName(resourceType string, id string) string

GetResourceName returns the terraform name attribute for a given resource type and id. The returned string is used only for the depends_on field, as it may reference to a collection of resources rather than a single ID.

func (*ResourceDetailsCollection) GetResourcePointer

func (c *ResourceDetailsCollection) GetResourcePointer(resourceType string, id *string) *string

GetResourcePointer returns the Terraform reference for a given resource type and id as a string pointer.

func (*ResourceDetailsCollection) GetResourceVersionCurrent added in v0.1.1204

func (c *ResourceDetailsCollection) GetResourceVersionCurrent(resourceType string, id string) string

GetResourceVersionCurrent returns the current version of the resource being exported.

func (*ResourceDetailsCollection) GetResourceVersionLookup added in v0.1.1204

func (c *ResourceDetailsCollection) GetResourceVersionLookup(resourceType string, id string) string

GetResourceVersionLookup returns the terraform syntax to lookup the version of the new resource.

func (*ResourceDetailsCollection) GetResources

func (c *ResourceDetailsCollection) GetResources(resourceType string, ids ...string) []string

GetResources returns the Terraform references for resources of the given type and with the supplied ids.

func (*ResourceDetailsCollection) HasResource

func (c *ResourceDetailsCollection) HasResource(id string, resourceType string) bool

HasResource returns true if the resource with the id and resourceType exist in the collection, and false otherwise. While this method is thread-safe, it is not a guarantee that two goroutines are not processing the same resource concurrently. If HasResource returns true, it is safe to assume the resource has been processed by other goroutines and exit early. If HasResource returns false, the resource should be processed, but the results may be discarded by the AddResource method if another goroutine has processed the same resource in the meantime.

type ResourceParameter added in v0.1.900

type ResourceParameter struct {
	VariableName  string
	Description   string
	Label         string
	ResourceName  string
	ParameterType string
	Sensitive     bool
	DefaultValue  string
}

type ToHcl

type ToHcl func() (string, error)

Jump to

Keyboard shortcuts

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