aws

package
v0.1.11 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 14, 2019 License: MIT Imports: 17 Imported by: 3

Documentation

Index

Constants

This section is empty.

Variables

View Source
var OptInNotRequiredRegions = [...]string{
	"eu-north-1",
	"ap-south-1",
	"eu-west-3",
	"eu-west-2",
	"eu-west-1",
	"ap-northeast-2",
	"ap-northeast-1",
	"sa-east-1",
	"ca-central-1",
	"ap-southeast-1",
	"ap-southeast-2",
	"eu-central-1",
	"us-east-1",
	"us-east-2",
	"us-west-1",
	"us-west-2",
}

OptInNotRequiredRegions contains all regions that are enabled by default on new AWS accounts Beginning in Spring 2019, AWS requires new regions to be explicitly enabled See https://aws.amazon.com/blogs/security/setting-permissions-to-enable-accounts-for-upcoming-aws-regions/

Functions

func DescribeDefaultSecurityGroups added in v0.1.8

func DescribeDefaultSecurityGroups(svc ec2iface.EC2API) ([]string, error)

func GetDefaultVpcId added in v0.1.8

func GetDefaultVpcId(vpc Vpc) (string, error)

func GetEc2ServiceClient added in v0.1.8

func GetEc2ServiceClient(region string) ec2iface.EC2API

func GetEnabledRegions added in v0.1.8

func GetEnabledRegions() ([]string, error)

Get all regions that are enabled (DescribeRegions excludes those not enabled by default)

func GetTargetRegions added in v0.1.11

func GetTargetRegions(enabledRegions []string, selectedRegions []string, excludedRegions []string) ([]string, error)

GetTargetRegions - Used enabled, selected and excluded regions to create a final list of valid regions

func IsNukeable added in v0.1.9

func IsNukeable(resourceType string, resourceTypes []string) bool

IsNukeable - Checks if we should nuke a resource or not

func IsValidResourceType added in v0.1.9

func IsValidResourceType(resourceType string, allResourceTypes []string) bool

IsValidResourceType - Checks if a resourceType is valid or not

func ListResourceTypes added in v0.1.9

func ListResourceTypes() []string

ListResourceTypes - Returns list of resources which can be passed to --resource-type

func NukeAllResources

func NukeAllResources(account *AwsAccountResources, regions []string) error

NukeAllResources - Nukes all aws resources

func NukeDefaultSecurityGroupRules added in v0.1.8

func NukeDefaultSecurityGroupRules(sgs []DefaultSecurityGroup) error

func NukeVpcs added in v0.1.8

func NukeVpcs(vpcs []Vpc) error

Types

type AMIs added in v0.0.4

type AMIs struct {
	ImageIds []string
}

AMIs - represents all user owned AMIs

func (AMIs) MaxBatchSize added in v0.1.2

func (image AMIs) MaxBatchSize() int

func (AMIs) Nuke added in v0.0.4

func (image AMIs) Nuke(session *session.Session, identifiers []string) error

Nuke - nuke 'em all!!!

func (AMIs) ResourceIdentifiers added in v0.0.4

func (image AMIs) ResourceIdentifiers() []string

ResourceIdentifiers - The AMI image ids

func (AMIs) ResourceName added in v0.0.4

func (image AMIs) ResourceName() string

ResourceName - the simple name of the aws resource

type ASGroups

type ASGroups struct {
	GroupNames []string
}

ASGroups - represents all auto scaling groups

func (ASGroups) MaxBatchSize added in v0.1.2

func (group ASGroups) MaxBatchSize() int

func (ASGroups) Nuke

func (group ASGroups) Nuke(session *session.Session, identifiers []string) error

Nuke - nuke 'em all!!!

func (ASGroups) ResourceIdentifiers

func (group ASGroups) ResourceIdentifiers() []string

ResourceIdentifiers - The group names of the auto scaling groups

func (ASGroups) ResourceName

func (group ASGroups) ResourceName() string

ResourceName - the simple name of the aws resource

type AwsAccountResources

type AwsAccountResources struct {
	Resources map[string]AwsRegionResource
}

func GetAllResources

func GetAllResources(targetRegions []string, excludeAfter time.Time, resourceTypes []string) (*AwsAccountResources, error)

GetAllResources - Lists all aws resources

type AwsRegionResource

