-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathtypes.go
More file actions
27 lines (23 loc) · 1.26 KB
/
Copy pathtypes.go
File metadata and controls
27 lines (23 loc) · 1.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package plugins
import (
"context"
"github.com/aws/aws-sdk-go-v2/service/ecrpublic"
"github.com/aws/aws-sdk-go-v2/service/sns"
"github.com/ryanjarv/roles/pkg/utils"
)
type Plugin interface {
Name() string
Setup(ctx *utils.Context) error
ScanArn(ctx *utils.Context, arn string) (bool, error)
CleanUp(ctx *utils.Context) error
}
type IECRPublicClient interface {
CreateRepository(ctx context.Context, params *ecrpublic.CreateRepositoryInput, optFns ...func(*ecrpublic.Options)) (*ecrpublic.CreateRepositoryOutput, error)
SetRepositoryPolicy(ctx context.Context, params *ecrpublic.SetRepositoryPolicyInput, optFns ...func(*ecrpublic.Options)) (*ecrpublic.SetRepositoryPolicyOutput, error)
DeleteRepository(ctx context.Context, params *ecrpublic.DeleteRepositoryInput, optFns ...func(*ecrpublic.Options)) (*ecrpublic.DeleteRepositoryOutput, error)
}
type ISNSClient interface {
CreateTopic(ctx context.Context, params *sns.CreateTopicInput, optFns ...func(*sns.Options)) (*sns.CreateTopicOutput, error)
SetTopicAttributes(ctx context.Context, params *sns.SetTopicAttributesInput, optFns ...func(*sns.Options)) (*sns.SetTopicAttributesOutput, error)
DeleteTopic(ctx context.Context, params *sns.DeleteTopicInput, optFns ...func(*sns.Options)) (*sns.DeleteTopicOutput, error)
}