s3bucket

package
v15.1.0 Latest Latest
Warning

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

Go to latest
Published: Apr 16, 2024 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// LogDeliveryURI is used for setting the correct ACL in the access log bucket.
	LogDeliveryURI = "uri=http://acs.amazonaws.com/groups/s3/LogDelivery"
	// S3BucketEncryptionAlgorithm is used to determine which algorithm use S3 to encrypt buckets.
	S3BucketEncryptionAlgorithm = "AES256"
)
View Source
const (
	// Name is the identifier of the resource.
	Name = "s3bucket"
	// LifecycleLoggingBucketID is the Lifecycle ID for the logging bucket
	LifecycleLoggingBucketID = "ExpirationLogs"
)

Variables

This section is empty.

Functions

func IsAccessDenied

func IsAccessDenied(err error) bool

IsAccessDenied asserts access denied error on s3 bucket operation.

func IsBucketAlreadyExists

func IsBucketAlreadyExists(err error) bool

IsBucketAlreadyExists asserts bucket already exists error from upstream's API code.

func IsBucketAlreadyOwnedByYou

func IsBucketAlreadyOwnedByYou(err error) bool

IsBucketAlreadyOwnedByYou asserts bucket already owned by you error from upstream's API code.

func IsBucketNotEmpty

func IsBucketNotEmpty(err error) bool

IsBucketNotEmpty asserts bucketNotEmptyError. It also checks for BucketNotEmpty error codes from the AWS SDK. An error we expect looks like the one below.

BucketNotEmpty: The bucket you tried to delete is not empty\n\tstatus code: 409, request id: 4B2CDF3222517C9D, host id: mOJAOuJsV/3CEeAkyTw1k3s5HLFsa5PHMkUfZv5lqtOKxiR67jclbqIHrzvtDa7E676h908MIY0=

func IsBucketNotFound

func IsBucketNotFound(err error) bool

IsBucketNotFound asserts bucket not found error from upstream's API code.

func IsInvalidConfig

func IsInvalidConfig(err error) bool

IsInvalidConfig asserts invalidConfigError.

func IsNotFound

func IsNotFound(err error) bool

IsNotFound asserts notFoundError.

func IsWrongType

func IsWrongType(err error) bool

IsWrongType asserts wrongTypeError.

Types

type BucketState

type BucketState struct {
	Name             string
	IsLoggingBucket  bool
	IsLoggingEnabled bool
}

BucketState is the state representation on which the resource methods work.

type Clients

type Clients struct {
	S3 S3Client
}

type Config

type Config struct {
	// Dependencies.
	Logger     micrologger.Logger
	CtrlClient client.Client

	// Settings.
	AccessLogsExpiration int
	DeleteLoggingBucket  bool
	IncludeTags          bool
	InstallationName     string
}

Config represents the configuration used to create a new s3bucket resource.

type Resource

type Resource struct {
	// contains filtered or unexported fields
}

Resource implements the s3bucket resource.

func New

func New(config Config) (*Resource, error)

New creates a new configured s3bucket resource.

func (*Resource) ApplyCreateChange

func (r *Resource) ApplyCreateChange(ctx context.Context, obj, createChange interface{}) error

func (*Resource) ApplyDeleteChange

func (r *Resource) ApplyDeleteChange(ctx context.Context, obj, deleteChange interface{}) error

func (*Resource) ApplyUpdateChange

func (r *Resource) ApplyUpdateChange(ctx context.Context, obj, updateChange interface{}) error

func (*Resource) GetCurrentState

func (r *Resource) GetCurrentState(ctx context.Context, obj interface{}) (interface{}, error)

func (*Resource) GetDesiredState

func (r *Resource) GetDesiredState(ctx context.Context, obj interface{}) (interface{}, error)

func (*Resource) Name

func (r *Resource) Name() string

func (*Resource) NewDeletePatch

func (r *Resource) NewDeletePatch(ctx context.Context, obj, currentState, desiredState interface{}) (*crud.Patch, error)

func (*Resource) NewUpdatePatch

func (r *Resource) NewUpdatePatch(ctx context.Context, obj, currentState, desiredState interface{}) (*crud.Patch, error)

type S3Client

S3Client describes the methods required to be implemented by a S3 AWS client.

Jump to

Keyboard shortcuts

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