s3

package
v0.0.28 Latest Latest
Warning

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

Go to latest
Published: Oct 28, 2024 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Overview

Package s3 provides the data structures and logic necessary to enumerate and integrate AWS S3 resources.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func EnumerateS3

func EnumerateS3(ctx context.Context, cfg aws.Config, regions []string) methodaws.S3Report

func ExternalEnumerateS3 added in v0.0.13

func ExternalEnumerateS3(ctx context.Context, bucketName string, regions []string) methodaws.ExternalS3Report

ExternalEnumerateS3 attempts to enumerate a public facing S3 bucket with no credentials. It checks regions one by one until it finds the bucket or exhausts all regions.

func ExternalEnumerateS3Region added in v0.0.18

func ExternalEnumerateS3Region(ctx context.Context, report methodaws.ExternalS3Report, bucketName string, region string) methodaws.ExternalS3Report

ExternalEnumerateS3Region enumerates a single public facing S3 bucket in a specific region. If the bucket does not exist, it will return an unmodified report (with potential new errors).

Types

type BucketObject

type BucketObject struct {
	Name string `json:"name" yaml:"name"`
	Size int64  `json:"size" yaml:"size"`
}

BucketObject contains the name and size (in bytes) of an object stored in an S3 bucket.

type LsResourceReport

type LsResourceReport struct {
	Resources LsResources `json:"resources" yaml:"resources"`
	Errors    []string    `json:"errors" yaml:"errors"`
}

LsResourceReport contains the resources discovered in an S3 bucket and any non-fatal errors that occurred during the execution of the `methodaws s3 ls` subcommand.

func LsS3Bucket

func LsS3Bucket(ctx context.Context, cfg aws.Config, bucketName string) (*LsResourceReport, error)

LsS3Bucket retrieves the objects stored in an S3 bucket and returns an LsResourceReport struct

type LsResources

type LsResources struct {
	S3BucketName  *string        `json:"name" yaml:"name"`
	BucketObjects []BucketObject `json:"objects" yaml:"objects"`
}

LsResources contains the S3 bucket name and the objects stored in the bucket.

Jump to

Keyboard shortcuts

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