cloudclient

package
v0.0.0-...-3420c2a Latest Latest
Warning

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

Go to latest
Published: Oct 29, 2024 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Register

func Register(name configv1.PlatformType, factoryFunc Factory)

Types

type CloudClient

type CloudClient interface {

	/* APIScheme */
	// EnsureAdminAPIDNS ensures there's a rh-api (for example) alias to the Service for the APIScheme
	// May return loadBalancerNotFound or other specific errors
	EnsureAdminAPIDNS(context.Context, client.Client, *cloudingressv1alpha1.APIScheme, *corev1.Service) error

	// DeleteAdminAPIDNS will ensure that the A record for the admin API (rh-api) is removed
	DeleteAdminAPIDNS(context.Context, client.Client, *cloudingressv1alpha1.APIScheme, *corev1.Service) error

	/* Publishing Strategy */
	// SetDefaultAPIPrivate ensures that the default API is private, per user configure
	SetDefaultAPIPrivate(context.Context, client.Client, *cloudingressv1alpha1.PublishingStrategy) error

	// SetDefaultAPIPublic ensures that the default API is public, per user configure
	SetDefaultAPIPublic(context.Context, client.Client, *cloudingressv1alpha1.PublishingStrategy) error

	// Perform healthcheck
	Healthcheck(context.Context, client.Client) error
}

CloudClient defines the interface for a cloud agnostic implementation For mocking: mockgen -source=pkg/cloudclient/cloudclient.go -destination=pkg/cloudclient/mock_cloudclient/mock_cloudclient.go

func GetClientFor

func GetClientFor(kclient client.Client, cloudID configv1.PlatformType) CloudClient

GetClientFor returns the CloudClient for the given cloud provider, identified by the provider's ID, eg aws for AWS's cloud client, gcp for GCP's cloud client.

type Factory

type Factory func(client.Client) CloudClient

Directories

Path Synopsis
Package mock_cloudclient is a generated GoMock package.
Package mock_cloudclient is a generated GoMock package.

Jump to

Keyboard shortcuts

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