package
0.0.0-20170824060325-cf23810f2098
Repository: https://github.com/sttts/kubernetes.git
Documentation: pkg.go.dev
# Functions
DescribeInstanceGroup gets info about the specified instancegroup Exported so it can be used by the e2e tests, which don't want to instantiate a full cloudprovider.
Create a new CrossRequestRetryDelay.
Allocates device names according to scheme ba..bz, ca..cz it moves along the ring and always picks next device until device list is exhausted.
No description provided by the author
RecognizeRegion is called for each AWS region we know about.
RecognizeWellKnownRegions calls RecognizeRegion on each WellKnownRegion.
ResizeInstanceGroup sets the size of the specificed instancegroup Exported so it can be used by the e2e tests, which don't want to instantiate a full cloudprovider.
# Constants
DefaultMaxEBSVolumes is the limit for volumes attached to an instance.
DefaultVolumeType specifies which storage to use for newly created Volumes TODO: Remove when user/admin can configure volume types and thus we don't need hardcoded defaults.
MaxReadThenCreateRetries sets the maximum number of attempts we will make when we read to see if something exists and then try to create it if we didn't find it.
AWS provisioning limits.
AWS provisioning limits.
ProviderName is the name of this cloud provider.
No description provided by the author
ResourceLifecycleOwned is the value we use when tagging resources to indicate that the resource is considered owned and managed by the cluster, and in particular that the lifecycle is tied to the lifecycle of the cluster.
ResourceLifecycleShared is the value we use when tagging resources to indicate that the resource is shared between multiple clusters, and should not be destroyed if the cluster is destroyed.
ServiceAnnotationLoadBalancerAccessLogEmitInterval is the annotation used to specify access log emit interval.
ServiceAnnotationLoadBalancerAccessLogEnabled is the annotation used on the service to enable or disable access logs.
ServiceAnnotationLoadBalancerAccessLogS3BucketName is the annotation used to specify access log s3 bucket name.
ServiceAnnotationLoadBalancerAccessLogS3BucketPrefix is the annotation used to specify access log s3 bucket prefix.
ServiceAnnotationLoadBalancerAdditionalTags is the annotation used on the service to specify a comma-separated list of key-value pairs which will be recorded as additional tags in the ELB.
ServiceAnnotationLoadBalancerBEProtocol is the annotation used on the service to specify the protocol spoken by the backend (pod) behind a listener.
ServiceAnnotationLoadBalancerCertificate is the annotation used on the service to request a secure listener.
ServiceAnnotationLoadBalancerConnectionDrainingEnabled is the annnotation used on the service to enable or disable connection draining.
ServiceAnnotationLoadBalancerConnectionDrainingTimeout is the annotation used on the service to specify a connection draining timeout.
ServiceAnnotationLoadBalancerConnectionIdleTimeout is the annotation used on the service to specify the idle connection timeout.
ServiceAnnotationLoadBalancerCrossZoneLoadBalancingEnabled is the annotation used on the service to enable or disable cross-zone load balancing.
ServiceAnnotationLoadBalancerExtraSecurityGroups is the annotation used one the service to specify additional security groups to be added to ELB created.
ServiceAnnotationLoadBalancerInternal is the annotation used on the service to indicate that we want an internal ELB.
ServiceAnnotationLoadBalancerProxyProtocol is the annotation used on the service to enable the proxy protocol on an ELB.
ServiceAnnotationLoadBalancerSSLPorts is the annotation used on the service to specify a comma-separated list of ports that will use SSL/HTTPS listeners.
TagNameKubernetesClusterLegacy is the legacy tag name we use to differentiate multiple logically independent clusters running in the same AZ.
TagNameKubernetesClusterPrefix is the tag name we use to differentiate multiple logically independent clusters running in the same AZ.
TagNameKubernetesService is the tag name we use to differentiate multiple services.
TagNameSubnetInternalELB is the tag name used on a subnet to designate that it should be used for internal ELBs.
TagNameSubnetPublicELB is the tag name used on a subnet to designate that it should be used for internet ELBs.
General Purpose SSD.
Provisioned IOPS SSD.
Cold HDD (sc1).
Throughput Optimized HDD.
# Variables
WellKnownRegions is the complete list of regions known to the AWS cloudprovider and credentialprovider.
# Structs
Backoff manages a backoff that varies based on the recently observed failures.
Cloud is an implementation of Interface, LoadBalancer and Instances for Amazon Web Services.
CloudConfig wraps the settings for the AWS cloud provider.
CrossRequestRetryDelay inserts delays before AWS calls, when we are observing RequestLimitExceeded errors Note that we share a CrossRequestRetryDelay across multiple AWS requests; this is a process-wide back-off, whereas the aws-sdk-go implements a per-request exponential backoff/retry.
VolumeOptions specifies capacity and tags for a volume.
# Interfaces
ASG is a simple pass-through of the Autoscaling client interface, which allows for testing.
On AWS, we should assign new (not yet used) device names to attached volumes.
EC2 is an abstraction over AWS', to allow mocking/other implementations Note that the DescribeX functions return a list, so callers don't need to deal with paging TODO: Should we rename this to AWS (EBS & ELB are not technically part of EC2).
EC2Metadata is an abstraction over the AWS metadata service.
ELB is a simple pass-through of AWS' ELB client interface, which allows for testing.
InstanceGroupInfo is returned by InstanceGroups.Describe, and exposes information about the group.
InstanceGroups is an interface for managing cloud-managed instance groups / autoscaling instance groups TODO: Allow other clouds to implement this.
Services is an abstraction over AWS, to allow mocking/other implementations.
Volumes is an interface for managing cloud-provisioned volumes TODO: Allow other clouds to implement this.
# Type aliases
ExistingDevices is a map of assigned devices.
No description provided by the author
KubernetesVolumeID represents the id for a volume in the kubernetes API; a few forms are recognized: * aws://<zone>/<awsVolumeId> * aws:///<awsVolumeId> * <awsVolumeId>.
No description provided by the author