constellation/bootstrapper/internal/kubernetes/cloud_provider.go

47 lines
1.2 KiB
Go
Raw Normal View History

/*
Copyright (c) Edgeless Systems GmbH
SPDX-License-Identifier: AGPL-3.0-only
*/
2022-05-24 04:04:42 -04:00
package kubernetes
import (
"context"
2022-09-21 07:47:57 -04:00
"github.com/edgelesssys/constellation/v2/internal/cloud/metadata"
2022-05-24 04:04:42 -04:00
)
// ProviderMetadata implementers read/write cloud provider metadata.
type ProviderMetadata interface {
// UID returns the unique identifier for the constellation.
UID(ctx context.Context) (string, error)
2022-05-24 04:04:42 -04:00
// Self retrieves the current instance.
2022-06-28 12:23:24 -04:00
Self(ctx context.Context) (metadata.InstanceMetadata, error)
2022-08-01 10:51:34 -04:00
// GetLoadBalancerEndpoint retrieves the load balancer endpoint.
GetLoadBalancerEndpoint(ctx context.Context) (string, error)
2022-05-24 04:04:42 -04:00
}
type stubProviderMetadata struct {
getLoadBalancerEndpointErr error
getLoadBalancerEndpointResp string
2022-05-24 04:04:42 -04:00
selfErr error
selfResp metadata.InstanceMetadata
2022-05-24 04:04:42 -04:00
uidErr error
uidResp string
2022-05-24 04:04:42 -04:00
}
2022-08-01 10:51:34 -04:00
func (m *stubProviderMetadata) GetLoadBalancerEndpoint(ctx context.Context) (string, error) {
return m.getLoadBalancerEndpointResp, m.getLoadBalancerEndpointErr
2022-05-24 04:04:42 -04:00
}
2022-06-28 12:23:24 -04:00
func (m *stubProviderMetadata) Self(ctx context.Context) (metadata.InstanceMetadata, error) {
return m.selfResp, m.selfErr
2022-05-24 04:04:42 -04:00
}
func (m *stubProviderMetadata) UID(ctx context.Context) (string, error) {
return m.uidResp, m.uidErr
}