type AwsRegionResource struct {
	Resources []AwsResources
}

type AwsResources

type AwsResources interface {
	ResourceName() string
	ResourceIdentifiers() []string
	MaxBatchSize() int
	Nuke(session *session.Session, identifiers []string) error
}

type DefaultSecurityGroup added in v0.1.8

type DefaultSecurityGroup struct {
	GroupName string
	GroupId   string
	Region    string
	// contains filtered or unexported fields
}

func GetDefaultSecurityGroups added in v0.1.8

func GetDefaultSecurityGroups(regions []string) ([]DefaultSecurityGroup, error)

type EBSVolumes

type EBSVolumes struct {
	VolumeIds []string
}

EBSVolumes - represents all ebs volumes

func (EBSVolumes) MaxBatchSize added in v0.1.2

func (volume EBSVolumes) MaxBatchSize() int

func (EBSVolumes) Nuke

func (volume EBSVolumes) Nuke(session *session.Session, identifiers []string) error

Nuke - nuke 'em all!!!

func (EBSVolumes) ResourceIdentifiers

func (volume EBSVolumes) ResourceIdentifiers() []string

ResourceIdentifiers - The volume ids of the ebs volumes

func (EBSVolumes) ResourceName

func (volume EBSVolumes) ResourceName() string

ResourceName - the simple name of the aws resource

type EC2Instances

type EC2Instances struct {
	InstanceIds []string
}

EC2Instances - represents all ec2 instances

func (EC2Instances) MaxBatchSize added in v0.1.2

func (instance EC2Instances) MaxBatchSize() int

func (EC2Instances) Nuke

func (instance EC2Instances) Nuke(session *session.Session, identifiers []string) error

Nuke - nuke 'em all!!!

func (EC2Instances) ResourceIdentifiers

func (instance EC2Instances) ResourceIdentifiers() []string

ResourceIdentifiers - The instance ids of the ec2 instances

func (EC2Instances) ResourceName

func (instance EC2Instances) ResourceName() string

ResourceName - the simple name of the aws resource

type ECSServices added in v0.1.4

type ECSServices struct {
	Services          []string
	ServiceClusterMap map[string]string
}

ECSServices - Represents all ECS services found in a region

func (ECSServices) MaxBatchSize added in v0.1.4

func (services ECSServices) MaxBatchSize() int

func (ECSServices) Nuke added in v0.1.4

func (services ECSServices) Nuke(awsSession *session.Session, identifiers []string) error

Nuke - nuke all ECS service resources

func (ECSServices) ResourceIdentifiers added in v0.1.4

func (services ECSServices) ResourceIdentifiers() []string

ResourceIdentifiers - The ARNs of the collected ECS services

func (ECSServices) ResourceName added in v0.1.4

func (services ECSServices) ResourceName() string

ResourceName - The simple name of the aws resource

type EIPAddresses added in v0.1.2

type EIPAddresses struct {
	AllocationIds []string
}

EBSVolumes - represents all ebs volumes

func (EIPAddresses) MaxBatchSize added in v0.1.2

func (address EIPAddresses) MaxBatchSize() int

func (EIPAddresses) Nuke added in v0.1.2

func (address EIPAddresses) Nuke(session *session.Session, identifiers []string) error

Nuke - nuke 'em all!!!

func (EIPAddresses) ResourceIdentifiers added in v0.1.2

func (address EIPAddresses) ResourceIdentifiers() []string

ResourceIdentifiers - The instance ids of the eip addresses

func (EIPAddresses) ResourceName added in v0.1.2

func (address EIPAddresses) ResourceName() string

ResourceName - the simple name of the aws resource

type EKSClusters added in v0.1.5

type EKSClusters struct {
	Clusters []string
}

EKSClusters - Represents all EKS clusters found in a region

func (EKSClusters) MaxBatchSize added in v0.1.5

func (clusters EKSClusters) MaxBatchSize() int

func (EKSClusters) Nuke added in v0.1.5

func (clusters EKSClusters) Nuke(awsSession *session.Session, identifiers []string) error

Nuke - nuke all EKS Cluster resources

func (EKSClusters) ResourceIdentifiers added in v0.1.5

func (clusters EKSClusters) ResourceIdentifiers() []string

ResourceIdentifiers - The Name of the collected EKS clusters

func (EKSClusters) ResourceName added in v0.1.5

