bcdaaws

package
v0.0.0-...-78db99d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 18, 2026 License: CC0-1.0 Imports: 19 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Delete

func Delete(ctx context.Context, client CustomS3Client, filePath string) error

func GetParameter

func GetParameter(ctx context.Context, client CustomSSMClient, keyname string) (string, error)

Returns the value of a single parameter from the SSM Parameter Store

func GetParameters

func GetParameters(ctx context.Context, client CustomSSMClient, keynames []string) (map[string]string, error)

Returns a list of parameters from the SSM Parameter Store

func ListFiles

func ListFiles(ctx context.Context, client CustomS3Client, bucket, prefix string) ([]types.Object, error)

func OpenFileAsBytes

func OpenFileAsBytes(ctx context.Context, client CustomS3Client, filePath string) ([]byte, error)

func OpenFileAsScanner

func OpenFileAsScanner(ctx context.Context, client CustomS3Client, filePath string) (*bufio.Scanner, func(), error)

OpenFileAsScanner opens a file from S3 and returns a bufio.Scanner for reading its contents line by line. It also returns a cleanup function and an error if any occurred. Be warned this is not memory efficient for large files as it reads the entire file into memory.

func ParseS3Directory

func ParseS3Directory(bucket, key string) string

func ParseS3Uri

func ParseS3Uri(str string) (bucket string, key string)

Parses an S3 URI and returns the bucket and key.

@example:

input: s3://my-bucket/path/to/file
output: "my-bucket", "path/to/file"

@example

input: s3://my-bucket
output: "my-bucket", ""

func ParseSQSEvent

func ParseSQSEvent(event events.SQSEvent) (*events.S3Event, error)

TODO: Iterate over records

func PutMetricSample

func PutMetricSample(
	ctx context.Context,
	client CustomCloudwatchClient,
	namespace string,
	name string,
	unit types.StandardUnit,
	value float64,
	dimensions []types.Dimension,
) error

Types

type ConfigurableMockS3Client

type ConfigurableMockS3Client struct {
	MockS3Client
	ListObjectsV2Fn func(ctx context.Context, input *s3.ListObjectsV2Input) (*s3.ListObjectsV2Output, error)
	HeadObjectFn    func(ctx context.Context, input *s3.HeadObjectInput) (*s3.HeadObjectOutput, error)
	GetObjectFn     func(ctx context.Context, input *s3.GetObjectInput) (*s3.GetObjectOutput, error)
	DeleteObjectFn  func(ctx context.Context, input *s3.DeleteObjectInput) (*s3.DeleteObjectOutput, error)
}

func (*ConfigurableMockS3Client) DeleteObject

func (m *ConfigurableMockS3Client) DeleteObject(ctx context.Context, input *s3.DeleteObjectInput, optFns ...func(*s3.Options)) (*s3.DeleteObjectOutput, error)

func (*ConfigurableMockS3Client) GetObject

func (m *ConfigurableMockS3Client) GetObject(ctx context.Context, input *s3.GetObjectInput, optFns ...func(*s3.Options)) (*s3.GetObjectOutput, error)

func (*ConfigurableMockS3Client) HeadObject

func (m *ConfigurableMockS3Client) HeadObject(ctx context.Context, input *s3.HeadObjectInput, optFns ...func(*s3.Options)) (*s3.HeadObjectOutput, error)

func (*ConfigurableMockS3Client) ListObjectsV2

func (m *ConfigurableMockS3Client) ListObjectsV2(ctx context.Context, input *s3.ListObjectsV2Input, optFns ...func(*s3.Options)) (*s3.ListObjectsV2Output, error)

type CustomCloudwatchClient

type CustomCloudwatchClient interface {
	PutMetricData(ctx context.Context, input *cloudwatch.PutMetricDataInput, optFns ...func(*cloudwatch.Options)) (*cloudwatch.PutMetricDataOutput, error)
}

type CustomS3Client

type CustomS3Client interface {
	CreateBucket(ctx context.Context, input *s3.CreateBucketInput, optFns ...func(*s3.Options)) (*s3.CreateBucketOutput, error)
	DeleteObject(ctx context.Context, input *s3.DeleteObjectInput, optFns ...func(*s3.Options)) (*s3.DeleteObjectOutput, error)
	GetObject(ctx context.Context, input *s3.GetObjectInput, optFns ...func(*s3.Options)) (*s3.GetObjectOutput, error)
	HeadObject(ctx context.Context, input *s3.HeadObjectInput, optFns ...func(*s3.Options)) (*s3.HeadObjectOutput, error)
	ListObjects(ctx context.Context, input *s3.ListObjectsInput, optFns ...func(*s3.Options)) (*s3.ListObjectsOutput, error)
	ListObjectsV2(ctx context.Context, input *s3.ListObjectsV2Input, optFns ...func(*s3.Options)) (*s3.ListObjectsV2Output, error)
	PutObject(ctx context.Context, input *s3.PutObjectInput, optFns ...func(*s3.Options)) (*s3.PutObjectOutput, error)

	// needed for transfer manager S3APIClient interface
	AbortMultipartUpload(context.Context, *s3.AbortMultipartUploadInput, ...func(*s3.Options)) (*s3.AbortMultipartUploadOutput, error)
	CompleteMultipartUpload(context.Context, *s3.CompleteMultipartUploadInput, ...func(*s3.Options)) (*s3.CompleteMultipartUploadOutput, error)
	CreateMultipartUpload(context.Context, *s3.CreateMultipartUploadInput, ...func(*s3.Options)) (*s3.CreateMultipartUploadOutput, error)
	UploadPart(context.Context, *s3.UploadPartInput, ...func(*s3.Options)) (*s3.UploadPartOutput, error)
}

