client

package
v1.8.0 Latest Latest
Warning

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

Go to latest
Published: Mar 27, 2024 License: MIT Imports: 21 Imported by: 1

Documentation

Index

Constants

View Source
const (
	S3DeleteObjectsSizeLimit = 1000

	// S3 API can achieve at least 3,500 PUT/COPY/POST/DELETE or 5,500 GET/HEAD requests per second per partitioned prefix.
	// Values above that threshold cause many 503 errors.
	// So limit DeleteObjects to 3 parallels of 1000 objects at a time.
	// https://docs.aws.amazon.com/AmazonS3/latest/userguide/optimizing-performance.html
	MaxS3DeleteObjectsParallelsCount = 3
)
View Source
const CloudFormationWaitNanoSecTime = time.Duration(4500000000000)
View Source
const DefaultAwsRegion = "us-east-1"
View Source
const MaxRetryCount = 10

Variables

View Source
var SleepTimeSecForIam = 5
View Source
var SleepTimeSecForS3 = 10

Functions

func LoadAWSConfig added in v0.7.0

func LoadAWSConfig(ctx context.Context, region string, profile string) (aws.Config, error)

Types

type Backup

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

func NewBackup

func NewBackup(client *backup.Client) *Backup

func (*Backup) CheckBackupVaultExists

func (b *Backup) CheckBackupVaultExists(ctx context.Context, backupVaultName *string) (bool, error)

func (*Backup) DeleteBackupVault

func (b *Backup) DeleteBackupVault(ctx context.Context, backupVaultName *string) error

func (*Backup) DeleteRecoveryPoint

func (b *Backup) DeleteRecoveryPoint(ctx context.Context, backupVaultName *string, recoveryPointArn *string) error

func (*Backup) DeleteRecoveryPoints

func (b *Backup) DeleteRecoveryPoints(ctx context.Context, backupVaultName *string, recoveryPoints []types.RecoveryPointByBackupVault) error

func (*Backup) ListRecoveryPointsByBackupVault

func (b *Backup) ListRecoveryPointsByBackupVault(ctx context.Context, backupVaultName *string) ([]types.RecoveryPointByBackupVault, error)

type ClientError added in v0.10.0

type ClientError struct {
	ResourceName *string
	Err          error
}

ClientError provides the error with a resource name

func (*ClientError) Error added in v0.10.0

func (e *ClientError) Error() string

func (*ClientError) Unwrap added in v0.10.0

func (e *ClientError) Unwrap() error

type CloudFormation

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

func (*CloudFormation) DeleteStack

func (c *CloudFormation) DeleteStack(ctx context.Context, stackName *string, retainResources []string) error

func (*CloudFormation) DescribeStacks

func (c *CloudFormation) DescribeStacks(ctx context.Context, stackName *string) ([]types.Stack, error)

func (*CloudFormation) ListStackResources

func (c *CloudFormation) ListStackResources(ctx context.Context, stackName *string) ([]types.StackResourceSummary, error)

func (*CloudFormation) ListStacks added in v0.7.0

func (c *CloudFormation) ListStacks(ctx context.Context, stackStatusFilter []types.StackStatus) ([]types.StackSummary, error)

type Ecr

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

func NewEcr

func NewEcr(client *ecr.Client) *Ecr

func (*Ecr) CheckEcrExists

func (e *Ecr) CheckEcrExists(ctx context.Context, repositoryName *string) (bool, error)

func (*Ecr) DeleteRepository

func (e *Ecr) DeleteRepository(ctx context.Context, repositoryName *string) error

type IBackup

type IBackup interface {
	ListRecoveryPointsByBackupVault(ctx context.Context, backupVaultName *string) ([]types.RecoveryPointByBackupVault, error)
	DeleteRecoveryPoints(ctx context.Context, backupVaultName *string, recoveryPoints []types.RecoveryPointByBackupVault) error
	DeleteRecoveryPoint(ctx context.Context, backupVaultName *string, recoveryPointArn *string) error
	DeleteBackupVault(ctx context.Context, backupVaultName *string) error
	CheckBackupVaultExists(ctx context.Context, backupVaultName *string) (bool, error)
}

type ICloudFormation

