Documentation
¶
Index ¶
- Constants
- func NewCloudWatchEventsAPI(sess AWSSession) cweiface.CloudWatchEventsAPI
- func NewKMSAPI(sess AWSSession) kmsiface.KMSAPI
- func NewLambdaAPI(sess AWSSession) lambdaiface.LambdaAPI
- func NewS3API(sess AWSSession) s3iface.S3API
- func NewS3UploaderAPI(svc s3iface.S3API) s3manageriface.UploaderAPI
- func NewSSMAPI(sess AWSSession) ssmiface.SSMAPI
- func NewSupportAPI(sess AWSSession) supportiface.SupportAPI
- type AWSAPI
- func (api *AWSAPI) AddTagsToResource(svc ssmiface.SSMAPI, resID, resType string, tags map[string]string) error
- func (awsapi *AWSAPI) DeleteObject(svc s3iface.S3API, bucket string, key string) error
- func (api *AWSAPI) DeleteParameters(svc ssmiface.SSMAPI, names []string) error
- func (awsapi *AWSAPI) DescribeRule(svc cweiface.CloudWatchEventsAPI, name string) (*CloudWatchEventRule, error)
- func (awsapi *AWSAPI) GetDataKey(svc kmsiface.KMSAPI, ciphertext []byte) ([]byte, error)
- func (awsapi *AWSAPI) GetObject(svc s3iface.S3API, bucket string, key string) (string, error)
- func (api *AWSAPI) GetParametersByPath(svc ssmiface.SSMAPI, name string, recursive bool, maxsize int64) (map[string]string, error)
- func (api *AWSAPI) GetParametersByPathIter(svc ssmiface.SSMAPI, name string, next *string, recursive bool, maxsize int64) ([]*ssm.Parameter, *string, error)
- func (awsapi *AWSAPI) InvokeLambda(lambdasvc lambdaiface.LambdaAPI, funcArn string, payload []byte, ...) (*lambda.InvokeOutput, error)
- func (awsapi *AWSAPI) LambdaAddPermission(lambdasvc lambdaiface.LambdaAPI, ...) error
- func (awsapi *AWSAPI) ListObjects(svc s3iface.S3API, bucket string, prefix string) ([]string, error)
- func (awsapi *AWSAPI) ListObjectsPaginated(svc s3iface.S3API, bucket string, prefix string, size int, marker string) ([]string, string, bool, error)
- func (awsapi *AWSAPI) ListRuleNamesByTarget(svc cweiface.CloudWatchEventsAPI, arn string) ([]string, error)
- func (api *AWSAPI) ListTagsForResource(svc ssmiface.SSMAPI, resID, resType string) (map[string]string, error)
- func (awsapi *AWSAPI) NewDataKey(svc kmsiface.KMSAPI, keyAlias string, keySpec string) ([]byte, []byte, error)
- func (awsapi *AWSAPI) PutObject(uploaderAPI s3manageriface.UploaderAPI, bucket string, key string, ...) error
- func (api *AWSAPI) PutParameter(svc ssmiface.SSMAPI, name, value, keyid string, tags map[string]string, ...) error
- func (awsapi *AWSAPI) PutRule(svc cweiface.CloudWatchEventsAPI, rule *CloudWatchEventRule) (string, error)
- func (awsapi *AWSAPI) PutTargets(svc cweiface.CloudWatchEventsAPI, ...) error
- type AWSIface
- type AWSServiceSession
- type AWSSession
- type CloudWatchEventRule
Constants ¶
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 NewLambdaAPI ¶
func NewLambdaAPI(sess AWSSession) lambdaiface.LambdaAPI
NewLambdaAPI returns a Lambda API
func NewS3UploaderAPI ¶
func NewS3UploaderAPI(svc s3iface.S3API) s3manageriface.UploaderAPI
NewS3UploaderAPI returns a s3manager.Uploader pointer
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 ¶
DeleteObject deletes a object in s3
func (*AWSAPI) DeleteParameters ¶
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 ¶
GetDataKey returns plain datakey
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 ¶
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