Documentation ¶
Index ¶
- Constants
- Variables
- func GetAwsAsgClient(region string, cacheCfg *cache.Config, maxRetries int, ...) autoscalingiface.AutoScalingAPI
- func GetAwsEc2Client(region string, cacheCfg *cache.Config, maxRetries int, ...) ec2iface.EC2API
- func GetAwsEc2MetadataClient() *ec2metadata.EC2Metadata
- func GetAwsEksClient(region string, cacheCfg *cache.Config, maxRetries int, ...) eksiface.EKSAPI
- func GetAwsIamClient(region string, cacheCfg *cache.Config, maxRetries int, ...) iamiface.IAMAPI
- func GetAwsSsmClient(region string, cacheCfg *cache.Config, maxRetries int, ...) ssmiface.SSMAPI
- func GetInstanceArchitectures(typeInfo []*ec2.InstanceTypeInfo, instanceType string) []string
- func GetInstanceFamily(instanceType string) string
- func GetInstanceGeneration(instanceType string) string
- func GetInstanceTypeArchitectures(instanceTypes []*ec2.InstanceTypeInfo, instanceType string) []string
- func GetInstanceTypeInfo(instanceTypes []*ec2.InstanceTypeInfo, instanceType string) *ec2.InstanceTypeInfo
- func GetInstanceTypeNetworkInfo(instanceTypes []*ec2.InstanceTypeInfo, instanceType string) *ec2.NetworkInfo
- func GetOfferingMemory(typeInfo []*ec2.InstanceTypeInfo, instanceType string) int64
- func GetOfferingVCPU(typeInfo []*ec2.InstanceTypeInfo, instanceType string) int64
- func GetRegion(metadata *ec2metadata.EC2Metadata) (string, error)
- func GetScalingConfigName(group *autoscaling.Group) string
- func GetScalingGroupTagsByName(name string, client autoscalingiface.AutoScalingAPI) ([]*autoscaling.TagDescription, error)
- func GetTagValueByKey(tags []*autoscaling.TagDescription, key string) string
- func IsNodeGroupInConditionState(key string, condition string) bool
- func IsProfileInConditionState(key string, condition string) bool
- func IsUsingLaunchConfiguration(group *autoscaling.Group) bool
- func IsUsingLaunchTemplate(group *autoscaling.Group) bool
- func IsUsingMixedInstances(group *autoscaling.Group) bool
- func IsUsingWarmPool(group *autoscaling.Group) bool
- type AwsWorker
- func (w *AwsWorker) AttachDefaultPolicyToDefaultRole() error
- func (w *AwsWorker) AttachManagedPolicies(name string, managedPolicies []string) error
- func (w *AwsWorker) CreateDefaultFargateRole() error
- func (w *AwsWorker) CreateFargateProfile(arn string) error
- func (w *AwsWorker) CreateLaunchConfig(input *autoscaling.CreateLaunchConfigurationInput) error
- func (w *AwsWorker) CreateLaunchTemplate(input *ec2.CreateLaunchTemplateInput) error
- func (w *AwsWorker) CreateLaunchTemplateVersion(input *ec2.CreateLaunchTemplateVersionInput) (*ec2.LaunchTemplateVersion, error)
- func (w *AwsWorker) CreateLifecycleHook(input *autoscaling.PutLifecycleHookInput) error
- func (w *AwsWorker) CreateManagedNodeGroup() error
- func (w *AwsWorker) CreateScalingGroup(input *autoscaling.CreateAutoScalingGroupInput) error
- func (w *AwsWorker) CreateScalingGroupRole(name string) (*iam.Role, *iam.InstanceProfile, error)
- func (w *AwsWorker) DeleteDefaultFargateRole() error
- func (w *AwsWorker) DeleteFargateProfile() error
- func (w *AwsWorker) DeleteLaunchConfig(name string) error
- func (w *AwsWorker) DeleteLaunchTemplate(name string) error
- func (w *AwsWorker) DeleteLaunchTemplateVersions(name string, versions []string) error
- func (w *AwsWorker) DeleteLifecycleHook(asgName, hookName string) error
- func (w *AwsWorker) DeleteManagedNodeGroup() error
- func (w *AwsWorker) DeleteScalingGroup(name string) error
- func (w *AwsWorker) DeleteScalingGroupRole(name string, managedPolicies []string) error
- func (w *AwsWorker) DeleteWarmPool(asgName string) error
- func (w *AwsWorker) DeriveEksVpcID(clusterName string) (string, error)
- func (w *AwsWorker) DescribeAutoscalingGroups() ([]*autoscaling.Group, error)
- func (w *AwsWorker) DescribeAutoscalingLaunchConfigs() ([]*autoscaling.LaunchConfiguration, error)
- func (w *AwsWorker) DescribeEKSCluster(clusterName string) (*eks.Cluster, error)
- func (w *AwsWorker) DescribeFargateProfile() (*eks.FargateProfile, error)
- func (w *AwsWorker) DescribeInstanceOfferings() ([]*ec2.InstanceTypeOffering, error)
- func (w *AwsWorker) DescribeInstanceTypes() ([]*ec2.InstanceTypeInfo, error)
- func (w *AwsWorker) DescribeLaunchTemplateVersions(templateName string) ([]*ec2.LaunchTemplateVersion, error)
- func (w *AwsWorker) DescribeLaunchTemplates() ([]*ec2.LaunchTemplate, error)
- func (w *AwsWorker) DescribeLifecycleHooks(asgName string) ([]*autoscaling.LifecycleHook, error)
- func (w *AwsWorker) DescribeWarmPool(asgName string) (*autoscaling.DescribeWarmPoolOutput, error)
- func (w *AwsWorker) DetachDefaultPolicyFromDefaultRole() error
- func (w *AwsWorker) DetachManagedPolicies(name string, managedPolicies []string) error
- func (w *AwsWorker) DisableMetrics(asgName string, metrics []string) error
- func (w *AwsWorker) EnableMetrics(asgName string, metrics []string) error
- func (w *AwsWorker) GetAutoScalingBasicBlockDevice(name, volType, snapshot string, volSize, iops int64, throughput int64, ...) *autoscaling.BlockDeviceMapping
- func (w *AwsWorker) GetDNSClusterIP(cluster *eks.Cluster) string
- func (w *AwsWorker) GetDefaultFargateRole() (*iam.Role, error)
- func (w *AwsWorker) GetEksLatestAmi(OSFamily string, arch string, kubernetesVersion string) (string, error)
- func (w *AwsWorker) GetEksSsmAmi(OSFamily string, arch string, kubernetesVersion string, ssmId string) (string, error)
- func (w *AwsWorker) GetLabelsUpdatePayload(existing, new map[string]string) (*eks.UpdateLabelsPayload, bool)
- func (w *AwsWorker) GetLaunchTemplateBlockDevice(name, volType, snapshot string, volSize, iops int64, throughput int64, ...) *ec2.LaunchTemplateBlockDeviceMapping
- func (w *AwsWorker) GetLaunchTemplateBlockDeviceRequest(name, volType, snapshot string, volSize, iops int64, throughput int64, ...) *ec2.LaunchTemplateBlockDeviceMappingRequest
- func (w *AwsWorker) GetRole(roleName string) (*iam.Role, error)
- func (w *AwsWorker) GetSelfNodeGroup() (error, *eks.Nodegroup)
- func (w *AwsWorker) InstanceProfileExist(name string) (*iam.InstanceProfile, bool)
- func (w *AwsWorker) IsNodeGroupExist() bool
- func (w *AwsWorker) LaunchTemplateLicenseConfiguration(input []string) []*ec2.LaunchTemplateLicenseConfiguration
- func (w *AwsWorker) LaunchTemplateLicenseConfigurationRequest(input []string) []*ec2.LaunchTemplateLicenseConfigurationRequest
- func (w *AwsWorker) LaunchTemplatePlacement(availabilityZone, hostResourceGroupArn, tenancy string) *ec2.LaunchTemplatePlacement
- func (w *AwsWorker) LaunchTemplatePlacementRequest(availabilityZone, hostResourceGroupArn, tenancy string) *ec2.LaunchTemplatePlacementRequest
- func (w *AwsWorker) ListRolePolicies(name string) ([]*iam.AttachedPolicy, error)
- func (w *AwsWorker) NewTag(key, val, resource string) *autoscaling.Tag
- func (w *AwsWorker) RoleExist(name string) (*iam.Role, bool)
- func (w *AwsWorker) SecurityGroupByName(name, vpc string) (*ec2.SecurityGroup, error)
- func (w *AwsWorker) SetResumeProcesses(name string, processesToResume []string) error
- func (w *AwsWorker) SetSuspendProcesses(name string, processesToSuspend []string) error
- func (w *AwsWorker) SubnetByName(name, vpc string) (*ec2.Subnet, error)
- func (w *AwsWorker) TerminateScalingInstances(instanceIds []string) error
- func (w *AwsWorker) UpdateLaunchTemplateDefaultVersion(name, defaultVersion string) (*ec2.LaunchTemplate, error)
- func (w *AwsWorker) UpdateManagedNodeGroup(nodeGroup *eks.Nodegroup, desired int64, nodeLabels map[string]string) error
- func (w *AwsWorker) UpdateScalingGroup(input *autoscaling.UpdateAutoScalingGroupInput) error
- func (w *AwsWorker) UpdateScalingGroupTags(add []*autoscaling.Tag, remove []*autoscaling.Tag) error
- func (w *AwsWorker) UpdateWarmPool(asgName string, min, max int64) error
- func (w *AwsWorker) WithRetries(f func() bool) error
- type CloudResourceReconcileState
- type ManagedNodeGroupReconcileState
- type RetryLogger
Constants ¶
View Source
const ( CacheDefaultTTL time.Duration = 0 * time.Second DescribeWarmPoolTTL time.Duration = 60 * time.Second DescribeAutoScalingGroupsTTL time.Duration = 60 * time.Second DescribeLaunchConfigurationsTTL time.Duration = 60 * time.Second ListAttachedRolePoliciesTTL time.Duration = 60 * time.Second GetRoleTTL time.Duration = 60 * time.Second GetInstanceProfileTTL time.Duration = 60 * time.Second DescribeNodegroupTTL time.Duration = 60 * time.Second DescribeLifecycleHooksTTL time.Duration = 180 * time.Second DescribeClusterTTL time.Duration = 180 * time.Second DescribeSecurityGroupsTTL time.Duration = 180 * time.Second DescribeSubnetsTTL time.Duration = 180 * time.Second DescribeLaunchTemplatesTTL time.Duration = 60 * time.Second DescribeLaunchTemplateVersionsTTL time.Duration = 60 * time.Second DescribeInstanceTypesTTL time.Duration = 24 * time.Hour DescribeInstanceTypeOfferingTTL time.Duration = 1 * time.Hour GetParameterTTL time.Duration = 1 * time.Hour CacheBackgroundPruningInterval time.Duration = 1 * time.Hour CacheMaxItems int64 = 250 CacheItemsToPrune uint32 = 25 LaunchTemplateStrategyCapacityOptimized = "capacity-optimized" LaunchTemplateStrategyLowestPrice = "lowest-price" LaunchTemplateAllocationStrategy = "prioritized" LaunchTemplateLatestVersionKey = "$Latest" IAMPolicyPrefix = "arn:aws:iam::aws:policy" LaunchConfigurationNotFoundErrorMessage = "Launch configuration name not found" )
View Source
const ( EksOptimisedAmiPath = "/aws/service/eks/optimized-ami/%s/amazon-linux-2/%s/image_id" EksOptimisedAmazonLinux2Arm64 = "/aws/service/eks/optimized-ami/%s/amazon-linux-2-arm64/%s/image_id" EksOptimisedBottlerocket = "/aws/service/bottlerocket/aws-k8s-%s/x86_64/%s/image_id" EksOptimisedBottlerocketArm64 = "/aws/service/bottlerocket/aws-k8s-%s/arm64/%s/image_id" EksOptimisedWindowsCore = "/aws/service/ami-windows-%s/Windows_Server-2019-English-Core-EKS_Optimized-%s/image_id" EksOptimisedWindowsFull = "/aws/service/ami-windows-%s/Windows_Server-2019-English-Full-EKS_Optimized-%s/image_id" )
Variables ¶
View Source
var ( DefaultInstanceProfilePropagationDelay = time.Second * 35 DefaultWaiterDuration = time.Second * 5 DefaultWaiterRetries = 12 DefaultSuspendProcesses = []string{ "Launch", "Terminate", "AddToLoadBalancer", "AlarmNotification", "AZRebalance", "HealthCheck", "InstanceRefresh", "ReplaceUnhealthy", "ScheduledActions", } DefaultAutoscalingMetrics = []string{ "GroupMinSize", "GroupMaxSize", "GroupDesiredCapacity", "GroupInServiceInstances", "GroupPendingInstances", "GroupStandbyInstances", "GroupTerminatingInstances", "GroupInServiceCapacity", "GroupPendingCapacity", "GroupTerminatingCapacity", "GroupStandbyCapacity", "GroupTotalInstances", "GroupTotalCapacity", } ConfigurationAllowedVolumeTypes = []string{"gp2", "io1", "sc1", "st1"} TemplateAllowedVolumeTypes = []string{"gp2", "gp3", "io1", "io2", "sc1", "st1"} AllowedVolumeTypesWithProvisionedIOPS = []string{"io1", "io2", "gp3"} AllowedVolumeTypesWithProvisionedThroughput = []string{"gp3"} LifecycleHookTransitionLaunch = "autoscaling:EC2_INSTANCE_LAUNCHING" LifecycleHookTransitionTerminate = "autoscaling:EC2_INSTANCE_TERMINATING" )
View Source
var ( EksAmis = map[string]architectureMap{ "amazonlinux2": architectureMap{ "x86_64": EksOptimisedAmiPath, "arm64": EksOptimisedAmazonLinux2Arm64, }, "bottlerocket": architectureMap{ "x86_64": EksOptimisedBottlerocket, "arm64": EksOptimisedBottlerocketArm64, }, "windows": architectureMap{ "x86_64": EksOptimisedWindowsCore, }, } LatestIdentifiers = map[string]string{ "bottlerocket": "latest", "amazonlinux2": "recommended", "windows": "latest", } )
View Source
var DefaultRetryer = client.DefaultRetryer{ NumMaxRetries: 12, MinThrottleDelay: time.Second * 5, MaxThrottleDelay: time.Second * 60, MinRetryDelay: time.Second * 1, MaxRetryDelay: time.Second * 5, }
View Source
var FiniteDeleted = CloudResourceReconcileState{FiniteDeleted: true}
View Source
var FiniteState = CloudResourceReconcileState{FiniteState: true}
View Source
var ManagedNodeGroupFiniteState = ManagedNodeGroupReconcileState{FiniteState: true}
View Source
var ManagedNodeGroupOngoingState = ManagedNodeGroupReconcileState{OngoingState: true}
View Source
var ManagedNodeGroupUnrecoverableDeleteError = ManagedNodeGroupReconcileState{UnrecoverableDeleteError: true}
View Source
var ManagedNodeGroupUnrecoverableError = ManagedNodeGroupReconcileState{UnrecoverableError: true}
View Source
var OngoingState = CloudResourceReconcileState{OngoingState: true}
View Source
var UnrecoverableDeleteError = CloudResourceReconcileState{UnrecoverableDeleteError: true}
View Source
var UnrecoverableError = CloudResourceReconcileState{UnrecoverableError: true}
View Source
var UpdateRecoverableError = CloudResourceReconcileState{UpdateRecoverableError: true}
Functions ¶
func GetAwsAsgClient ¶
func GetAwsAsgClient(region string, cacheCfg *cache.Config, maxRetries int, collector *common.MetricsCollector) autoscalingiface.AutoScalingAPI
GetAwsAsgClient returns an ASG client
func GetAwsEc2Client ¶
func GetAwsEc2Client(region string, cacheCfg *cache.Config, maxRetries int, collector *common.MetricsCollector) ec2iface.EC2API
GetAwsEc2Client returns an EC2 client
func GetAwsEc2MetadataClient ¶
func GetAwsEc2MetadataClient() *ec2metadata.EC2Metadata
func GetAwsEksClient ¶
func GetAwsEksClient(region string, cacheCfg *cache.Config, maxRetries int, collector *common.MetricsCollector) eksiface.EKSAPI
GetAwsEksClient returns an EKS client
func GetAwsIamClient ¶
func GetAwsIamClient(region string, cacheCfg *cache.Config, maxRetries int, collector *common.MetricsCollector) iamiface.IAMAPI
GetAwsIAMClient returns an IAM client
func GetAwsSsmClient ¶
func GetInstanceArchitectures ¶
func GetInstanceArchitectures(typeInfo []*ec2.InstanceTypeInfo, instanceType string) []string
func GetInstanceFamily ¶
func GetInstanceGeneration ¶
func GetInstanceTypeArchitectures ¶
func GetInstanceTypeArchitectures(instanceTypes []*ec2.InstanceTypeInfo, instanceType string) []string
func GetInstanceTypeInfo ¶
func GetInstanceTypeInfo(instanceTypes []*ec2.InstanceTypeInfo, instanceType string) *ec2.InstanceTypeInfo
func GetInstanceTypeNetworkInfo ¶
func GetInstanceTypeNetworkInfo(instanceTypes []*ec2.InstanceTypeInfo, instanceType string) *ec2.NetworkInfo
func GetOfferingMemory ¶
func GetOfferingMemory(typeInfo []*ec2.InstanceTypeInfo, instanceType string) int64
func GetOfferingVCPU ¶
func GetOfferingVCPU(typeInfo []*ec2.InstanceTypeInfo, instanceType string) int64
func GetRegion ¶
func GetRegion(metadata *ec2metadata.EC2Metadata) (string, error)
func GetScalingConfigName ¶
func GetScalingConfigName(group *autoscaling.Group) string
func GetScalingGroupTagsByName ¶
func GetScalingGroupTagsByName(name string, client autoscalingiface.AutoScalingAPI) ([]*autoscaling.TagDescription, error)
func GetTagValueByKey ¶
func GetTagValueByKey(tags []*autoscaling.TagDescription, key string) string
func IsUsingLaunchConfiguration ¶
func IsUsingLaunchConfiguration(group *autoscaling.Group) bool
func IsUsingLaunchTemplate ¶
func IsUsingLaunchTemplate(group *autoscaling.Group) bool
func IsUsingMixedInstances ¶
func IsUsingMixedInstances(group *autoscaling.Group) bool
func IsUsingWarmPool ¶
func IsUsingWarmPool(group *autoscaling.Group) bool
Types ¶
type AwsWorker ¶
type AwsWorker struct { AsgClient autoscalingiface.AutoScalingAPI EksClient eksiface.EKSAPI IamClient iamiface.IAMAPI Ec2Client ec2iface.EC2API SsmClient ssmiface.SSMAPI Ec2Metadata *ec2metadata.EC2Metadata Parameters map[string]interface{} }
func (*AwsWorker) AttachDefaultPolicyToDefaultRole ¶
func (*AwsWorker) AttachManagedPolicies ¶
func (*AwsWorker) CreateDefaultFargateRole ¶
func (*AwsWorker) CreateFargateProfile ¶
func (*AwsWorker) CreateLaunchConfig ¶
func (w *AwsWorker) CreateLaunchConfig(input *autoscaling.CreateLaunchConfigurationInput) error
func (*AwsWorker) CreateLaunchTemplate ¶
func (w *AwsWorker) CreateLaunchTemplate(input *ec2.CreateLaunchTemplateInput) error
func (*AwsWorker) CreateLaunchTemplateVersion ¶
func (w *AwsWorker) CreateLaunchTemplateVersion(input *ec2.CreateLaunchTemplateVersionInput) (*ec2.LaunchTemplateVersion, error)
func (*AwsWorker) CreateLifecycleHook ¶
func (w *AwsWorker) CreateLifecycleHook(input *autoscaling.PutLifecycleHookInput) error
func (*AwsWorker) CreateManagedNodeGroup ¶
func (*AwsWorker) CreateScalingGroup ¶
func (w *AwsWorker) CreateScalingGroup(input *autoscaling.CreateAutoScalingGroupInput) error
func (*AwsWorker) CreateScalingGroupRole ¶
func (*AwsWorker) DeleteDefaultFargateRole ¶
func (*AwsWorker) DeleteFargateProfile ¶
func (*AwsWorker) DeleteLaunchConfig ¶
func (*AwsWorker) DeleteLaunchTemplate ¶
func (*AwsWorker) DeleteLaunchTemplateVersions ¶
func (*AwsWorker) DeleteLifecycleHook ¶
func (*AwsWorker) DeleteManagedNodeGroup ¶
func (*AwsWorker) DeleteScalingGroup ¶
func (*AwsWorker) DeleteScalingGroupRole ¶
func (*AwsWorker) DeleteWarmPool ¶
func (*AwsWorker) DeriveEksVpcID ¶
func (*AwsWorker) DescribeAutoscalingGroups ¶
func (w *AwsWorker) DescribeAutoscalingGroups() ([]*autoscaling.Group, error)
func (*AwsWorker) DescribeAutoscalingLaunchConfigs ¶
func (w *AwsWorker) DescribeAutoscalingLaunchConfigs() ([]*autoscaling.LaunchConfiguration, error)
func (*AwsWorker) DescribeEKSCluster ¶
func (*AwsWorker) DescribeFargateProfile ¶
func (w *AwsWorker) DescribeFargateProfile() (*eks.FargateProfile, error)
func (*AwsWorker) DescribeInstanceOfferings ¶
func (w *AwsWorker) DescribeInstanceOfferings() ([]*ec2.InstanceTypeOffering, error)
func (*AwsWorker) DescribeInstanceTypes ¶
func (w *AwsWorker) DescribeInstanceTypes() ([]*ec2.InstanceTypeInfo, error)
func (*AwsWorker) DescribeLaunchTemplateVersions ¶
func (w *AwsWorker) DescribeLaunchTemplateVersions(templateName string) ([]*ec2.LaunchTemplateVersion, error)
func (*AwsWorker) DescribeLaunchTemplates ¶
func (w *AwsWorker) DescribeLaunchTemplates() ([]*ec2.LaunchTemplate, error)
func (*AwsWorker) DescribeLifecycleHooks ¶
func (w *AwsWorker) DescribeLifecycleHooks(asgName string) ([]*autoscaling.LifecycleHook, error)
func (*AwsWorker) DescribeWarmPool ¶
func (w *AwsWorker) DescribeWarmPool(asgName string) (*autoscaling.DescribeWarmPoolOutput, error)
func (*AwsWorker) DetachDefaultPolicyFromDefaultRole ¶
func (*AwsWorker) DetachManagedPolicies ¶
func (*AwsWorker) DisableMetrics ¶
func (*AwsWorker) EnableMetrics ¶
func (*AwsWorker) GetAutoScalingBasicBlockDevice ¶
func (w *AwsWorker) GetAutoScalingBasicBlockDevice(name, volType, snapshot string, volSize, iops int64, throughput int64, delete, encrypt *bool) *autoscaling.BlockDeviceMapping
func (*AwsWorker) GetDNSClusterIP ¶
func (*AwsWorker) GetDefaultFargateRole ¶
func (*AwsWorker) GetEksLatestAmi ¶
func (*AwsWorker) GetEksSsmAmi ¶
func (*AwsWorker) GetLabelsUpdatePayload ¶
func (*AwsWorker) GetLaunchTemplateBlockDevice ¶
func (*AwsWorker) GetLaunchTemplateBlockDeviceRequest ¶
func (*AwsWorker) GetSelfNodeGroup ¶
TODO: Rename - GetNodeGroup
func (*AwsWorker) InstanceProfileExist ¶
func (w *AwsWorker) InstanceProfileExist(name string) (*iam.InstanceProfile, bool)
func (*AwsWorker) IsNodeGroupExist ¶
TODO: Move logic to provisioner
func (*AwsWorker) LaunchTemplateLicenseConfiguration ¶
func (w *AwsWorker) LaunchTemplateLicenseConfiguration(input []string) []*ec2.LaunchTemplateLicenseConfiguration
func (*AwsWorker) LaunchTemplateLicenseConfigurationRequest ¶
func (w *AwsWorker) LaunchTemplateLicenseConfigurationRequest(input []string) []*ec2.LaunchTemplateLicenseConfigurationRequest
func (*AwsWorker) LaunchTemplatePlacement ¶
func (w *AwsWorker) LaunchTemplatePlacement(availabilityZone, hostResourceGroupArn, tenancy string) *ec2.LaunchTemplatePlacement
func (*AwsWorker) LaunchTemplatePlacementRequest ¶
func (w *AwsWorker) LaunchTemplatePlacementRequest(availabilityZone, hostResourceGroupArn, tenancy string) *ec2.LaunchTemplatePlacementRequest
func (*AwsWorker) ListRolePolicies ¶
func (w *AwsWorker) ListRolePolicies(name string) ([]*iam.AttachedPolicy, error)
func (*AwsWorker) SecurityGroupByName ¶
func (w *AwsWorker) SecurityGroupByName(name, vpc string) (*ec2.SecurityGroup, error)
func (*AwsWorker) SetResumeProcesses ¶
func (*AwsWorker) SetSuspendProcesses ¶
func (*AwsWorker) SubnetByName ¶
func (*AwsWorker) TerminateScalingInstances ¶
func (*AwsWorker) UpdateLaunchTemplateDefaultVersion ¶
func (w *AwsWorker) UpdateLaunchTemplateDefaultVersion(name, defaultVersion string) (*ec2.LaunchTemplate, error)
func (*AwsWorker) UpdateManagedNodeGroup ¶
func (*AwsWorker) UpdateScalingGroup ¶
func (w *AwsWorker) UpdateScalingGroup(input *autoscaling.UpdateAutoScalingGroupInput) error
func (*AwsWorker) UpdateScalingGroupTags ¶
func (w *AwsWorker) UpdateScalingGroupTags(add []*autoscaling.Tag, remove []*autoscaling.Tag) error
func (*AwsWorker) UpdateWarmPool ¶
func (*AwsWorker) WithRetries ¶
type RetryLogger ¶
type RetryLogger struct { client.DefaultRetryer // contains filtered or unexported fields }
func NewRetryLogger ¶
func NewRetryLogger(maxRetries int, metrics *common.MetricsCollector) *RetryLogger
func (RetryLogger) RetryRules ¶
func (l RetryLogger) RetryRules(r *request.Request) time.Duration
Click to show internal directories.
Click to hide internal directories.