type ICloudFormation interface {
	DeleteStack(ctx context.Context, stackName *string, retainResources []string) error
	DescribeStacks(ctx context.Context, stackName *string) ([]types.Stack, error)
	ListStackResources(ctx context.Context, stackName *string) ([]types.StackResourceSummary, error)
	ListStacks(ctx context.Context, stackStatusFilter []types.StackStatus) ([]types.StackSummary, error)
}

type IEcr

type IEcr interface {
	DeleteRepository(ctx context.Context, repositoryName *string) error
	CheckEcrExists(ctx context.Context, repositoryName *string) (bool, error)
}

type IIam

type IIam interface {
	DeleteRole(ctx context.Context, roleName *string) error
	ListAttachedRolePolicies(ctx context.Context, roleName *string) ([]types.AttachedPolicy, error)
	DetachRolePolicies(ctx context.Context, roleName *string, policies []types.AttachedPolicy) error
	DetachRolePolicy(ctx context.Context, roleName *string, PolicyArn *string) error
	CheckRoleExists(ctx context.Context, roleName *string) (bool, error)
}

type IS3

type IS3 interface {
	DeleteBucket(ctx context.Context, bucketName *string) error
	DeleteObjects(ctx context.Context, bucketName *string, objects []types.ObjectIdentifier) ([]types.Error, error)
	ListObjectVersions(ctx context.Context, bucketName *string) ([]types.ObjectIdentifier, error)
	CheckBucketExists(ctx context.Context, bucketName *string) (bool, error)
}

type Iam

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

func NewIam

func NewIam(client *iam.Client) *Iam

func (*Iam) CheckRoleExists

func (i *Iam) CheckRoleExists(ctx context.Context, roleName *string) (bool, error)

func (*Iam) DeleteRole

func (i *Iam) DeleteRole(ctx context.Context, roleName *string) error

func (*Iam) DetachRolePolicies

func (i *Iam) DetachRolePolicies(ctx context.Context, roleName *string, policies []types.AttachedPolicy) error

func (*Iam) DetachRolePolicy

func (i *Iam) DetachRolePolicy(ctx context.Context, roleName *string, PolicyArn *string) error

func (*Iam) ListAttachedRolePolicies

func (i *Iam) ListAttachedRolePolicies(ctx context.Context, roleName *string) ([]types.AttachedPolicy, error)

type MockIBackup added in v0.9.0

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

MockIBackup is a mock of IBackup interface.

func NewMockIBackup added in v0.9.0

func NewMockIBackup(ctrl *gomock.Controller) *MockIBackup

NewMockIBackup creates a new mock instance.

func (*MockIBackup) CheckBackupVaultExists added in v0.9.0

func (m *MockIBackup) CheckBackupVaultExists(ctx context.Context, backupVaultName *string) (bool, error)

CheckBackupVaultExists mocks base method.

func (*MockIBackup) DeleteBackupVault added in v0.9.0

func (m *MockIBackup) DeleteBackupVault(ctx context.Context, backupVaultName *string) error

DeleteBackupVault mocks base method.

func (*MockIBackup) DeleteRecoveryPoint added in v0.9.0

func (m *MockIBackup) DeleteRecoveryPoint(ctx context.Context, backupVaultName, recoveryPointArn *string) error

DeleteRecoveryPoint mocks base method.

func (*MockIBackup) DeleteRecoveryPoints added in v0.9.0

func (m *MockIBackup) DeleteRecoveryPoints(ctx context.Context, backupVaultName *string, recoveryPoints []types.RecoveryPointByBackupVault) error

DeleteRecoveryPoints mocks base method.

func (*MockIBackup) EXPECT added in v0.9.0

func (m *MockIBackup) EXPECT() *MockIBackupMockRecorder

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockIBackup) ListRecoveryPointsByBackupVault added in v0.9.0

func (m *MockIBackup) ListRecoveryPointsByBackupVault(ctx context.Context, backupVaultName *string) ([]types.RecoveryPointByBackupVault, error)

ListRecoveryPointsByBackupVault mocks base method.

type MockIBackupMockRecorder added in v0.9.0

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

MockIBackupMockRecorder is the mock recorder for MockIBackup.

func (*MockIBackupMockRecorder) CheckBackupVaultExists added in v0.9.0

