Documentation
¶
Overview ¶
models contains struct definitions for various structures used through out the DeathStar codebase
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type LambdaFunctionConfig ¶
type LambdaFunctionConfig struct {
// LambdaRole is the role that will be used by the lambda function. This will
// hild the role ARN
LambdaRole string `json:"lambdaRole" yaml:"lambdaRole"`
// LambdaMemorySize is the max memory size that the lambda function will be allowed
// to attain.
LambdaMemorySize int64 `json:"lambdaMemorySize" yaml:"lambdaMemorySize"`
// LambdaTimeOut is the max time in seconds after which the lambda function will timeout
LambdaTimeOut int64 `json:"lambdaTimeOut" yaml:"lambdaTimeOut"`
// LambdaRegion is the region where the lambda function will be deployed
LambdaRegion string `json:"lambdaRegion" yaml:"lambdaRegion"`
}
LambdaFunctionConfig contains fields required to configutre the lambda function
type LambdaRequest ¶
type LambdaRequest struct {
// AttackName if the name of the attack. This can be used as a unique identifier for the attack.
AttackName string `json:"attackName" yaml:"attackName"`
// AttackDesc is the description of the attack
AttackDesc string `json:"attackDesc" yaml:"attackDesc"`
// VegetaParams contains the data required by vegeta.
VegetaParams VegetaAttackParams `json:"vegetaAttackParams" yaml:"vegetaAttackParams"`
}
LambdaRequest holds properties to represent a request to the deployed lambda function
type LambdaResponse ¶
type LambdaResponse struct {
// ResultMetrics is same as the metrics struct returned by the vegeta llibrary
// More about this can be found in vegeta doc.
ResultMetrics *vegeta.Metrics `json:"AttackResponseMetrics" yaml:"AttackResponseMetrics"`
// AttackDetails contains the details of a particualar attack. This is included here
// so that user knows the above metrics are for which attack.
AttackDetails LambdaRequest `json:"attackDetails" yaml:"attackDetails"`
}
LambdaRequest holds fields tp represent the attack response.
type VegetaAttackParams ¶
type YAMLConfig ¶
type YAMLConfig struct {
// Attacks is the list of attack configs
Attacks []LambdaRequest `json:"attacks" yaml:"attacks"`
// LambdaConfig is the configs for the lambda function itself that
// will be created in order to carry out the attack.
LambdaConfig LambdaFunctionConfig `json:"lambdaConfig" yaml:"lambdaConfig"`
}
YAMLConfig holds the config attributes for the yaml config file required to configure DeathStar in order to carry out attacks.
Click to show internal directories.
Click to hide internal directories.