...

Source file src/edge-infra.dev/pkg/edge/controllers/bannerctl/interface.go

Documentation: edge-infra.dev/pkg/edge/controllers/bannerctl

     1  package bannerctl
     2  
     3  import (
     4  	"context"
     5  	"time"
     6  
     7  	metricsscope "cloud.google.com/go/monitoring/metricsscope/apiv1"
     8  	secretmanagerpb "cloud.google.com/go/secretmanager/apiv1/secretmanagerpb"
     9  	"google.golang.org/api/option"
    10  
    11  	"edge-infra.dev/pkg/lib/gcp/metricsscopes"
    12  	"edge-infra.dev/pkg/lib/gcp/secretmanager"
    13  )
    14  
    15  type secretManager interface {
    16  	NewWithOptions(context.Context, string, ...option.ClientOption) (secretManagerClient, error)
    17  }
    18  
    19  type secretManagerClient interface {
    20  	GetLatestSecretValueInfo(ctx context.Context, secretID string) (*secretmanagerpb.SecretVersion, error)
    21  	GetLatestSecretValue(ctx context.Context, secretID string) ([]byte, error)
    22  	GetSecret(ctx context.Context, secretID string) (*secretmanagerpb.Secret, error)
    23  	AddSecret(ctx context.Context, secretID string, secretValue []byte, labels map[string]string, forceLabelsUpdate bool, expireAt *time.Time, versionAlias string) error
    24  }
    25  
    26  type gcpSecretManager struct{}
    27  
    28  func (sm *gcpSecretManager) NewWithOptions(ctx context.Context, projectID string, opts ...option.ClientOption) (secretManagerClient, error) {
    29  	return secretmanager.NewWithOptions(ctx, projectID, opts...)
    30  }
    31  
    32  type metricsScopesClient interface {
    33  	AddMonitoredProject(ctx context.Context, projectID string) (*metricsscope.CreateMonitoredProjectOperation, error)
    34  }
    35  
    36  type gcpMetricsScopesClient struct {
    37  	c *metricsscopes.Client
    38  }
    39  
    40  func (c *gcpMetricsScopesClient) AddMonitoredProject(ctx context.Context, projectID string) (*metricsscope.CreateMonitoredProjectOperation, error) {
    41  	return c.c.AddMonitoredProject(ctx, projectID)
    42  }
    43  

View as plain text