func (mr *MockIBackupMockRecorder) CheckBackupVaultExists(ctx, backupVaultName interface{}) *gomock.Call

CheckBackupVaultExists indicates an expected call of CheckBackupVaultExists.

func (*MockIBackupMockRecorder) DeleteBackupVault added in v0.9.0

func (mr *MockIBackupMockRecorder) DeleteBackupVault(ctx, backupVaultName interface{}) *gomock.Call

DeleteBackupVault indicates an expected call of DeleteBackupVault.

func (*MockIBackupMockRecorder) DeleteRecoveryPoint added in v0.9.0

func (mr *MockIBackupMockRecorder) DeleteRecoveryPoint(ctx, backupVaultName, recoveryPointArn interface{}) *gomock.Call

DeleteRecoveryPoint indicates an expected call of DeleteRecoveryPoint.

func (*MockIBackupMockRecorder) DeleteRecoveryPoints added in v0.9.0

func (mr *MockIBackupMockRecorder) DeleteRecoveryPoints(ctx, backupVaultName, recoveryPoints interface{}) *gomock.Call

DeleteRecoveryPoints indicates an expected call of DeleteRecoveryPoints.

func (*MockIBackupMockRecorder) ListRecoveryPointsByBackupVault added in v0.9.0

func (mr *MockIBackupMockRecorder) ListRecoveryPointsByBackupVault(ctx, backupVaultName interface{}) *gomock.Call

ListRecoveryPointsByBackupVault indicates an expected call of ListRecoveryPointsByBackupVault.

type MockICloudFormation added in v0.9.0

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

MockICloudFormation is a mock of ICloudFormation interface.

func NewMockICloudFormation added in v0.9.0

func NewMockICloudFormation(ctrl *gomock.Controller) *MockICloudFormation

NewMockICloudFormation creates a new mock instance.

func (*MockICloudFormation) DeleteStack added in v0.9.0

func (m *MockICloudFormation) DeleteStack(ctx context.Context, stackName *string, retainResources []string) error

DeleteStack mocks base method.

func (*MockICloudFormation) DescribeStacks added in v0.9.0

func (m *MockICloudFormation) DescribeStacks(ctx context.Context, stackName *string) ([]types.Stack, error)

DescribeStacks mocks base method.

func (*MockICloudFormation) EXPECT added in v0.9.0

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockICloudFormation) ListStackResources added in v0.9.0

func (m *MockICloudFormation) ListStackResources(ctx context.Context, stackName *string) ([]types.StackResourceSummary, error)

ListStackResources mocks base method.

func (*MockICloudFormation) ListStacks added in v0.9.0

func (m *MockICloudFormation) ListStacks(ctx context.Context, stackStatusFilter []types.StackStatus) ([]types.StackSummary, error)

ListStacks mocks base method.

type MockICloudFormationMockRecorder added in v0.9.0

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

MockICloudFormationMockRecorder is the mock recorder for MockICloudFormation.

func (*MockICloudFormationMockRecorder) DeleteStack added in v0.9.0

func (mr *MockICloudFormationMockRecorder) DeleteStack(ctx, stackName, retainResources interface{}) *gomock.Call

DeleteStack indicates an expected call of DeleteStack.

func (*MockICloudFormationMockRecorder) DescribeStacks added in v0.9.0

func (mr *MockICloudFormationMockRecorder) DescribeStacks(ctx, stackName interface{}) *gomock.Call

DescribeStacks indicates an expected call of DescribeStacks.

func (*MockICloudFormationMockRecorder) ListStackResources added in v0.9.0

func (mr *MockICloudFormationMockRecorder) ListStackResources(ctx, stackName interface{}) *gomock.Call

ListStackResources indicates an expected call of ListStackResources.

func (*MockICloudFormationMockRecorder) ListStacks added in v0.9.0

func (mr *MockICloudFormationMockRecorder) ListStacks(ctx, stackStatusFilter interface{}) *gomock.Call

ListStacks indicates an expected call of ListStacks.

type MockIEcr added in v0.9.0

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

MockIEcr is a mock of IEcr interface.

func NewMockIEcr added in v0.9.0

func NewMockIEcr(ctrl *gomock.Controller) *MockIEcr