type CustomSSMClient

type CustomSSMClient interface {
	GetParameter(ctx context.Context, input *ssm.GetParameterInput, optFns ...func(*ssm.Options)) (*ssm.GetParameterOutput, error)
	GetParameters(ctx context.Context, input *ssm.GetParametersInput, optFns ...func(*ssm.Options)) (*ssm.GetParametersOutput, error)
	PutParameter(ctx context.Context, input *ssm.PutParameterInput, optFns ...func(*ssm.Options)) (*ssm.PutParameterOutput, error)
}

type MockCloudwatchClient

type MockCloudwatchClient struct{}

func (*MockCloudwatchClient) PutMetricData

type MockS3Client

type MockS3Client struct{}

func (*MockS3Client) AbortMultipartUpload

func (m *MockS3Client) AbortMultipartUpload(ctx context.Context, input *s3.AbortMultipartUploadInput, optFns ...func(*s3.Options)) (*s3.AbortMultipartUploadOutput, error)

func (*MockS3Client) CompleteMultipartUpload

func (m *MockS3Client) CompleteMultipartUpload(ctx context.Context, input *s3.CompleteMultipartUploadInput, optFns ...func(*s3.Options)) (*s3.CompleteMultipartUploadOutput, error)

func (*MockS3Client) CreateBucket

func (m *MockS3Client) CreateBucket(ctx context.Context, input *s3.CreateBucketInput, optFns ...func(*s3.Options)) (*s3.CreateBucketOutput, error)

func (*MockS3Client) CreateMultipartUpload

func (m *MockS3Client) CreateMultipartUpload(ctx context.Context, input *s3.CreateMultipartUploadInput, optFns ...func(*s3.Options)) (*s3.CreateMultipartUploadOutput, error)

func (*MockS3Client) DeleteObject

func (m *MockS3Client) DeleteObject(ctx context.Context, input *s3.DeleteObjectInput, optFns ...func(*s3.Options)) (*s3.DeleteObjectOutput, error)

func (*MockS3Client) GetObject

func (m *MockS3Client) GetObject(ctx context.Context, input *s3.GetObjectInput, optFns ...func(*s3.Options)) (*s3.GetObjectOutput, error)

func (*MockS3Client) HeadObject

func (m *MockS3Client) HeadObject(ctx context.Context, input *s3.HeadObjectInput, optFns ...func(*s3.Options)) (*s3.HeadObjectOutput, error)

func (*MockS3Client) ListObjects

func (m *MockS3Client) ListObjects(ctx context.Context, input *s3.ListObjectsInput, optFns ...func(*s3.Options)) (*s3.ListObjectsOutput, error)

func (*MockS3Client) ListObjectsV2

func (m *MockS3Client) ListObjectsV2(ctx context.Context, input *s3.ListObjectsV2Input, optFns ...func(*s3.Options)) (*s3.ListObjectsV2Output, error)

func (*MockS3Client) PutObject

func (m *MockS3Client) PutObject(ctx context.Context, input *s3.PutObjectInput, optFns ...func(*s3.Options)) (*s3.PutObjectOutput, error)

func (*MockS3Client) UploadPart

func (m *MockS3Client) UploadPart(ctx context.Context, input *s3.UploadPartInput, optFns ...func(*s3.Options)) (*s3.UploadPartOutput, error)

type MockSSMClient

type MockSSMClient struct {
	Params map[string]string
}

func (*MockSSMClient) GetParameter

func (m *MockSSMClient) GetParameter(ctx context.Context, input *ssm.GetParameterInput, optFns ...func(*ssm.Options)) (*ssm.GetParameterOutput, error)

func (*MockSSMClient) GetParameters

func (m *MockSSMClient) GetParameters(ctx context.Context, input *ssm.GetParametersInput, optFns ...func(*ssm.Options)) (*ssm.GetParametersOutput, error)

func (*MockSSMClient) PutParameter

func (m *MockSSMClient) PutParameter(ctx context.Context, input *ssm.PutParameterInput, optFns ...func(*ssm.Options)) (*ssm.PutParameterOutput, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL