Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type EC2Client ¶
type EC2Client interface {
DescribeVpcs(ctx context.Context, params *ec2.DescribeVpcsInput, opts ...func(*ec2.Options)) (*ec2.DescribeVpcsOutput, error)
DescribeSubnets(ctx context.Context, params *ec2.DescribeSubnetsInput, opts ...func(*ec2.Options)) (*ec2.DescribeSubnetsOutput, error)
DescribeRouteTables(ctx context.Context, params *ec2.DescribeRouteTablesInput, opts ...func(*ec2.Options)) (*ec2.DescribeRouteTablesOutput, error)
}
EC2Client is a minimal interface for the EC2 client with only the methods used by the CLI.
type ElastiCacheClient ¶
type ElastiCacheClient interface {
DescribeCacheClusters(ctx context.Context, params *elasticache.DescribeCacheClustersInput, optFns ...func(*elasticache.Options)) (*elasticache.DescribeCacheClustersOutput, error)
}
ElastiCacheClient is a minimal interface for the ElastiCache client with only the methods used by the CLI.
type ElastiCacheCluster ¶
type ElastiCacheCluster struct {
// Arn is the ARN of the ElastiCache cluster, such as `arn:aws:elasticache:ca-central-1:123:cluster:foo`.
Arn string
// Name is the human-readable name of the ElastiCache cluster.
Name string
/*// Nodes is a list of nodes in the ElastiCache cluster.
Nodes []ElastiCacheNode*/
// PrimaryEndpoint is the primary endpoint for the ElastiCache cluster.
// If the cluster is not configured as a cluster, this is the endpoint for the single node.
PrimaryEndpoint string
}
ElastiCacheCluster represents an AWS ElastiCache cluster and its nodes.
func (ElastiCacheCluster) String ¶
func (e ElastiCacheCluster) String() string
type ElastiCacheNode ¶
type ElastiCacheNode struct {
// Name is the human-readable name of the node.
Name string
// Endpoint is the endpoint of the node.
Endpoint string
}
ElastiCacheNode represents a node in an AWS ElastiCache cluster.
type ResourceLister ¶
type ResourceLister interface {
// ListVpcs returns a list of VPCs within the region configured in the client.
ListVpcs(ctx context.Context) ([]Vpc, error)
// ListSubnets returns a list of all Subnets within the region configured in the client, regardless of VPC.
ListSubnets(ctx context.Context) ([]Subnet, error)
// ListElastiCacheClusters returns a list of all ElastiCache clusters within the region configured in the client.
ListElastiCacheClusters(ctx context.Context) ([]ElastiCacheCluster, error)
}
ResourceLister allows retrieving a list of AWS resources.
func NewAwsResourceLister ¶
func NewAwsResourceLister(client EC2Client, elasticacheClient ElastiCacheClient) ResourceLister
NewAwsResourceLister creates a new ResourceLister that uses the provided EC2 client.
type SsmClient ¶
type SsmClient interface {
GetParameter(ctx context.Context, params *ssm.GetParameterInput, optFns ...func(*ssm.Options)) (*ssm.GetParameterOutput, error)
StartSession(ctx context.Context, params *ssm.StartSessionInput, optFns ...func(*ssm.Options)) (*ssm.StartSessionOutput, error)
TerminateSession(ctx context.Context, params *ssm.TerminateSessionInput, optFns ...func(*ssm.Options)) (*ssm.TerminateSessionOutput, error)
}
SsmClient is a minimal interface for the AWS SSM client with only the methods used by the CLI.
type Subnet ¶
type Subnet struct {
// ID is the AWS representation of the Subnet ID (not the ARN).
Id string
// Name is a human-readable name for the Subnet.
Name string
// Public indicates whether the subnet is public or private.
Public bool
// VpcId is the ID of the VPC that the subnet is associated with.
VpcId string
}
Subnet provides some basic information about a Subnet.