awsapi

package
v0.0.0-...-27b9671 Latest Latest
Warning

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

Go to latest
Published: Jun 6, 2019 License: MIT Imports: 21 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// AsyncInvokeEvent indicates invocation type = Event
	AsyncInvokeEvent = "Event"
	// AsyncInvokeRequest indicates invocation type = RequestResponse
	AsyncInvokeRequest = "RequestResponse"

	// ActionInvoke indicates action to invoke function
	ActionInvoke = "lambda:InvokeFunction"
	// PrincipalEvents indicates principal of cloudwatchevents to invoke lambda
	PrincipalEvents = "events.amazonaws.com"
)

Variables

This section is empty.

Functions

func NewCloudWatchEventsAPI

func NewCloudWatchEventsAPI(sess AWSSession) cweiface.CloudWatchEventsAPI

NewCloudWatchEventsAPI returns a CloudWatch API

func NewKMSAPI

func NewKMSAPI(sess AWSSession) kmsiface.KMSAPI

NewKMSAPI returns a KMS API

func NewLambdaAPI

func NewLambdaAPI(sess AWSSession) lambdaiface.LambdaAPI

NewLambdaAPI returns a Lambda API

func NewS3API

func NewS3API(sess AWSSession) s3iface.S3API

NewS3API returns a s3 client

func NewS3UploaderAPI

func NewS3UploaderAPI(svc s3iface.S3API) s3manageriface.UploaderAPI

NewS3UploaderAPI returns a s3manager.Uploader pointer

func NewSSMAPI

func NewSSMAPI(sess AWSSession) ssmiface.SSMAPI

NewSSMAPI returns a s3 client

func NewSupportAPI

func NewSupportAPI(sess AWSSession) supportiface.SupportAPI

NewSupportAPI returns a s3 client

Types

type AWSAPI

type AWSAPI struct {
}

AWSAPI defines a struct to implement AWSInterface

func (*AWSAPI) AddTagsToResource

func (api *AWSAPI) AddTagsToResource(svc ssmiface.SSMAPI,
	resID, resType string, tags map[string]string) error

AddTagsToResource helps to add tags to ssm resources

func (*AWSAPI) DeleteObject

func (awsapi *AWSAPI) DeleteObject(svc s3iface.S3API, bucket string, key string) error

DeleteObject deletes a object in s3

func (*AWSAPI) DeleteParameters

func (api *AWSAPI) DeleteParameters(svc ssmiface.SSMAPI, names []string) error

DeleteParameters helps to delete a list of parameters at maxsize 10

func (*AWSAPI) DescribeRule

func (awsapi *AWSAPI) DescribeRule(svc cweiface.CloudWatchEventsAPI,
	name string) (*CloudWatchEventRule, error)

DescribeRule returns an expression of a rule scheule searchd by name

func (*AWSAPI) GetDataKey

func (awsapi *AWSAPI) GetDataKey(svc kmsiface.KMSAPI, ciphertext []byte) ([]byte, error)

GetDataKey returns plain datakey

func (*AWSAPI) GetObject

func (awsapi *AWSAPI) GetObject(svc s3iface.S3API, bucket string, key string) (string, error)

GetObject returns the string content of a s3 object

func (*AWSAPI) GetParametersByPath

func (api *AWSAPI) GetParametersByPath(svc ssmiface.SSMAPI,
	name string, recursive bool, maxsize int64) (map[string]string, error)

GetParametersByPath helps to get all parameters in a certain path

func (*AWSAPI) GetParametersByPathIter

func (api *AWSAPI) GetParametersByPathIter(svc ssmiface.SSMAPI,
	name string, next *string, recursive bool, maxsize int64) ([]*ssm.Parameter, *string, error)

GetParametersByPathIter helps to get all parameters in a certain path

func (*AWSAPI) InvokeLambda

func (awsapi *AWSAPI) InvokeLambda(lambdasvc lambdaiface.LambdaAPI,
	funcArn string, payload []byte, invokeType string) (*lambda.InvokeOutput, error)

InvokeLambda invoke a lambda function

func (*AWSAPI) LambdaAddPermission

func (awsapi *AWSAPI) LambdaAddPermission(lambdasvc lambdaiface.LambdaAPI,
	action, funcName, principal, source, stateID string) error

LambdaAddPermission helps to call lambda.AddPermission api

func (*AWSAPI) ListObjects

func (awsapi *AWSAPI) ListObjects(svc s3iface.S3API, bucket string, prefix string) ([]string, error)

ListObjects helps to list all objects in a bucket with a certain prefix

func (*AWSAPI) ListObjectsPaginated

func (awsapi *AWSAPI) ListObjectsPaginated(svc s3iface.S3API, bucket string, prefix string, size int, marker string) ([]string, string, bool, error)

ListObjectsPaginated return a truncated list of object keys

func (*AWSAPI) ListRuleNamesByTarget

func (awsapi *AWSAPI) ListRuleNamesByTarget(svc cweiface.CloudWatchEventsAPI,
	arn string) ([]string, error)

ListRuleNamesByTarget returns a list of rule names related to a target arn

func (*AWSAPI) ListTagsForResource

func (api *AWSAPI) ListTagsForResource(svc ssmiface.SSMAPI,
	resID, resType string) (map[string]string, error)

ListTagsForResource helps to list tags of a certain resource

func (*AWSAPI) NewDataKey

func (awsapi *AWSAPI) NewDataKey(svc kmsiface.KMSAPI, keyAlias string, keySpec string) ([]byte, []byte, error)

NewDataKey returns plain datakey with ciphertext-blob

func (*AWSAPI) PutObject

func (awsapi *AWSAPI) PutObject(uploaderAPI s3manageriface.UploaderAPI, bucket string, key string, content string) error

PutObject uploads a string as a s3 object

func (*AWSAPI) PutParameter

func (api *AWSAPI) PutParameter(svc ssmiface.SSMAPI, name, value,
	keyid string, tags map[string]string, overwrite bool, isArray bool) error

PutParameter helps to put parameter to ssm as Secure String

func (*AWSAPI) PutRule

func (awsapi *AWSAPI) PutRule(svc cweiface.CloudWatchEventsAPI,
	rule *CloudWatchEventRule) (string, error)

PutRule helps to call PutRule api

func (*AWSAPI) PutTargets

func (awsapi *AWSAPI) PutTargets(svc cweiface.CloudWatchEventsAPI,
	rule, targetID, targetArn, targetInput string) error

PutTargets helps to call PutTargets api

type AWSIface

type AWSIface struct {
	KMSSVC       kmsiface.KMSAPI
	S3ManagerSVC s3manageriface.UploaderAPI
	S3SVC        s3iface.S3API
	SSMSVC       ssmiface.SSMAPI
}

AWSIface holds aws clients

type AWSServiceSession

type AWSServiceSession struct {
}

AWSServiceSession defiens a struct to implement AWSSession

func (*AWSServiceSession) NewSession

func (awsSession *AWSServiceSession) NewSession() (*session.Session, error)

NewSession implements AWSSession.NewSession

type AWSSession

type AWSSession interface {
	NewSession() (*session.Session, error)
}

AWSSession defines an interface of session.NewSession

type CloudWatchEventRule

type CloudWatchEventRule struct {
	Arn                string `json:"arn"`
	Description        string `json:"description"`
	EventPattern       string `json:"event_pattern"`
	ManagedBy          string `json:"managed_by"`
	Name               string `json:"name"`
	RoleArn            string `json:"role_arn"`
	ScheduleExpression string `json:"schedule_expression"`
	State              string `json:"state"`
}

CloudWatchEventRule defines necessary properties of a cloudwatch event rule

func NewEventRule

func NewEventRule(arn, desc, event, managedby,
	name, role, schedule, state *string) *CloudWatchEventRule

NewEventRule parse cloudwatchevents.DescribeRuleOutput to CloudWatchEventRule

Jump to

Keyboard shortcuts

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