func (clusters EKSClusters) ResourceName() string

ResourceName - The simple name of the aws resource

type ElbDeleteError

type ElbDeleteError struct{}

func (ElbDeleteError) Error

func (e ElbDeleteError) Error() string

type ImageAvailableError added in v0.1.2

type ImageAvailableError struct{}

func (ImageAvailableError) Error added in v0.1.2

func (e ImageAvailableError) Error() string

type LaunchConfigs added in v0.1.3

type LaunchConfigs struct {
	LaunchConfigurationNames []string
}

LaunchConfigs - represents all launch configurations

func (LaunchConfigs) MaxBatchSize added in v0.1.3

func (config LaunchConfigs) MaxBatchSize() int

func (LaunchConfigs) Nuke added in v0.1.3

func (config LaunchConfigs) Nuke(session *session.Session, identifiers []string) error

Nuke - nuke 'em all!!!

func (LaunchConfigs) ResourceIdentifiers added in v0.1.3

func (config LaunchConfigs) ResourceIdentifiers() []string

ResourceIdentifiers - The names of the launch configurations

func (LaunchConfigs) ResourceName added in v0.1.3

func (config LaunchConfigs) ResourceName() string

ResourceName - the simple name of the aws resource

type LoadBalancers

type LoadBalancers struct {
	Names []string
}

LoadBalancers - represents all load balancers

func (LoadBalancers) MaxBatchSize added in v0.1.2

func (balancer LoadBalancers) MaxBatchSize() int

func (LoadBalancers) Nuke

func (balancer LoadBalancers) Nuke(session *session.Session, identifiers []string) error

Nuke - nuke 'em all!!!

func (LoadBalancers) ResourceIdentifiers

func (balancer LoadBalancers) ResourceIdentifiers() []string

ResourceIdentifiers - The names of the load balancers

func (LoadBalancers) ResourceName

func (balancer LoadBalancers) ResourceName() string

ResourceName - the simple name of the aws resource

type LoadBalancersV2

type LoadBalancersV2 struct {
	Arns []string
}

LoadBalancersV2 - represents all load balancers

func (LoadBalancersV2) MaxBatchSize added in v0.1.2

func (balancer LoadBalancersV2) MaxBatchSize() int

func (LoadBalancersV2) Nuke

func (balancer LoadBalancersV2) Nuke(session *session.Session, identifiers []string) error

Nuke - nuke 'em all!!!

func (LoadBalancersV2) ResourceIdentifiers

func (balancer LoadBalancersV2) ResourceIdentifiers() []string

ResourceIdentifiers - The arns of the load balancers

func (LoadBalancersV2) ResourceName

func (balancer LoadBalancersV2) ResourceName() string

ResourceName - the simple name of the aws resource

type Snapshots added in v0.0.4

type Snapshots struct {
	SnapshotIds []string
}

Snapshots - represents all user owned Snapshots

func (Snapshots) MaxBatchSize added in v0.1.2

func (snapshot Snapshots) MaxBatchSize() int

func (Snapshots) Nuke added in v0.0.4

func (snapshot Snapshots) Nuke(session *session.Session, identifiers []string) error

Nuke - nuke 'em all!!!

func (Snapshots) ResourceIdentifiers added in v0.0.4

func (snapshot Snapshots) ResourceIdentifiers() []string

ResourceIdentifiers - The Snapshot snapshot ids

func (Snapshots) ResourceName added in v0.0.4

func (snapshot Snapshots) ResourceName() string

ResourceName - the simple name of the aws resource

type Vpc added in v0.1.8

type Vpc struct {
	Region string
	VpcId  string
	// contains filtered or unexported fields
}

func GetDefaultVpcs added in v0.1.8

func GetDefaultVpcs(vpcs []Vpc) ([]Vpc, error)

GetDefaultVpcs needs a slice of vpcs that already have service clients and regions assigned, either via NewVpcPerRegion() (as in the CLI) or manually (as in the mock tests)

func NewVpcPerRegion added in v0.1.8

func NewVpcPerRegion(regions []string) []Vpc

NewVpcPerRegion merely assigns a service client and region to a VPC object The CLI calls this, but the tests don't because the tests need to use a mocked service client.

Directories

Path Synopsis
Package mock_ec2iface is a generated GoMock package.
Package mock_ec2iface is a generated GoMock package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL