...
1 package types
2
3 import (
4 "context"
5 "time"
6
7 secretmanagerpb "cloud.google.com/go/secretmanager/apiv1/secretmanagerpb"
8 "google.golang.org/api/compute/v1"
9 "google.golang.org/api/container/v1"
10 )
11
12
13
14
15 type SecretManagerService interface {
16 GetSecret(ctx context.Context, secretID string) (*secretmanagerpb.Secret, error)
17 ListSecrets(ctx context.Context, pageToken string) ([]*secretmanagerpb.Secret, error)
18 GetLatestSecretValue(ctx context.Context, secretID string) ([]byte, error)
19 GetLatestSecretValueInfo(ctx context.Context, secretID string) (*secretmanagerpb.SecretVersion, error)
20 GetSecretVersionValue(ctx context.Context, secretID string, version string) ([]byte, error)
21 GetSecretVersionValueInfo(ctx context.Context, secretID, version string) (*secretmanagerpb.SecretVersion, error)
22 AddSecret(ctx context.Context, secretID string, secretValue []byte, labels map[string]string, forceLabelsUpdate bool, expireAt *time.Time, versionAlias string) error
23 AddSecrets(ctx context.Context, secrets map[string][]byte) error
24 DeleteSecret(ctx context.Context, secretID string) error
25 GetProjectID() string
26 }
27
28
29
30
31 type ComputeService interface {
32 GetZones(ctx context.Context) (*compute.ZoneList, error)
33 GetMachineTypes(ctx context.Context, zone string) (*compute.MachineTypeList, error)
34 GetMachineType(ctx context.Context, zone, machineType string) (*compute.MachineType, error)
35 }
36
37
38
39
40 type ContainerService interface {
41 GetServerConfig(ctx context.Context, zone string) (*container.ServerConfig, error)
42 }
43
44
45
46
47 type PubSubService interface {
48 Send(ctx context.Context, topicID string, message []byte, attributes map[string]string) error
49 }
50
View as plain text