Documentation ¶
Index ¶
- func GetAWSAccountID(sess *session.Session) (string, error)
- func Run(ctx context.Context, argv []string, outStream, errStream io.Writer) error
- type AwsVpcConfiguration
- type BaseConfig
- type Config
- type ContainerOverride
- type DeadLetterConfig
- type NetworkConfiguration
- type Plugin
- type Query
- type Rule
- func (r *Rule) Apply(ctx context.Context, sess *session.Session, dryRun bool) error
- func (r *Rule) Delete(ctx context.Context, sess *session.Session, dryRun bool) error
- func (r *Rule) PutRuleInput() *cloudwatchevents.PutRuleInput
- func (r *Rule) PutTargetsInput() *cloudwatchevents.PutTargetsInput
- func (r *Rule) Run(ctx context.Context, sess *session.Session, noWait bool) error
- func (r *Rule) TagResourceInput() *cloudwatchevents.TagResourceInput
- type TagFilter
- type Target
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetAWSAccountID ¶
GetAWSAccountID returns id
Types ¶
type AwsVpcConfiguration ¶ added in v0.3.0
type AwsVpcConfiguration struct { Subnets []string `yaml:"subnets" json:"subnets"` SecurityGroups []string `yaml:"security_groups,omitempty" json:"security_groups,omitempty"` AssignPublicIP string `yaml:"assign_public_ip,omitempty" json:"assign_public_ip,omitempty"` }
AwsVpcConfiguration represents AWS VPC configuration
type BaseConfig ¶
type BaseConfig struct { Region string `yaml:"region" json:"region"` Cluster string `yaml:"cluster" json:"cluster"` AccountID string `yaml:"-" json:"-"` }
BaseConfig baseconfig
type Config ¶
type Config struct { Role string `yaml:"role,omitempty" json:"role,omitempty"` *BaseConfig `yaml:",inline" json:",inline"` Rules []*Rule `yaml:"rules" json:"rules"` Plugins []*Plugin `yaml:"plugins,omitempty" json:"plugins,omitempty"` // contains filtered or unexported fields }
Config config
func LoadConfig ¶
func LoadConfig(ctx context.Context, r io.Reader, accountID string, confPath string) (*Config, error)
LoadConfig loads config
func (*Config) GetRuleByName ¶
GetRuleByName gets rule by name
type ContainerOverride ¶
type ContainerOverride struct { Name string `yaml:"name" json:"name"` Command []string `yaml:"command,flow" json:"command"` // ,flow Environment map[string]string `yaml:"environment,omitempty" json:"environment,omitempty"` Cpu *int64 `yaml:"cpu,omitempty" json:"cpu,omitempty"` Memory *int64 `yaml:"memory,omitempty" json:"memory,omitempty"` MemoryReservation *int64 `yaml:"memoryReservation,omitempty" json:"memoryReservation,omitempty"` }
ContainerOverride overrides container
type DeadLetterConfig ¶ added in v0.4.0
type DeadLetterConfig struct {
Sqs string `yaml:"sqs" json:"sqs"`
}
A DeadLetterConfig object that contains information about a dead-letter queue configuration.
type NetworkConfiguration ¶ added in v0.3.0
type NetworkConfiguration struct {
AwsVpcConfiguration *AwsVpcConfiguration `yaml:"aws_vpc_configuration" json:"aws_vpc_configuration"`
}
NetworkConfiguration represents ECS network configuration
type Rule ¶
type Rule struct { Name string `yaml:"name" json:"name"` Description string `yaml:"description,omitempty" json:"description,omitempty"` ScheduleExpression string `yaml:"scheduleExpression" json:"scheduleExpression"` Disabled bool `yaml:"disabled,omitempty" json:"disabled,omitempty"` // ENABLE | DISABLE *Target `yaml:",inline" json:",inline"` *BaseConfig `yaml:",inline,omitempty"` }
Rule the rule
func NewRuleFromRemote ¶ added in v0.10.0
func NewRuleFromRemote(ctx context.Context, sess *session.Session, bc *BaseConfig, ruleName string) (*Rule, error)
NewRuleFromRemote creates a new rule from remote (AWS EventBridge Rule)
func (*Rule) PutRuleInput ¶
func (r *Rule) PutRuleInput() *cloudwatchevents.PutRuleInput
PutRuleInput puts rule input
func (*Rule) PutTargetsInput ¶
func (r *Rule) PutTargetsInput() *cloudwatchevents.PutTargetsInput
PutTargetsInput puts targets input
func (*Rule) TagResourceInput ¶ added in v0.10.0
func (r *Rule) TagResourceInput() *cloudwatchevents.TagResourceInput
TagResourceInput tags resource input
type Target ¶
type Target struct { TargetID string `yaml:"targetId,omitempty" json:"targetId,omitempty"` TaskDefinition string `yaml:"taskDefinition" json:"taskDefinition"` TaskCount int64 `yaml:"taskCount,omitempty" json:"taskCount,omitempty"` ContainerOverrides []*ContainerOverride `yaml:"containerOverrides,omitempty" json:"containerOverrides,omitempty"` Role string `yaml:"role,omitempty" json:"role,omitempty"` Group string `yaml:"group,omitempty" json:"group,omitempty"` LaunchType string `yaml:"launch_type,omitempty" json:"launch_type,omitempty"` PlatformVersion string `yaml:"platform_version,omitempty" json:"platform_version,omitempty"` NetworkConfiguration *NetworkConfiguration `yaml:"network_configuration,omitempty" json:"network_configuration,omitempty"` DeadLetterConfig *DeadLetterConfig `yaml:"dead_letter_config,omitempty" json:"dead_letter_config,omitempty"` PropagateTags *string `yaml:"propagateTags,omitempty" json:"propagateTags,omitempty"` }
Target cluster
Source Files ¶
Click to show internal directories.
Click to hide internal directories.