mirror of
https://github.com/edgelesssys/constellation.git
synced 2025-05-04 07:15:05 -04:00
Move cli/gcp to cli/internal/gcp
This commit is contained in:
parent
48b4f10207
commit
6cd93e4179
27 changed files with 20 additions and 91 deletions
|
@ -1,413 +0,0 @@
|
|||
package client
|
||||
|
||||
import (
|
||||
"context"
|
||||
"time"
|
||||
|
||||
"github.com/googleapis/gax-go/v2"
|
||||
"google.golang.org/api/iterator"
|
||||
computepb "google.golang.org/genproto/googleapis/cloud/compute/v1"
|
||||
adminpb "google.golang.org/genproto/googleapis/iam/admin/v1"
|
||||
iampb "google.golang.org/genproto/googleapis/iam/v1"
|
||||
"google.golang.org/protobuf/proto"
|
||||
"google.golang.org/protobuf/types/known/timestamppb"
|
||||
)
|
||||
|
||||
type stubOperation struct {
|
||||
*computepb.Operation
|
||||
}
|
||||
|
||||
func (o *stubOperation) Proto() *computepb.Operation {
|
||||
return o.Operation
|
||||
}
|
||||
|
||||
type stubInstanceAPI struct {
|
||||
listIterator *stubInstanceIterator
|
||||
}
|
||||
|
||||
func (a stubInstanceAPI) Close() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (a stubInstanceAPI) List(ctx context.Context, req *computepb.ListInstancesRequest,
|
||||
opts ...gax.CallOption,
|
||||
) InstanceIterator {
|
||||
return a.listIterator
|
||||
}
|
||||
|
||||
type stubInstanceIterator struct {
|
||||
instances []*computepb.Instance
|
||||
nextErr error
|
||||
|
||||
internalCounter int
|
||||
}
|
||||
|
||||
func (i *stubInstanceIterator) Next() (*computepb.Instance, error) {
|
||||
if i.nextErr != nil {
|
||||
return nil, i.nextErr
|
||||
}
|
||||
if i.internalCounter >= len(i.instances) {
|
||||
i.internalCounter = 0
|
||||
return nil, iterator.Done
|
||||
}
|
||||
resp := i.instances[i.internalCounter]
|
||||
i.internalCounter++
|
||||
return resp, nil
|
||||
}
|
||||
|
||||
type stubOperationZoneAPI struct {
|
||||
waitErr error
|
||||
}
|
||||
|
||||
func (a stubOperationZoneAPI) Close() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (a stubOperationZoneAPI) Wait(ctx context.Context, req *computepb.WaitZoneOperationRequest,
|
||||
opts ...gax.CallOption,
|
||||
) (*computepb.Operation, error) {
|
||||
if a.waitErr != nil {
|
||||
return nil, a.waitErr
|
||||
}
|
||||
return &computepb.Operation{
|
||||
Status: computepb.Operation_DONE.Enum(),
|
||||
}, nil
|
||||
}
|
||||
|
||||
type stubOperationRegionAPI struct {
|
||||
waitErr error
|
||||
}
|
||||
|
||||
func (a stubOperationRegionAPI) Close() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (a stubOperationRegionAPI) Wait(ctx context.Context, req *computepb.WaitRegionOperationRequest,
|
||||
opts ...gax.CallOption,
|
||||
) (*computepb.Operation, error) {
|
||||
if a.waitErr != nil {
|
||||
return nil, a.waitErr
|
||||
}
|
||||
return &computepb.Operation{
|
||||
Status: computepb.Operation_DONE.Enum(),
|
||||
}, nil
|
||||
}
|
||||
|
||||
type stubOperationGlobalAPI struct {
|
||||
waitErr error
|
||||
}
|
||||
|
||||
func (a stubOperationGlobalAPI) Close() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (a stubOperationGlobalAPI) Wait(ctx context.Context, req *computepb.WaitGlobalOperationRequest,
|
||||
opts ...gax.CallOption,
|
||||
) (*computepb.Operation, error) {
|
||||
if a.waitErr != nil {
|
||||
return nil, a.waitErr
|
||||
}
|
||||
return &computepb.Operation{
|
||||
Status: computepb.Operation_DONE.Enum(),
|
||||
}, nil
|
||||
}
|
||||
|
||||
type stubFirewallsAPI struct {
|
||||
deleteErr error
|
||||
insertErr error
|
||||
}
|
||||
|
||||
func (a stubFirewallsAPI) Close() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (a stubFirewallsAPI) Delete(ctx context.Context, req *computepb.DeleteFirewallRequest,
|
||||
opts ...gax.CallOption,
|
||||
) (Operation, error) {
|
||||
if a.deleteErr != nil {
|
||||
return nil, a.deleteErr
|
||||
}
|
||||
return &stubOperation{
|
||||
&computepb.Operation{
|
||||
Name: proto.String("name"),
|
||||
},
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (a stubFirewallsAPI) Insert(ctx context.Context, req *computepb.InsertFirewallRequest,
|
||||
opts ...gax.CallOption,
|
||||
) (Operation, error) {
|
||||
if a.insertErr != nil {
|
||||
return nil, a.insertErr
|
||||
}
|
||||
return &stubOperation{
|
||||
&computepb.Operation{
|
||||
Name: proto.String("name"),
|
||||
},
|
||||
}, nil
|
||||
}
|
||||
|
||||
type stubNetworksAPI struct {
|
||||
insertErr error
|
||||
deleteErr error
|
||||
}
|
||||
|
||||
func (a stubNetworksAPI) Close() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (a stubNetworksAPI) Insert(ctx context.Context, req *computepb.InsertNetworkRequest,
|
||||
opts ...gax.CallOption,
|
||||
) (Operation, error) {
|
||||
if a.insertErr != nil {
|
||||
return nil, a.insertErr
|
||||
}
|
||||
return &stubOperation{
|
||||
&computepb.Operation{
|
||||
Name: proto.String("name"),
|
||||
},
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (a stubNetworksAPI) Delete(ctx context.Context, req *computepb.DeleteNetworkRequest,
|
||||
opts ...gax.CallOption,
|
||||
) (Operation, error) {
|
||||
if a.deleteErr != nil {
|
||||
return nil, a.deleteErr
|
||||
}
|
||||
return &stubOperation{
|
||||
&computepb.Operation{
|
||||
Name: proto.String("name"),
|
||||
},
|
||||
}, nil
|
||||
}
|
||||
|
||||
type stubSubnetworksAPI struct {
|
||||
insertErr error
|
||||
deleteErr error
|
||||
}
|
||||
|
||||
func (a stubSubnetworksAPI) Close() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (a stubSubnetworksAPI) Insert(ctx context.Context, req *computepb.InsertSubnetworkRequest,
|
||||
opts ...gax.CallOption,
|
||||
) (Operation, error) {
|
||||
if a.insertErr != nil {
|
||||
return nil, a.insertErr
|
||||
}
|
||||
return &stubOperation{
|
||||
&computepb.Operation{
|
||||
Name: proto.String("name"),
|
||||
Region: proto.String("region"),
|
||||
},
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (a stubSubnetworksAPI) Delete(ctx context.Context, req *computepb.DeleteSubnetworkRequest,
|
||||
opts ...gax.CallOption,
|
||||
) (Operation, error) {
|
||||
if a.deleteErr != nil {
|
||||
return nil, a.deleteErr
|
||||
}
|
||||
return &stubOperation{
|
||||
&computepb.Operation{
|
||||
Name: proto.String("name"),
|
||||
Region: proto.String("region"),
|
||||
},
|
||||
}, nil
|
||||
}
|
||||
|
||||
type stubInstanceTemplateAPI struct {
|
||||
deleteErr error
|
||||
insertErr error
|
||||
}
|
||||
|
||||
func (a stubInstanceTemplateAPI) Close() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (a stubInstanceTemplateAPI) Delete(ctx context.Context, req *computepb.DeleteInstanceTemplateRequest,
|
||||
opts ...gax.CallOption,
|
||||
) (Operation, error) {
|
||||
if a.deleteErr != nil {
|
||||
return nil, a.deleteErr
|
||||
}
|
||||
return &stubOperation{
|
||||
&computepb.Operation{
|
||||
Name: proto.String("name"),
|
||||
},
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (a stubInstanceTemplateAPI) Insert(ctx context.Context, req *computepb.InsertInstanceTemplateRequest,
|
||||
opts ...gax.CallOption,
|
||||
) (Operation, error) {
|
||||
if a.insertErr != nil {
|
||||
return nil, a.insertErr
|
||||
}
|
||||
return &stubOperation{
|
||||
&computepb.Operation{
|
||||
Name: proto.String("name"),
|
||||
},
|
||||
}, nil
|
||||
}
|
||||
|
||||
type stubInstanceGroupManagersAPI struct {
|
||||
listIterator *stubManagedInstanceIterator
|
||||
|
||||
deleteErr error
|
||||
insertErr error
|
||||
}
|
||||
|
||||
func (a stubInstanceGroupManagersAPI) Close() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (a stubInstanceGroupManagersAPI) Delete(ctx context.Context, req *computepb.DeleteInstanceGroupManagerRequest,
|
||||
opts ...gax.CallOption,
|
||||
) (Operation, error) {
|
||||
if a.deleteErr != nil {
|
||||
return nil, a.deleteErr
|
||||
}
|
||||
return &stubOperation{
|
||||
&computepb.Operation{
|
||||
Zone: proto.String("zone"),
|
||||
Name: proto.String("name"),
|
||||
},
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (a stubInstanceGroupManagersAPI) Insert(ctx context.Context, req *computepb.InsertInstanceGroupManagerRequest,
|
||||
opts ...gax.CallOption,
|
||||
) (Operation, error) {
|
||||
if a.insertErr != nil {
|
||||
return nil, a.insertErr
|
||||
}
|
||||
return &stubOperation{
|
||||
&computepb.Operation{
|
||||
Zone: proto.String("zone"),
|
||||
Name: proto.String("name"),
|
||||
},
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (a stubInstanceGroupManagersAPI) ListManagedInstances(ctx context.Context, req *computepb.ListManagedInstancesInstanceGroupManagersRequest,
|
||||
opts ...gax.CallOption,
|
||||
) ManagedInstanceIterator {
|
||||
return a.listIterator
|
||||
}
|
||||
|
||||
type stubIAMAPI struct {
|
||||
serviceAccountKeyData []byte
|
||||
createErr error
|
||||
createKeyErr error
|
||||
deleteServiceAccountErr error
|
||||
}
|
||||
|
||||
func (a stubIAMAPI) Close() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (a stubIAMAPI) CreateServiceAccount(ctx context.Context, req *adminpb.CreateServiceAccountRequest, opts ...gax.CallOption) (*adminpb.ServiceAccount, error) {
|
||||
if a.createErr != nil {
|
||||
return nil, a.createErr
|
||||
}
|
||||
return &adminpb.ServiceAccount{
|
||||
Name: "name",
|
||||
ProjectId: "project-id",
|
||||
UniqueId: "unique-id",
|
||||
Email: "email",
|
||||
DisplayName: "display-name",
|
||||
Description: "description",
|
||||
Oauth2ClientId: "oauth2-client-id",
|
||||
Disabled: false,
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (a stubIAMAPI) CreateServiceAccountKey(ctx context.Context, req *adminpb.CreateServiceAccountKeyRequest, opts ...gax.CallOption) (*adminpb.ServiceAccountKey, error) {
|
||||
if a.createKeyErr != nil {
|
||||
return nil, a.createKeyErr
|
||||
}
|
||||
return &adminpb.ServiceAccountKey{
|
||||
Name: "name",
|
||||
PrivateKeyType: adminpb.ServiceAccountPrivateKeyType_TYPE_GOOGLE_CREDENTIALS_FILE,
|
||||
KeyAlgorithm: adminpb.ServiceAccountKeyAlgorithm_KEY_ALG_RSA_2048,
|
||||
PrivateKeyData: a.serviceAccountKeyData,
|
||||
PublicKeyData: []byte("public-key-data"),
|
||||
ValidAfterTime: timestamppb.New(time.Time{}),
|
||||
ValidBeforeTime: timestamppb.New(time.Time{}),
|
||||
KeyOrigin: adminpb.ServiceAccountKeyOrigin_GOOGLE_PROVIDED,
|
||||
KeyType: adminpb.ListServiceAccountKeysRequest_USER_MANAGED,
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (a stubIAMAPI) DeleteServiceAccount(ctx context.Context, req *adminpb.DeleteServiceAccountRequest, opts ...gax.CallOption) error {
|
||||
return a.deleteServiceAccountErr
|
||||
}
|
||||
|
||||
type stubProjectsAPI struct {
|
||||
getPolicyErr error
|
||||
setPolicyErr error
|
||||
}
|
||||
|
||||
func (a stubProjectsAPI) Close() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (a stubProjectsAPI) GetIamPolicy(ctx context.Context, req *iampb.GetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) {
|
||||
if a.getPolicyErr != nil {
|
||||
return nil, a.getPolicyErr
|
||||
}
|
||||
return &iampb.Policy{
|
||||
Version: 3,
|
||||
Bindings: []*iampb.Binding{
|
||||
{
|
||||
Role: "role",
|
||||
Members: []string{
|
||||
"member",
|
||||
},
|
||||
},
|
||||
},
|
||||
Etag: []byte("etag"),
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (a stubProjectsAPI) SetIamPolicy(ctx context.Context, req *iampb.SetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) {
|
||||
if a.setPolicyErr != nil {
|
||||
return nil, a.setPolicyErr
|
||||
}
|
||||
return &iampb.Policy{
|
||||
Version: 3,
|
||||
Bindings: []*iampb.Binding{
|
||||
{
|
||||
Role: "role",
|
||||
Members: []string{
|
||||
"member",
|
||||
},
|
||||
},
|
||||
},
|
||||
Etag: []byte("etag"),
|
||||
}, nil
|
||||
}
|
||||
|
||||
type stubManagedInstanceIterator struct {
|
||||
instances []*computepb.ManagedInstance
|
||||
nextErr error
|
||||
|
||||
internalCounter int
|
||||
}
|
||||
|
||||
func (i *stubManagedInstanceIterator) Next() (*computepb.ManagedInstance, error) {
|
||||
if i.nextErr != nil {
|
||||
return nil, i.nextErr
|
||||
}
|
||||
if i.internalCounter >= len(i.instances) {
|
||||
i.internalCounter = 0
|
||||
return nil, iterator.Done
|
||||
}
|
||||
resp := i.instances[i.internalCounter]
|
||||
i.internalCounter++
|
||||
return resp, nil
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue