Documentation ¶
Index ¶
- Constants
- type AWSConfig
- type AWSProvider
- func (p *AWSProvider) ApplyChanges(changes *plan.Changes) error
- func (p *AWSProvider) DescribeInstances(request *ec2.DescribeInstancesInput) ([]*ec2.Instance, error)
- func (p *AWSProvider) DescribeSecurityGroups(request *ec2.DescribeSecurityGroupsInput) ([]*ec2.SecurityGroup, error)
- func (p *AWSProvider) GetClusterName() (string, error)
- func (p *AWSProvider) Rules() ([]*inbound.InboundRules, error)
- type EC2API
- type Provider
Constants ¶
View Source
const ResourceLifecycleOwned = "owned"
View Source
const TagNameExternalIPsPrefix = "external-ips/"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AWSProvider ¶
type AWSProvider struct {
// contains filtered or unexported fields
}
AWSProvider is an implementation of Provider for AWS EC2.
func NewAWSProvider ¶
func NewAWSProvider(awsConfig AWSConfig, kubeClient kubernetes.Interface) (*AWSProvider, error)
NewAWSProvider initializes a new AWS EC2 based Provider.
func (*AWSProvider) ApplyChanges ¶
func (p *AWSProvider) ApplyChanges(changes *plan.Changes) error
func (*AWSProvider) DescribeInstances ¶
func (p *AWSProvider) DescribeInstances(request *ec2.DescribeInstancesInput) ([]*ec2.Instance, error)
Implementation of EC2.Instances
func (*AWSProvider) DescribeSecurityGroups ¶
func (p *AWSProvider) DescribeSecurityGroups(request *ec2.DescribeSecurityGroupsInput) ([]*ec2.SecurityGroup, error)
Implements EC2.DescribeSecurityGroups
func (*AWSProvider) GetClusterName ¶
func (p *AWSProvider) GetClusterName() (string, error)
func (*AWSProvider) Rules ¶
func (p *AWSProvider) Rules() ([]*inbound.InboundRules, error)
type EC2API ¶
type EC2API interface { DescribeInstances(input *ec2.DescribeInstancesInput) (*ec2.DescribeInstancesOutput, error) DescribeSecurityGroups(input *ec2.DescribeSecurityGroupsInput) (*ec2.DescribeSecurityGroupsOutput, error) CreateSecurityGroup(input *ec2.CreateSecurityGroupInput) (*ec2.CreateSecurityGroupOutput, error) AuthorizeSecurityGroupIngress(input *ec2.AuthorizeSecurityGroupIngressInput) (*ec2.AuthorizeSecurityGroupIngressOutput, error) RevokeSecurityGroupIngress(input *ec2.RevokeSecurityGroupIngressInput) (*ec2.RevokeSecurityGroupIngressOutput, error) DeleteSecurityGroup(input *ec2.DeleteSecurityGroupInput) (*ec2.DeleteSecurityGroupOutput, error) CreateTags(input *ec2.CreateTagsInput) (*ec2.CreateTagsOutput, error) DescribeInstanceAttribute(input *ec2.DescribeInstanceAttributeInput) (*ec2.DescribeInstanceAttributeOutput, error) ModifyInstanceAttribute(input *ec2.ModifyInstanceAttributeInput) (*ec2.ModifyInstanceAttributeOutput, error) }
EC2API is the subset of the AWS EC2 API that we actually use. Add methods as required. Signatures must match exactly.
Click to show internal directories.
Click to hide internal directories.