NewMockIEcr creates a new mock instance.

func (*MockIEcr) CheckEcrExists added in v0.9.0

func (m *MockIEcr) CheckEcrExists(ctx context.Context, repositoryName *string) (bool, error)

CheckEcrExists mocks base method.

func (*MockIEcr) DeleteRepository added in v0.9.0

func (m *MockIEcr) DeleteRepository(ctx context.Context, repositoryName *string) error

DeleteRepository mocks base method.

func (*MockIEcr) EXPECT added in v0.9.0

func (m *MockIEcr) EXPECT() *MockIEcrMockRecorder

EXPECT returns an object that allows the caller to indicate expected use.

type MockIEcrMockRecorder added in v0.9.0

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

MockIEcrMockRecorder is the mock recorder for MockIEcr.

func (*MockIEcrMockRecorder) CheckEcrExists added in v0.9.0

func (mr *MockIEcrMockRecorder) CheckEcrExists(ctx, repositoryName interface{}) *gomock.Call

CheckEcrExists indicates an expected call of CheckEcrExists.

func (*MockIEcrMockRecorder) DeleteRepository added in v0.9.0

func (mr *MockIEcrMockRecorder) DeleteRepository(ctx, repositoryName interface{}) *gomock.Call

DeleteRepository indicates an expected call of DeleteRepository.

type MockIIam added in v0.9.0

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

MockIIam is a mock of IIam interface.

func NewMockIIam added in v0.9.0

func NewMockIIam(ctrl *gomock.Controller) *MockIIam

NewMockIIam creates a new mock instance.

func (*MockIIam) CheckRoleExists added in v0.9.0

func (m *MockIIam) CheckRoleExists(ctx context.Context, roleName *string) (bool, error)

CheckRoleExists mocks base method.

func (*MockIIam) DeleteRole added in v0.9.0

func (m *MockIIam) DeleteRole(ctx context.Context, roleName *string) error

DeleteRole mocks base method.

func (*MockIIam) DetachRolePolicies added in v0.9.0

func (m *MockIIam) DetachRolePolicies(ctx context.Context, roleName *string, policies []types.AttachedPolicy) error

DetachRolePolicies mocks base method.

func (*MockIIam) DetachRolePolicy added in v0.9.0

func (m *MockIIam) DetachRolePolicy(ctx context.Context, roleName, PolicyArn *string) error

DetachRolePolicy mocks base method.

func (*MockIIam) EXPECT added in v0.9.0

func (m *MockIIam) EXPECT() *MockIIamMockRecorder

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockIIam) ListAttachedRolePolicies added in v0.9.0

func (m *MockIIam) ListAttachedRolePolicies(ctx context.Context, roleName *string) ([]types.AttachedPolicy, error)

ListAttachedRolePolicies mocks base method.

type MockIIamMockRecorder added in v0.9.0

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

MockIIamMockRecorder is the mock recorder for MockIIam.

func (*MockIIamMockRecorder) CheckRoleExists added in v0.9.0

func (mr *MockIIamMockRecorder) CheckRoleExists(ctx, roleName interface{}) *gomock.Call

CheckRoleExists indicates an expected call of CheckRoleExists.

func (*MockIIamMockRecorder) DeleteRole added in v0.9.0

func (mr *MockIIamMockRecorder) DeleteRole(ctx, roleName interface{}) *gomock.Call

DeleteRole indicates an expected call of DeleteRole.

func (*MockIIamMockRecorder) DetachRolePolicies added in v0.9.0

func (mr *MockIIamMockRecorder) DetachRolePolicies(ctx, roleName, policies interface{}) *gomock.Call

DetachRolePolicies indicates an expected call of DetachRolePolicies.

func (*MockIIamMockRecorder) DetachRolePolicy added in v0.9.0

func (mr *MockIIamMockRecorder) DetachRolePolicy(ctx, roleName, PolicyArn interface{}) *gomock.Call

DetachRolePolicy indicates an expected call of DetachRolePolicy.

func (*MockIIamMockRecorder) ListAttachedRolePolicies added in v0.9.0

func (mr *MockIIamMockRecorder) ListAttachedRolePolicies(ctx, roleName interface{}) *gomock.Call

