Documentation
¶
Index ¶
Constants ¶
View Source
const AWSRegionsJSON = `` /* 789-byte string literal not displayed */
View Source
const ProviderName = "aws"
Variables ¶
View Source
var AWSAnnotationPrefix = "aws." + cluster.AnnotationPrefix
Used in k8s annotations and labels
View Source
var AWSRegions map[string]AWSRegion
View Source
var ErrorNotFound = fmt.Errorf("Instance is not found")
View Source
var NameKey = AWSAnnotationPrefix + "name"
Node name as a tag on aws instance
View Source
var StateMap = map[string]cluster.InstancePhase{ ec2.InstanceStateNamePending: cluster.InstancePending, ec2.InstanceStateNameRunning: cluster.InstanceRunning, ec2.InstanceStateNameShuttingDown: cluster.InstanceFailed, ec2.InstanceStateNameTerminated: cluster.InstanceFailed, ec2.InstanceStateNameStopping: cluster.InstanceFailed, ec2.InstanceStateNameStopped: cluster.InstanceFailed, }
Functions ¶
This section is empty.
Types ¶
type AWSNetwork ¶
type AWSNetworkOption ¶
type CloudConfig ¶
type CloudConfig struct {
Global struct {
// TODO: Is there any use for this? We can get it from the instance metadata service
// Maybe if we're not running on AWS, e.g. bootstrap; for now it is not very useful
Zone string
KubernetesClusterTag string
//The aws provider creates an inbound rule per load balancer on the node security
//group. However, this can run into the AWS security group rule limit of 50 if
//many LoadBalancers are created.
//
//This flag disables the automatic ingress creation. It requires that the user
//has setup a rule that allows inbound traffic on kubelet ports from the
//local VPC subnet (so load balancers can access it). E.g. 10.82.0.0/16 30000-32000.
DisableSecurityGroupIngress bool
//During the instantiation of an new AWS cloud provider, the detected region
//is validated against a known set of regions.
//
//In a non-standard, AWS like environment (e.g. Eucalyptus), this check may
//be undesirable. Setting this to true will disable the check and provide
//a warning that the check was skipped. Please note that this is an
//experimental feature and work-in-progress for the moment. If you find
//yourself in an non-AWS cloud and open an issue, please indicate that in the
//issue body.
DisableStrictZoneCheck bool
}
}
type EC2 ¶
type EC2 interface {
DescribeImages(input *ec2.DescribeImagesInput) (*ec2.DescribeImagesOutput, error)
RunInstances(input *ec2.RunInstancesInput) (*ec2.Reservation, error)
WaitUntilInstanceTerminated(input *ec2.DescribeInstancesInput) error
ModifyInstanceAttribute(input *ec2.ModifyInstanceAttributeInput) (*ec2.ModifyInstanceAttributeOutput, error)
DescribeInstances(request *ec2.DescribeInstancesInput) ([]*ec2.Instance, error)
TerminateInstances(input *ec2.TerminateInstancesInput) (*ec2.TerminateInstancesOutput, error)
CreateVpc(input *ec2.CreateVpcInput) (*ec2.CreateVpcOutput, error)
ModifyVpcAttribute(input *ec2.ModifyVpcAttributeInput) (*ec2.ModifyVpcAttributeOutput, error)
DescribeSecurityGroups(input *ec2.DescribeSecurityGroupsInput) (*ec2.DescribeSecurityGroupsOutput, error)
AuthorizeSecurityGroupIngress(input *ec2.AuthorizeSecurityGroupIngressInput) (*ec2.AuthorizeSecurityGroupIngressOutput, error)
CreateInternetGateway(input *ec2.CreateInternetGatewayInput) (*ec2.CreateInternetGatewayOutput, error)
AttachInternetGateway(input *ec2.AttachInternetGatewayInput) (*ec2.AttachInternetGatewayOutput, error)
DescribeRouteTables(input *ec2.DescribeRouteTablesInput) (*ec2.DescribeRouteTablesOutput, error)
CreateRoute(input *ec2.CreateRouteInput) (*ec2.CreateRouteOutput, error)
CreateSubnet(input *ec2.CreateSubnetInput) (*ec2.CreateSubnetOutput, error)
ModifySubnetAttribute(input *ec2.ModifySubnetAttributeInput) (*ec2.ModifySubnetAttributeOutput, error)
DeleteVpc(input *ec2.DeleteVpcInput) (*ec2.DeleteVpcOutput, error)
DeleteInternetGateway(input *ec2.DeleteInternetGatewayInput) (*ec2.DeleteInternetGatewayOutput, error)
DetachInternetGateway(input *ec2.DetachInternetGatewayInput) (*ec2.DetachInternetGatewayOutput, error)
DeleteSubnet(input *ec2.DeleteSubnetInput) (*ec2.DeleteSubnetOutput, error)
CreateDhcpOptions(input *ec2.CreateDhcpOptionsInput) (*ec2.CreateDhcpOptionsOutput, error)
AssociateDhcpOptions(input *ec2.AssociateDhcpOptionsInput) (*ec2.AssociateDhcpOptionsOutput, error)
CreateNetworkInterface(input *ec2.CreateNetworkInterfaceInput) (*ec2.CreateNetworkInterfaceOutput, error)
DeleteNetworkInterface(input *ec2.DeleteNetworkInterfaceInput) (*ec2.DeleteNetworkInterfaceOutput, error)
AssociateAddress(input *ec2.AssociateAddressInput) (*ec2.AssociateAddressOutput, error)
AllocateAddress(input *ec2.AllocateAddressInput) (*ec2.AllocateAddressOutput, error)
ReleaseAddress(input *ec2.ReleaseAddressInput) (*ec2.ReleaseAddressOutput, error)
CreateTags(input *ec2.CreateTagsInput) (*ec2.CreateTagsOutput, error)
}
type EC2Metadata ¶
type IAM ¶
type IAM interface {
GetInstanceProfile(input *iam.GetInstanceProfileInput) (*iam.GetInstanceProfileOutput, error)
}
type InstanceOptions ¶
type S3 ¶
type S3 interface {
PutObject(input *s3.PutObjectInput) (*s3.PutObjectOutput, error)
}
Click to show internal directories.
Click to hide internal directories.