Documentation
¶
Index ¶
- Constants
- type Provider
- func (p *Provider) CleanSSH() error
- func (p *Provider) ConfigSSH() error
- func (p *Provider) Create(names []string, opts vm.CreateOpts) error
- func (p *Provider) Delete(vms vm.List) error
- func (p *Provider) Extend(vms vm.List, lifetime time.Duration) error
- func (p *Provider) FindActiveAccount() (string, error)
- func (p *Provider) Flags() vm.ProviderFlags
- func (p *Provider) List() (vm.List, error)
- func (p *Provider) Name() string
Constants ¶
const ProviderName = "aws"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Provider ¶
type Provider struct {
// contains filtered or unexported fields
}
Provider implements the vm.Provider interface for AWS.
func (*Provider) CleanSSH ¶
CleanSSH is part of vm.Provider. This implementation is a no-op, since we depend on the user's local identity file.
func (*Provider) ConfigSSH ¶
ConfigSSH ensures that for each region we're operating in, we have a <user>-<hash> keypair where <hash> is a hash of the public key. We use a hash since a user probably has multiple machines they're running roachprod on and these machines (ought to) have separate ssh keypairs. If the remote keypair doesn't exist, we'll upload the user's ~/.ssh/id_rsa.pub file or ask them to generate one.
func (*Provider) Create ¶
func (p *Provider) Create(names []string, opts vm.CreateOpts) error
Create is part of the vm.Provider interface.
func (*Provider) Delete ¶
Delete is part of vm.Provider. This will delete all instances in a single AWS command.
func (*Provider) Extend ¶
Extend is part of the vm.Provider interface. This will update the Lifetime tag on the instances.
func (*Provider) FindActiveAccount ¶
FindActiveAccount is part of the vm.Provider interface. This queries the AWS command for the current IAM user.
func (*Provider) Flags ¶
func (p *Provider) Flags() vm.ProviderFlags
Flags is part of the vm.Provider interface.