Documentation
¶
Index ¶
- Variables
- func AliasToIP(alias string) (string, error)
- func AutoScaling(configPath string) ([]halib.AutoScalingData, error)
- func CompareInstances(client *AWSClient, name, prefix string) ([]string, error)
- func DeleteAutoScaling(autoScalingGroupName string) error
- func DeregisterAutoScalingInstance(instanceID string) error
- func GetAssignedInstance(autoScalingGroupName string) (string, error)
- func GetAutoScalingConfig(configFile string) (halib.AutoScalingConfig, error)
- func JoinAutoScalingGroup(client *NodeAWSClient, endpoint string) (halib.MetricConfig, error)
- func LeaveAutoScalingGroup(client *NodeAWSClient, endpoint string) error
- func RefreshAutoScalingInstances(client *AWSClient, autoScalingGroupName, hostPrefix string, ...) error
- func RegisterAutoScalingInstance(autoScalingGroupName, hostPrefix, instanceID, ip string) (string, halib.InstanceData, error)
- func SaveAutoScalingConfig(config halib.AutoScalingConfig, configFile string) error
- func SaveAutoScalingMetricConfig(autoScalingGroupName string, metricConfig halib.MetricConfig) error
- type AWSClient
- type EC2MetadataAPI
- type NodeAWSClient
Constants ¶
This section is empty.
Variables ¶
var ErrNotRunningEC2 = errors.New("not running within Amazon EC2")
ErrNotRunningEC2 represents error for not running within Amazon EC2 when daemon mode
Functions ¶
func AutoScaling ¶
func AutoScaling(configPath string) ([]halib.AutoScalingData, error)
AutoScaling list autoscaling instances
func CompareInstances ¶
CompareInstances returns instance ids of difference between dbms and result of AWS API. It return contains instance id which found in result of AWS API but not in dbms.
In following case, return `[]string{"i-dddddd", "i-eeeeee"}`.
dbms : i-aaaaaa, i-bbbbbb, i-cccccc AWS API: i-aaaaaa, i-bbbbbb, i-dddddd, i-eeeeee
func DeleteAutoScaling ¶
DeleteAutoScaling delete autoscaling instances data
func DeregisterAutoScalingInstance ¶
DeregisterAutoScalingInstance deregister autoscaling instance from dbms
func GetAssignedInstance ¶
GetAssignedInstance return ip assigned instance
func GetAutoScalingConfig ¶
func GetAutoScalingConfig(configFile string) (halib.AutoScalingConfig, error)
GetAutoScalingConfig returns autoscaling config file
func JoinAutoScalingGroup ¶
func JoinAutoScalingGroup(client *NodeAWSClient, endpoint string) (halib.MetricConfig, error)
JoinAutoScalingGroup register request to auto scaling bastion
func LeaveAutoScalingGroup ¶
func LeaveAutoScalingGroup(client *NodeAWSClient, endpoint string) error
LeaveAutoScalingGroup deregister request to auto scaling bastion
func RefreshAutoScalingInstances ¶
func RefreshAutoScalingInstances(client *AWSClient, autoScalingGroupName, hostPrefix string, autoscalingCount int) error
RefreshAutoScalingInstances refresh alias maps
func RegisterAutoScalingInstance ¶
func RegisterAutoScalingInstance(autoScalingGroupName, hostPrefix, instanceID, ip string) (string, halib.InstanceData, error)
RegisterAutoScalingInstance register autoscaling instance to dbms
func SaveAutoScalingConfig ¶
func SaveAutoScalingConfig(config halib.AutoScalingConfig, configFile string) error
SaveAutoScalingConfig save autoscaling config to config file
func SaveAutoScalingMetricConfig ¶
func SaveAutoScalingMetricConfig(autoScalingGroupName string, metricConfig halib.MetricConfig) error
SaveAutoScalingMetricConfig save metric config of autoscaling instance to dbms
Types ¶
type AWSClient ¶
type AWSClient struct { SvcEC2 ec2iface.EC2API SvcAutoscaling autoscalingiface.AutoScalingAPI }
AWSClient allows you to get the list of IP addresses of instanes of an Auto Scaling group
func NewAWSClient ¶
NewAWSClient returns AWSClient when running within Amazon EC2. If running in not Amazon EC2, returns ErrNotRunningEC2 as an error.
type EC2MetadataAPI ¶
type EC2MetadataAPI interface { Available() bool GetInstanceIdentityDocument() (ec2metadata.EC2InstanceIdentityDocument, error) }
EC2MetadataAPI interface of ec2metadata.EC2Metadata
type NodeAWSClient ¶
type NodeAWSClient struct { SvcSSM ssmiface.SSMAPI SvcAutoScaling autoscalingiface.AutoScalingAPI SvcEC2Metadata EC2MetadataAPI }
NodeAWSClient provides interface to SSM Parameter Store
func NewNodeAWSClient ¶
func NewNodeAWSClient() (*NodeAWSClient, error)
NewNodeAWSClient returns NodeAWSClient when running within Amazon EC2. If running in not Amazon EC2, returns ErrNotRunningEC2 as an error.
func (*NodeAWSClient) GetAutoScalingGroupName ¶
func (client *NodeAWSClient) GetAutoScalingGroupName(instanceID string) (string, error)
GetAutoScalingGroupName return autoscaling group name
func (*NodeAWSClient) GetAutoScalingNodeConfigParameters ¶
func (client *NodeAWSClient) GetAutoScalingNodeConfigParameters(path string) (halib.AutoScalingNodeConfigParameters, error)
GetAutoScalingNodeConfigParameters returns parameters of autoscaling node config from AWS SSM Parameter Store
func (*NodeAWSClient) GetInstanceMetadata ¶
func (client *NodeAWSClient) GetInstanceMetadata() (string, string, error)
GetInstanceMetadata return instance meta data