# Functions
Contains checks if the element is present in the list.
Endpoint builder for outscale.
NewCrossRequestRetryDelay creates a new CrossRequestRetryDelay.
NewFakeAWSServices creates a new FakeAWSServices.
NewIPRulesSet creates a new IPRulesSet.
NewIPRulesSetFromAWS creates a new IPRulesSet.
NewMetadata create a new metadata service.
NewMetadataService returns a new MetadataServiceImplementation.
No description provided by the author
NewSession create a new session.
SetupMetadataResolver resolver for osc metadata service.
SetupServiceResolver resolver for osc service.
# Constants
DefaultSgOwnerID default SG Id used when creating LB Public Cloud.
DefaultSrcSgName default SG Name used when creating LB Public Cloud.
LbNameMaxLength the load balancer name max length value.
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.
NLBClientRuleDescription is the comment used on a security group rule to indicate that it is used for client traffic.
NLBHealthCheckRuleDescription is the comment used on a security group rule to indicate that it is used for health checks.
NLBMtuDiscoveryRuleDescription is the comment used on a security group rule to indicate that it is used for mtu discovery.
ProviderName is the name of this cloud provider.
ProxyProtocolPolicyName is the tag named used for the proxy protocol policy.
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 on the service to specify additional security groups to be added to ELB created.
ServiceAnnotationLoadBalancerHCHealthyThreshold is the annotation used on the service to specify the number of successive successful health checks required for a backend to be considered healthy for traffic.
ServiceAnnotationLoadBalancerHCInterval is the annotation used on the service to specify, in seconds, the interval between health checks.
ServiceAnnotationLoadBalancerHCTimeout is the annotation used on the service to specify, in seconds, how long to wait before marking a health check as failed.
ServiceAnnotationLoadBalancerHCUnhealthyThreshold is the annotation used on the service to specify the number of unsuccessful health checks required for a backend to be considered unhealthy for traffic.
ServiceAnnotationLoadBalancerInternal is the annotation used on the service to indicate that we want an internal ELB.
ServiceAnnotationLoadBalancerName is the annotation used on the service to specify, the load balancer name max length is 32 else it will be truncated.
ServiceAnnotationLoadBalancerNameLength is the annotation used on the service to specify, the load balancer name length max value is 32.
ServiceAnnotationLoadBalancerProxyProtocol is the annotation used on the service to enable the proxy protocol on an ELB.
ServiceAnnotationLoadBalancerSecurityGroups is the annotation used on the service to specify the security groups to be added to ELB created.
ServiceAnnotationLoadBalancerSSLNegotiationPolicy is the annotation used on the service to specify a SSL negotiation settings for the HTTPS/SSL listeners of your load balancer.
ServiceAnnotationLoadBalancerSSLPorts is the annotation used on the service to specify a comma-separated list of ports that will use SSL/HTTPS listeners.
ServiceAnnotationLoadBalancerSubnetID is the annotation used on the service to specify, the subnet in which to create the load balancer.
SSLNegotiationPolicyNameFormat is a format string used for the SSL negotiation policy tag name.
TagNameClusterNode logically independent clusters running in the same AZ.
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.
TagNameMainSG The main sg Tag The tag key = OscK8sMainSG/clusterId The tag value = True.
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.
# 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.
FakeComputeImpl is an implementation of the FakeEC2 interface used for testing.
FakeELB is a fake ELB client used for testing.
FakeMetadata is a fake EC2 metadata service client used for testing.
FakeOscServices is an fake AWS session used for testing.
Metadata represents OSC metadata data.
VM provide Virtual Machine representation.
# Interfaces
Compute provice abstraction to IaaS calls.
EC2Metadata is an abstraction over the AWS metadata service.
FakeCompute is a fake Compute client used for testing.
LoadBalancer is a simple pass-through of Outscale' LoadBalancer client interface, which allows for testing.
MetadataService represents AWS metadata service.
Services providers interface to Compute, LoadBalancing, etc.
# Type aliases
InstanceID represents the ID of the instance in the AWS API, e.g.
IPRulesSet maps IP strings of strings to OSC IpPermissions.
KubernetesInstanceID represents the id for an instance in the kubernetes API; the following form - aws:///<zone>/<awsInstanceId> - aws:////<awsInstanceId> - <awsInstanceId>.
ResourceLifecycle is the cluster lifecycle state used in tagging.