resolver

package
v2.1.0 Latest Latest
Warning

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

Go to latest
Published: May 31, 2023 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ResourceHierarchyRootResourceGroup = ResourceHierarchyRoot("ResourceGroup")
	ResourceHierarchyRootSubscription  = ResourceHierarchyRoot("Subscription")
	ResourceHierarchyRootTenant        = ResourceHierarchyRoot("Tenant")
	ResourceHierarchyRootOverride      = ResourceHierarchyRoot("Override")
)
View Source
const ResourceGroupGroup = "resources.azure.com"
View Source
const ResourceGroupKind = "ResourceGroup"

If we wanted to type-assert we'd have to solve some circular dependency problems... for now this is ok.

Variables

This section is empty.

Functions

This section is empty.

Types

type ConfigMapResolver

type ConfigMapResolver interface {
	ResolveConfigMapReference(ctx context.Context, ref genruntime.NamespacedConfigMapReference) (string, error)
	ResolveConfigMapReferences(ctx context.Context, refs set.Set[genruntime.NamespacedConfigMapReference]) (genruntime.Resolved[genruntime.ConfigMapReference], error)
}

ConfigMapResolver is a configmap resolver

func NewKubeConfigMapResolver

func NewKubeConfigMapResolver(client kubeclient.Client) ConfigMapResolver

type Resolver

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

func NewResolver

func NewResolver(client kubeclient.Client) *Resolver

func (*Resolver) IndexStorageTypes

func (r *Resolver) IndexStorageTypes(scheme *runtime.Scheme, objs []*registration.StorageType) error

func (*Resolver) ResolveAll

ResolveAll resolves every reference on the provided genruntime.ARMMetaObject. This includes: owner, all resource references, and all secrets.

func (*Resolver) ResolveConfigMapReferences

ResolveConfigMapReferences resolves all provided secret references

func (*Resolver) ResolveOwner

ResolveOwner returns the MetaObject for the given resource's owner. If the resource is supposed to have an owner but doesn't, this returns an ReferenceNotFound error. If the resource is not supposed to have an owner (for example, ResourceGroup), returns nil.

func (*Resolver) ResolveReference

ResolveReference resolves a reference, or returns an error if the reference is not pointing to a KubernetesResource

func (*Resolver) ResolveReferenceToARMID

func (r *Resolver) ResolveReferenceToARMID(ctx context.Context, ref genruntime.NamespacedResourceReference) (string, error)

ResolveReferenceToARMID gets a references ARM ID. If the reference is just pointing to an ARM resource then the ARMID is returned. If the reference is pointing to a Kubernetes resource, that resource is looked up and its ARM ID is computed.

func (*Resolver) ResolveReferencesToARMIDs

func (r *Resolver) ResolveReferencesToARMIDs(ctx context.Context, refs map[genruntime.NamespacedResourceReference]struct{}) (genruntime.Resolved[genruntime.ResourceReference], error)

ResolveReferencesToARMIDs resolves all provided references to their ARM IDs.

func (*Resolver) ResolveResourceConfigMapReferences

func (r *Resolver) ResolveResourceConfigMapReferences(ctx context.Context, metaObject genruntime.MetaObject) (genruntime.Resolved[genruntime.ConfigMapReference], error)

ResolveResourceConfigMapReferences resolves the specified genruntime.MetaObject's configmap references.

func (*Resolver) ResolveResourceHierarchy

func (r *Resolver) ResolveResourceHierarchy(ctx context.Context, obj genruntime.ARMMetaObject) (ResourceHierarchy, error)

ResolveResourceHierarchy gets the resource hierarchy for a given resource. The result is a slice of resources, with the uppermost parent at position 0 and the resource itself at position len(slice)-1

func (*Resolver) ResolveResourceReferences

func (r *Resolver) ResolveResourceReferences(ctx context.Context, metaObject genruntime.ARMMetaObject) (genruntime.Resolved[genruntime.ResourceReference], error)

ResolveResourceReferences resolves every reference found on the specified genruntime.ARMMetaObject to its corresponding ARM ID.

func (*Resolver) ResolveResourceSecretReferences

func (r *Resolver) ResolveResourceSecretReferences(ctx context.Context, metaObject genruntime.MetaObject) (genruntime.Resolved[genruntime.SecretReference], error)

ResolveResourceSecretReferences resolves all of the specified genruntime.MetaObject's secret references.

func (*Resolver) ResolveSecretReferences

ResolveSecretReferences resolves all provided secret references

func (*Resolver) Scheme

func (r *Resolver) Scheme() *runtime.Scheme

Scheme returns the current scheme from our client

type ResourceHierarchy

type ResourceHierarchy []genruntime.ARMMetaObject

func (ResourceHierarchy) AzureName

func (h ResourceHierarchy) AzureName() string

AzureName returns the Azure name for use in creating a resource.

func (ResourceHierarchy) FullyQualifiedARMID

func (h ResourceHierarchy) FullyQualifiedARMID(subscriptionID string) (string, error)

TODO: It's a bit awkward that this takes a subscriptionID parameter but does nothing with it in the tenant scope case FullyQualifiedARMID returns the fully qualified ARM ID of the resource

func (ResourceHierarchy) Location

func (h ResourceHierarchy) Location() (string, error)

Location returns the location root of the hierarchy, or an error if the root is not a subscription.

func (ResourceHierarchy) ResourceGroup

func (h ResourceHierarchy) ResourceGroup() (string, error)

ResourceGroup returns the resource group that the hierarchy is in, or an error if the hierarchy is not rooted in a resource group.

type ResourceHierarchyRoot

type ResourceHierarchyRoot string

type SecretResolver

type SecretResolver interface {
	ResolveSecretReference(ctx context.Context, ref genruntime.NamespacedSecretReference) (string, error)
	ResolveSecretReferences(ctx context.Context, refs set.Set[genruntime.NamespacedSecretReference]) (genruntime.Resolved[genruntime.SecretReference], error)
}

SecretResolver is a secret resolver

func NewKubeSecretResolver

func NewKubeSecretResolver(client kubeclient.Client) SecretResolver

Jump to

Keyboard shortcuts

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