Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RandStringBytes ¶
Types ¶
type IAMAPI ¶
type IAMAPI interface { AddUserToGroup(*iam.AddUserToGroupInput) (*iam.AddUserToGroupOutput, error) RemoveUserFromGroup(*iam.RemoveUserFromGroupInput) (*iam.RemoveUserFromGroupOutput, error) CreateAccessKey(*iam.CreateAccessKeyInput) (*iam.CreateAccessKeyOutput, error) ListAccessKeys(*iam.ListAccessKeysInput) (*iam.ListAccessKeysOutput, error) DeleteAccessKey(*iam.DeleteAccessKeyInput) (*iam.DeleteAccessKeyOutput, error) CreateUser(*iam.CreateUserInput) (*iam.CreateUserOutput, error) GetUser(*iam.GetUserInput) (*iam.GetUserOutput, error) DeleteUser(*iam.DeleteUserInput) (*iam.DeleteUserOutput, error) WaitUntilUserExists(*iam.GetUserInput) error DeleteUserPolicy(*iam.DeleteUserPolicyInput) (*iam.DeleteUserPolicyOutput, error) PutUserPolicy(*iam.PutUserPolicyInput) (*iam.PutUserPolicyOutput, error) }
type S3 ¶
type S3 struct { S3Interfaces S3Interfacer // contains filtered or unexported fields }
func (*S3) Description ¶
func (*S3) Process ¶
func (x *S3) Process(e transistor.Event) error
How does this work? A bucket is shared by other staging projects in order to create access for a new project to use this storage, we will need to generate an IAM user to use this new prefix for this bucket
We want to do this so that we can utilize the same bucket but isolate each applications logical access
The artifacts that should be returned after an S3 extension is successfuly created should be the credentials for which the project will be using to access the bucket, as well as the prefix that has been assigned for this application to use in addition to the region the bucket is in
Accepts:
aws_access_key_id - Access to create users and update policies aws_secret_key aws_region - The region of the bucket aws_bucket_prefix - Which bucket to be shared aws_generated_user_prefix - What should the IAM users be prefixed with aws_user_group_name - For organizational purposes, group users together to easily find later aws_credentials_timeout - How long should we wait to see if the IAM credentials were successfully created
func (*S3) SampleConfig ¶
type S3API ¶
type S3API interface { PutObject(*s3.PutObjectInput) (*s3.PutObjectOutput, error) CreateBucket(*s3.CreateBucketInput) (*s3.CreateBucketOutput, error) ListBuckets(*s3.ListBucketsInput) (*s3.ListBucketsOutput, error) PutBucketTagging(*s3.PutBucketTaggingInput) (*s3.PutBucketTaggingOutput, error) }
type S3Interface ¶
func (*S3Interface) GetIAMServiceInterface ¶
func (x *S3Interface) GetIAMServiceInterface(data *S3Data) IAMAPI
Provide IAM interface for mock/testing purposes
func (*S3Interface) GetS3ServiceInterface ¶
func (x *S3Interface) GetS3ServiceInterface(data *S3Data, testingAccessKey *iam.AccessKey) S3API
Provide S3 interface for mock/testing purposes
func (*S3Interface) New ¶
func (x *S3Interface) New() S3Interfacer