adapters

package
v0.2.7 Latest Latest
Warning

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

Go to latest
Published: Sep 20, 2023 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ClientError                  = &testtools.StubError{Err: errors.New("ClientError")}
	CallerIdentityIAMUserJohnDoe = testtools.Stub{
		OperationName: "GetCallerIdentity",
		Input:         &sts.GetCallerIdentityInput{},
		Output: &sts.GetCallerIdentityOutput{
			Account: aws.String("111122223333"),
			Arn:     aws.String("arn:aws:sts::111122223333:user/john.doe"),
			UserId:  aws.String("AIDAXXXXXXXXXXXXXXXXX"),
		},
	}
	CallerIdentityIAMRoleDeveloper = testtools.Stub{
		OperationName: "GetCallerIdentity",
		Input:         &sts.GetCallerIdentityInput{},
		Output: &sts.GetCallerIdentityOutput{
			Account: aws.String("111122223333"),
			Arn:     aws.String("arn:aws:sts::111122223333:assumed-role/Developer/john.doe"),
			UserId:  aws.String("AIDAXXXXXXXXXXXXXXXXX"),
		},
	}
	CallerIdentityInvalidARN = testtools.Stub{
		OperationName: "GetCallerIdentity",
		Input:         &sts.GetCallerIdentityInput{},
		Output: &sts.GetCallerIdentityOutput{
			Account: aws.String("111122223333"),
			Arn:     aws.String("Invalid ARN"),
			UserId:  aws.String("AIDAXXXXXXXXXXXXXXXXX"),
		},
	}
	CallerIdentityClientFailure = testtools.Stub{
		OperationName: "GetCallerIdentity",
		Input:         &sts.GetCallerIdentityInput{},
		Error:         ClientError,
	}
	SingleAccessKeys = testtools.Stub{
		OperationName: "ListAccessKeys",
		Input:         &iam.ListAccessKeysInput{UserName: aws.String("john.doe")},
		Output: &iam.ListAccessKeysOutput{
			AccessKeyMetadata: []types.AccessKeyMetadata{
				{AccessKeyId: aws.String("MyAccessKey")},
			},
		},
	}
	TwoAccessKeys = testtools.Stub{
		OperationName: "ListAccessKeys",
		Input:         &iam.ListAccessKeysInput{UserName: aws.String("john.doe")},
		Output: &iam.ListAccessKeysOutput{
			AccessKeyMetadata: []types.AccessKeyMetadata{
				{AccessKeyId: aws.String("MyAccessKey")},
				{AccessKeyId: aws.String("MyOtherAccessKey")},
			},
		},
	}
	CreateAccessKey = testtools.Stub{
		OperationName: "CreateAccessKey",
		Input:         &iam.CreateAccessKeyInput{UserName: aws.String("john.doe")},
		Output: &iam.CreateAccessKeyOutput{
			AccessKey: &types.AccessKey{
				AccessKeyId:     aws.String("MyNewAccessKey"),
				SecretAccessKey: aws.String("MyNewSecretAccessKey"),
				Status:          "Active",
			},
		},
	}
	CreateAccessKeyFailure = testtools.Stub{
		OperationName: "CreateAccessKey",
		Input:         &iam.CreateAccessKeyInput{UserName: aws.String("john.doe")},
		Error:         ClientError,
	}
	UpdateAccessKey = testtools.Stub{
		OperationName: "UpdateAccessKey",
		Input: &iam.UpdateAccessKeyInput{
			UserName:    aws.String("john.doe"),
			AccessKeyId: aws.String("MyAccessKey"),
			Status:      "Inactive",
		},
		Output: &iam.UpdateAccessKeyOutput{},
	}
	DeleteAccessKey = testtools.Stub{
		OperationName: "DeleteAccessKey",
		Input: &iam.DeleteAccessKeyInput{
			UserName:    aws.String("john.doe"),
			AccessKeyId: aws.String("MyAccessKey"),
		},
		Output: &iam.DeleteAccessKeyOutput{},
	}
)

Functions

func HasAdapter

func HasAdapter(region string, profile string) bool

func RegisterAdapter

func RegisterAdapter(region string, profile string, adapter IUserAdapter)

Types

type IUserAdapter

type IUserAdapter interface {
	LoadUser() (*models.User, error)
	RotateCredentials(*models.User) error
}

func GetAdapter

func GetAdapter(region string, profile string) IUserAdapter

func LoadUserAdapter

func LoadUserAdapter(region string, profile string) IUserAdapter

type UserAdapter

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

func New

func New(region string, profile string) *UserAdapter

func (*UserAdapter) LoadUser

func (u *UserAdapter) LoadUser() (*models.User, error)

func (*UserAdapter) RotateCredentials

func (u *UserAdapter) RotateCredentials(user *models.User) error

Jump to

Keyboard shortcuts

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