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 10:04:42 +02:00
package kubernetes
import (
"context"
2022-09-21 13:47:57 +02:00
"github.com/edgelesssys/constellation/v2/internal/cloud/metadata"
2022-05-24 10:04:42 +02: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 10:04:42 +02:00
// Self retrieves the current instance.
2022-06-28 18:23:24 +02:00
Self(ctx context.Context) (metadata.InstanceMetadata, error)
2022-08-01 16:51:34 +02:00
// GetLoadBalancerEndpoint retrieves the load balancer endpoint.
GetLoadBalancerEndpoint(ctx context.Context) (string, error)
2022-05-24 10:04:42 +02:00
}
type stubProviderMetadata struct {
getLoadBalancerEndpointErr error
getLoadBalancerEndpointResp string
2022-05-24 10:04:42 +02:00
selfErr error
selfResp metadata.InstanceMetadata
2022-05-24 10:04:42 +02:00
uidErr error
uidResp string
2022-05-24 10:04:42 +02:00
}
func (m *stubProviderMetadata) GetLoadBalancerEndpoint(_ context.Context) (string, error) {
return m.getLoadBalancerEndpointResp, m.getLoadBalancerEndpointErr
2022-05-24 10:04:42 +02:00
}
func (m *stubProviderMetadata) Self(_ context.Context) (metadata.InstanceMetadata, error) {
return m.selfResp, m.selfErr
2022-05-24 10:04:42 +02:00
}
func (m *stubProviderMetadata) UID(_ context.Context) (string, error) {
return m.uidResp, m.uidErr
}