ListAttachedRolePolicies indicates an expected call of ListAttachedRolePolicies.

type MockIS3 added in v0.9.0

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

MockIS3 is a mock of IS3 interface.

func NewMockIS3 added in v0.9.0

func NewMockIS3(ctrl *gomock.Controller) *MockIS3

NewMockIS3 creates a new mock instance.

func (*MockIS3) CheckBucketExists added in v0.9.0

func (m *MockIS3) CheckBucketExists(ctx context.Context, bucketName *string) (bool, error)

CheckBucketExists mocks base method.

func (*MockIS3) DeleteBucket added in v0.9.0

func (m *MockIS3) DeleteBucket(ctx context.Context, bucketName *string) error

DeleteBucket mocks base method.

func (*MockIS3) DeleteObjects added in v0.9.0

func (m *MockIS3) DeleteObjects(ctx context.Context, bucketName *string, objects []types.ObjectIdentifier) ([]types.Error, error)

DeleteObjects mocks base method.

func (*MockIS3) EXPECT added in v0.9.0

func (m *MockIS3) EXPECT() *MockIS3MockRecorder

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockIS3) ListObjectVersions added in v0.9.0

func (m *MockIS3) ListObjectVersions(ctx context.Context, bucketName *string) ([]types.ObjectIdentifier, error)

ListObjectVersions mocks base method.

type MockIS3MockRecorder added in v0.9.0

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

MockIS3MockRecorder is the mock recorder for MockIS3.

func (*MockIS3MockRecorder) CheckBucketExists added in v0.9.0

func (mr *MockIS3MockRecorder) CheckBucketExists(ctx, bucketName interface{}) *gomock.Call

CheckBucketExists indicates an expected call of CheckBucketExists.

func (*MockIS3MockRecorder) DeleteBucket added in v0.9.0

func (mr *MockIS3MockRecorder) DeleteBucket(ctx, bucketName interface{}) *gomock.Call

DeleteBucket indicates an expected call of DeleteBucket.

func (*MockIS3MockRecorder) DeleteObjects added in v0.9.0

func (mr *MockIS3MockRecorder) DeleteObjects(ctx, bucketName, objects interface{}) *gomock.Call

DeleteObjects indicates an expected call of DeleteObjects.

func (*MockIS3MockRecorder) ListObjectVersions added in v0.9.0

func (mr *MockIS3MockRecorder) ListObjectVersions(ctx, bucketName interface{}) *gomock.Call

ListObjectVersions indicates an expected call of ListObjectVersions.

type Retryer added in v0.10.0

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

func NewRetryer added in v0.10.0

func NewRetryer(isErrorRetryableFunc func(error) bool, delayTimeSec int) *Retryer

func (*Retryer) GetAttemptToken added in v0.10.0

func (r *Retryer) GetAttemptToken(context.Context) (func(error) error, error)

func (*Retryer) GetInitialToken added in v0.10.0

func (r *Retryer) GetInitialToken() func(error) error

func (*Retryer) GetRetryToken added in v0.10.0

func (r *Retryer) GetRetryToken(context.Context, error) (func(error) error, error)

func (*Retryer) IsErrorRetryable added in v0.10.0

func (r *Retryer) IsErrorRetryable(err error) bool

func (*Retryer) MaxAttempts added in v0.10.0

func (r *Retryer) MaxAttempts() int

func (*Retryer) RetryDelay added in v0.10.0

func (r *Retryer) RetryDelay(int, error) (time.Duration, error)

type S3

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

func NewS3

func NewS3(client *s3.Client) *S3

func (*S3) CheckBucketExists

func (s *S3) CheckBucketExists(ctx context.Context, bucketName *string) (bool, error)

func (*S3) DeleteBucket

func (s *S3) DeleteBucket(ctx context.Context, bucketName *string) error

func (*S3) DeleteObjects

func (s *S3) DeleteObjects(ctx context.Context, bucketName *string, objects []types.ObjectIdentifier) ([]types.Error, error)

func (*S3) ListObjectVersions

func (s *S3) ListObjectVersions(ctx context.Context, bucketName *string) ([]types.ObjectIdentifier, error)

Jump to

Keyboard shortcuts

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