aws

package
v0.16.0 Latest Latest
Warning

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

Go to latest
Published: Jul 21, 2022 License: MIT Imports: 47 Imported by: 3

Documentation

Index

Constants

View Source
const AwsResourceExclusionTagKey = "cloud-nuke-excluded"
View Source
const (
	GlobalRegion string = "global"
)

Variables

View Source
var GovCloudRegions = []string{
	"us-gov-east-1",
	"us-gov-west-1",
}

GovCloudRegions contains all of the U.S. GovCloud regions. In accounts with GovCloud enabled, these are the only available regions.

View Source
var OptInNotRequiredRegions = []string{
	"eu-north-1",
	"ap-south-1",
	"eu-west-3",
	"eu-west-2",
	"eu-west-1",
	"ap-northeast-3",
	"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 ExtractResourcesForPrinting added in v0.11.7

func ExtractResourcesForPrinting(account *AwsAccountResources) []string

ExtractResourcesForPrinting is a convenience method that converts the nested structure of AwsAccountResources into a flat slice of resource identifiers, well-suited for printing line by line

func GetDefaultVpcId added in v0.1.8

func GetDefaultVpcId(vpc Vpc) (string, error)

func GetEC2ResourceNameTagValue added in v0.11.2

func GetEC2ResourceNameTagValue(tags []*ec2.Tag) (string, error)

Given an slice of tags, return the value of the Name tag

func GetEc2ServiceClient added in v0.1.8

func GetEc2ServiceClient(region string) ec2iface.EC2API

func GetEnabledRegions added in v0.1.8

func GetEnabledRegions() ([]string, error)

GetEnabledRegions - 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 HandleResourceTypeSelections added in v0.11.7

func HandleResourceTypeSelections(
	includeResourceTypes, excludeResourceTypes []string,
) ([]string, error)

HandleResourceTypeSelections accepts a slice of target resourceTypes and a slice of resourceTypes to exclude. It filters any excluded or invalid types from target resourceTypes then returns the filtered slice

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 ACMPCA added in v0.5.0

type ACMPCA struct {
	ARNs []string
}

ACMPA - represents all ACMPA

func (ACMPCA) MaxBatchSize added in v0.5.0

func (ca ACMPCA) MaxBatchSize() int

func (ACMPCA) Nuke added in v0.5.0

func (ca ACMPCA) Nuke(session *session.Session, arns []string) error

Nuke - nuke 'em all!!!

func (ACMPCA) ResourceIdentifiers added in v0.5.0

func (ca ACMPCA) ResourceIdentifiers() []string

ResourceIdentifiers - The volume ids of the ebs volumes

func (ACMPCA) ResourceName added in v0.5.0

func (ca ACMPCA) ResourceName() string

ResourceName - the simple name of the aws resource

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 AccessAnalyzer added in v0.4.0

type AccessAnalyzer struct {
	AnalyzerNames []string
}

AccessAnalyzer - represents all AWS secrets manager secrets that should be deleted.

func (AccessAnalyzer) MaxBatchSize added in v0.4.0

func (analyzer AccessAnalyzer) MaxBatchSize() int

func (AccessAnalyzer) Nuke added in v0.4.0

func (analyzer AccessAnalyzer) Nuke(session *session.Session, identifiers []string) error

Nuke - nuke 'em all!!!

func (AccessAnalyzer) ResourceIdentifiers added in v0.4.0

func (analyzer AccessAnalyzer) ResourceIdentifiers() []string

ResourceIdentifiers - The instance ids of the ec2 instances

func (AccessAnalyzer) ResourceName added in v0.4.0

func (analyzer AccessAnalyzer) 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, configObj config.Config) (*AwsAccountResources, error)

GetAllResources - Lists all aws resources

func InspectResources added in v0.11.7

func InspectResources(q *Query) (*AwsAccountResources, error)

func (*AwsAccountResources) GetRegion added in v0.11.7

func (a *AwsAccountResources) GetRegion(region string) AwsRegionResource

type AwsRegionResource

type AwsRegionResource struct {
	Resources []AwsResources
}

func (AwsRegionResource) CountOfResourceType added in v0.11.7

func (arr AwsRegionResource) CountOfResourceType(resourceType string) int

CountOfResourceType is a convenience method that returns the number of the supplied resource type found in the AwsRegionResource

func (AwsRegionResource) IdentifiersForResourceType added in v0.11.7

func (arr AwsRegionResource) IdentifiersForResourceType(resourceType string) []string

IdentifiersForResourceType is a convenience method that returns the list of resource identifiers for a given resource type, if available

func (AwsRegionResource) MapResourceNameToIdentifiers added in v0.11.7

func (arr AwsRegionResource) MapResourceNameToIdentifiers() map[string][]string

MapResourceNameToIdentifiers converts a slice of Resources to a map of resource types to their found identifiers For example: ["ec2"] = ["i-0b22a22eec53b9321", "i-0e22a22yec53b9456"]

func (AwsRegionResource) ResourceTypePresent added in v0.11.7

func (arr AwsRegionResource) ResourceTypePresent(resourceType string) bool

ResourceTypePresent is a convenience method that returns true, if the given resource is found in the AwsRegionResource, or false if it is not

type AwsResources

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

type CloudWatchDashboards added in v0.6.0

type CloudWatchDashboards struct {
	DashboardNames []string
}

CloudWatchDashboards - represents all CloudWatch Dashboards that should be deleted.

func (CloudWatchDashboards) MaxBatchSize added in v0.6.0

func (cwdb CloudWatchDashboards) MaxBatchSize() int

func (CloudWatchDashboards) Nuke added in v0.6.0

func (cwdb CloudWatchDashboards) Nuke(session *session.Session, identifiers []string) error

Nuke - nuke 'em all!!!

func (CloudWatchDashboards) ResourceIdentifiers added in v0.6.0

func (cwdb CloudWatchDashboards) ResourceIdentifiers() []string

ResourceIdentifiers - The instance ids of the ec2 instances

func (CloudWatchDashboards) ResourceName added in v0.6.0

func (cwdb CloudWatchDashboards) ResourceName() string

ResourceName - the simple name of the aws resource

type CloudWatchLogGroups added in v0.11.0

type CloudWatchLogGroups struct {
	Names []string
}

CloudWatchLogGroup - represents all ec2 instances

func (CloudWatchLogGroups) MaxBatchSize added in v0.11.0

func (r CloudWatchLogGroups) MaxBatchSize() int

func (CloudWatchLogGroups) Nuke added in v0.11.0

func (r CloudWatchLogGroups) Nuke(session *session.Session, identifiers []string) error

Nuke - nuke 'em all!!!

func (CloudWatchLogGroups) ResourceIdentifiers added in v0.11.0

func (r CloudWatchLogGroups) ResourceIdentifiers() []string

ResourceIdentifiers - The instance ids of the ec2 instances

func (CloudWatchLogGroups) ResourceName added in v0.11.0

func (r CloudWatchLogGroups) ResourceName() string

ResourceName - the simple name of the aws resource

type CouldNotDetermineEnabledRegionsError added in v0.11.7

type CouldNotDetermineEnabledRegionsError struct {
	Underlying error
}

func (CouldNotDetermineEnabledRegionsError) Error added in v0.11.7

type CouldNotSelectRegionError added in v0.11.7

type CouldNotSelectRegionError struct {
	Underlying error
}

func (CouldNotSelectRegionError) Error added in v0.11.7

func (err CouldNotSelectRegionError) Error() string

type DBClusters added in v0.1.14

type DBClusters struct {
	InstanceNames []string
}

func (DBClusters) MaxBatchSize added in v0.1.14

func (instance DBClusters) MaxBatchSize() int

func (DBClusters) Nuke added in v0.1.14

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

Nuke - nuke 'em all!!!

func (DBClusters) ResourceIdentifiers added in v0.1.14

func (instance DBClusters) ResourceIdentifiers() []string

ResourceIdentifiers - The instance names of the rds db instances

func (DBClusters) ResourceName added in v0.1.14

func (instance DBClusters) ResourceName() string

type DBInstances added in v0.1.14

type DBInstances struct {
	InstanceNames []string
}

func (DBInstances) MaxBatchSize added in v0.1.14

func (instance DBInstances) MaxBatchSize() int

func (DBInstances) Nuke added in v0.1.14

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

Nuke - nuke 'em all!!!

func (DBInstances) ResourceIdentifiers added in v0.1.14

func (instance DBInstances) ResourceIdentifiers() []string

ResourceIdentifiers - The instance names of the rds db instances

func (DBInstances) ResourceName added in v0.1.14

func (instance DBInstances) ResourceName() string

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 DetectorOutputWithID added in v0.12.0

type DetectorOutputWithID struct {
	ID     *string
	Output *guardduty.GetDetectorOutput
}

type DynamoDB added in v0.5.2

type DynamoDB struct {
	DynamoTableNames []string
}

func (DynamoDB) MaxBatchSize added in v0.5.2

func (tables DynamoDB) MaxBatchSize() int

func (DynamoDB) Nuke added in v0.5.2

func (tables DynamoDB) Nuke(awsSession *session.Session, identifiers []string) error

Nuke - nuke all Dynamo DB Tables

func (DynamoDB) ResourceIdentifiers added in v0.5.2

func (tables DynamoDB) ResourceIdentifiers() []string

func (DynamoDB) ResourceName added in v0.5.2

func (tables DynamoDB) ResourceName() string

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 EC2VPCs added in v0.7.1

type EC2VPCs struct {
	VPCIds []string
	VPCs   []Vpc
}

func (EC2VPCs) MaxBatchSize added in v0.7.1

func (v EC2VPCs) MaxBatchSize() int

func (EC2VPCs) Nuke added in v0.7.1

func (v EC2VPCs) Nuke(session *session.Session, identifiers []string) error

Nuke - nuke 'em all!!!

func (EC2VPCs) ResourceIdentifiers added in v0.7.1

func (v EC2VPCs) ResourceIdentifiers() []string

ResourceIdentifiers - The instance ids of the ec2 instances

func (EC2VPCs) ResourceName added in v0.7.1

func (v EC2VPCs) ResourceName() string

ResourceName - the simple name of the aws resource

type ECSClusters added in v0.1.22

type ECSClusters struct {
	ClusterArns []string
}

ECSClusters - Represents all ECS clusters found in a region

func (ECSClusters) MaxBatchSize added in v0.1.22

func (clusters ECSClusters) MaxBatchSize() int

func (ECSClusters) Nuke added in v0.1.22

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

Nuke - nuke all ECS Cluster resources

func (ECSClusters) ResourceIdentifiers added in v0.1.22

func (clusters ECSClusters) ResourceIdentifiers() []string

ResourceIdentifiers - the collected ECS clusters

func (ECSClusters) ResourceName added in v0.1.22

func (clusters ECSClusters) 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 Elasticaches added in v0.7.5

type Elasticaches struct {
	ClusterIds []string
}

Elasticaches - represents all Elasticache clusters

func (Elasticaches) MaxBatchSize added in v0.7.5

func (cache Elasticaches) MaxBatchSize() int

func (Elasticaches) Nuke added in v0.7.5

func (cache Elasticaches) Nuke(session *session.Session, identifiers []string) error

Nuke - nuke 'em all!!!

func (Elasticaches) ResourceIdentifiers added in v0.7.5

func (cache Elasticaches) ResourceIdentifiers() []string

ResourceIdentifiers - The instance ids of the ec2 instances

func (Elasticaches) ResourceName added in v0.7.5

func (cache Elasticaches) ResourceName() string

ResourceName - the simple name of the aws resource

type ElbDeleteError

type ElbDeleteError struct{}

func (ElbDeleteError) Error

func (e ElbDeleteError) Error() string

type GuardDuty added in v0.12.0

type GuardDuty struct {
	// contains filtered or unexported fields
}

func (GuardDuty) MaxBatchSize added in v0.12.0

func (gd GuardDuty) MaxBatchSize() int

func (GuardDuty) Nuke added in v0.12.0

func (gd GuardDuty) Nuke(session *session.Session, detectorIds []string) error

func (GuardDuty) ResourceIdentifiers added in v0.12.0

func (gd GuardDuty) ResourceIdentifiers() []string

func (GuardDuty) ResourceName added in v0.12.0

func (gd GuardDuty) ResourceName() string

type IAMRoles added in v0.14.0

type IAMRoles struct {
	RoleNames []string
}

IAMRoles - represents all IAMRoles on the AWS Account

func (IAMRoles) MaxBatchSize added in v0.14.0

func (r IAMRoles) MaxBatchSize() int

Tentative batch size to ensure AWS doesn't throttle

func (IAMRoles) Nuke added in v0.14.0

func (r IAMRoles) Nuke(session *session.Session, identifiers []string) error

Nuke - nuke 'em all!!!

func (IAMRoles) ResourceIdentifiers added in v0.14.0

func (r IAMRoles) ResourceIdentifiers() []string

ResourceIdentifiers - The IAM UserNames

func (IAMRoles) ResourceName added in v0.14.0

func (r IAMRoles) ResourceName() string

ResourceName - the simple name of the aws resource

type IAMUsers added in v0.1.26

type IAMUsers struct {
	UserNames []string
}

IAMUsers - represents all IAMUsers on the AWS Account

func (IAMUsers) MaxBatchSize added in v0.1.26

func (u IAMUsers) MaxBatchSize() int

Tentative batch size to ensure AWS doesn't throttle

func (IAMUsers) Nuke added in v0.1.26

func (u IAMUsers) Nuke(session *session.Session, users []string) error

Nuke - nuke 'em all!!!

func (IAMUsers) ResourceIdentifiers added in v0.1.26

func (u IAMUsers) ResourceIdentifiers() []string

ResourceIdentifiers - The IAM UserNames

func (IAMUsers) ResourceName added in v0.1.26

func (u IAMUsers) ResourceName() string

ResourceName - the simple name of the aws resource

type ImageAvailableError added in v0.1.2

type ImageAvailableError struct{}

func (ImageAvailableError) Error added in v0.1.2

func (e ImageAvailableError) Error() string

type InvalidResourceTypesSuppliedError added in v0.11.7

type InvalidResourceTypesSuppliedError struct {
	InvalidTypes []string
}

func (InvalidResourceTypesSuppliedError) Error added in v0.11.7

type InvalidTimeStringPassedError added in v0.11.7

type InvalidTimeStringPassedError struct {
	Entry      string
	Underlying error
}

func (InvalidTimeStringPassedError) Error added in v0.11.7

type KinesisStreams added in v0.16.0

type KinesisStreams struct {
	Names []string
}

KinesisStreams - represents all Kinesis streams

func (KinesisStreams) MaxBatchSize added in v0.16.0

func (k KinesisStreams) MaxBatchSize() int

func (KinesisStreams) Nuke added in v0.16.0

func (k KinesisStreams) Nuke(session *session.Session, identifiers []string) error

Nuke - nuke 'em all!!!

func (KinesisStreams) ResourceIdentifiers added in v0.16.0

func (k KinesisStreams) ResourceIdentifiers() []string

ResourceIdentifiers - The names of the Kinesis Streams

func (KinesisStreams) ResourceName added in v0.16.0

func (k KinesisStreams) ResourceName() string

ResourceName - The simple name of the AWS resource

type KmsCheckIncludeResult added in v0.11.1

type KmsCheckIncludeResult struct {
	KeyId string
	Error error
}

KmsCheckIncludeResult - structure used results of evaluation: not null KeyId - key should be included

type KmsCustomerKeys added in v0.9.2

type KmsCustomerKeys struct {
	KeyIds []string
}

func (KmsCustomerKeys) MaxBatchSize added in v0.9.2

func (r KmsCustomerKeys) MaxBatchSize() int

MaxBatchSize - Requests batch size

func (KmsCustomerKeys) Nuke added in v0.9.2

func (c KmsCustomerKeys) Nuke(session *session.Session, keyIds []string) error

Nuke - remove all customer managed keys

func (KmsCustomerKeys) ResourceIdentifiers added in v0.9.2

func (c KmsCustomerKeys) ResourceIdentifiers() []string

ResourceIdentifiers - The IAM UserNames

func (KmsCustomerKeys) ResourceName added in v0.9.2

func (c KmsCustomerKeys) ResourceName() string

ResourceName - the simple name of the aws resource

type LambdaDeleteError added in v0.1.24

type LambdaDeleteError struct {
	// contains filtered or unexported fields
}

func (LambdaDeleteError) Error added in v0.1.24

func (e LambdaDeleteError) Error() string

type LambdaFunctions added in v0.1.24

type LambdaFunctions struct {
	LambdaFunctionNames []string
}

func (LambdaFunctions) MaxBatchSize added in v0.1.24

func (lambda LambdaFunctions) MaxBatchSize() int

func (LambdaFunctions) Nuke added in v0.1.24

func (lambda LambdaFunctions) Nuke(session *session.Session, identifiers []string) error

Nuke - nuke 'em all!!!

func (LambdaFunctions) ResourceIdentifiers added in v0.1.24

func (lambda LambdaFunctions) ResourceIdentifiers() []string

ResourceIdentifiers - The names of the lambda functions

func (LambdaFunctions) ResourceName added in v0.1.24

func (lambda LambdaFunctions) ResourceName() 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 MacieMember added in v0.13.0

type MacieMember struct {
	AccountIds []string
}

func (MacieMember) MaxBatchSize added in v0.13.0

func (r MacieMember) MaxBatchSize() int

func (MacieMember) Nuke added in v0.13.0

func (r MacieMember) Nuke(session *session.Session, identifiers []string) error

func (MacieMember) ResourceIdentifiers added in v0.13.0

func (r MacieMember) ResourceIdentifiers() []string

func (MacieMember) ResourceName added in v0.13.0

func (r MacieMember) ResourceName() string

type NatGateways added in v0.3.0

type NatGateways struct {
	NatGatewayIDs []string
}

NatGateways - represents all AWS secrets manager secrets that should be deleted.

func (NatGateways) MaxBatchSize added in v0.3.0

func (secret NatGateways) MaxBatchSize() int

func (NatGateways) Nuke added in v0.3.0

func (ngw NatGateways) Nuke(session *session.Session, identifiers []string) error

Nuke - nuke 'em all!!!

func (NatGateways) ResourceIdentifiers added in v0.3.0

func (ngw NatGateways) ResourceIdentifiers() []string

ResourceIdentifiers - The instance ids of the ec2 instances

func (NatGateways) ResourceName added in v0.3.0

func (ngw NatGateways) ResourceName() string

ResourceName - the simple name of the aws resource

type OIDCProviders added in v0.9.0

type OIDCProviders struct {
	ProviderARNs []string
}

OIDCProviders - represents all AWS OpenID Connect providers that should be deleted.

func (OIDCProviders) MaxBatchSize added in v0.9.0

func (oidcprovider OIDCProviders) MaxBatchSize() int

func (OIDCProviders) Nuke added in v0.9.0

func (oidcprovider OIDCProviders) Nuke(session *session.Session, identifiers []string) error

Nuke - nuke 'em all!!!

func (OIDCProviders) ResourceIdentifiers added in v0.9.0

func (oidcprovider OIDCProviders) ResourceIdentifiers() []string

ResourceIdentifiers - The ARNs of the OIDC providers.

func (OIDCProviders) ResourceName added in v0.9.0

func (oidcprovider OIDCProviders) ResourceName() string

ResourceName - the simple name of the aws resource

type OpenSearchDomains added in v0.7.0

type OpenSearchDomains struct {
	DomainNames []string
}

OpenSearchDomains represents all OpenSearch domains found in a region

func (OpenSearchDomains) MaxBatchSize added in v0.7.0

func (domains OpenSearchDomains) MaxBatchSize() int

MaxBatchSize returns the number of resources that should be nuked at a time. A small number is used to ensure AWS doesn't throttle. OpenSearch Domains do not support bulk delete, so we will be deleting this many in parallel using go routines. We conservatively pick 10 here, both to limit overloading the runtime and to avoid AWS throttling with many API calls.

func (OpenSearchDomains) Nuke added in v0.7.0

func (domains OpenSearchDomains) Nuke(awsSession *session.Session, identifiers []string) error

Nuke nukes all OpenSearch domain resources

func (OpenSearchDomains) ResourceIdentifiers added in v0.7.0

func (domains OpenSearchDomains) ResourceIdentifiers() []string

ResourceIdentifiers the collected OpenSearch Domains

func (OpenSearchDomains) ResourceName added in v0.7.0

func (domains OpenSearchDomains) ResourceName() string

ResourceName is the simple name of the aws resource

type Query added in v0.11.7

type Query struct {
	Regions              []string
	ExcludeRegions       []string
	ResourceTypes        []string
	ExcludeResourceTypes []string
	ExcludeAfter         time.Time
}

Query is a struct that represents the desired parameters for scanning resources within a given account

func NewQuery added in v0.11.7

func NewQuery(regions, excludeRegions, resourceTypes, excludeResourceTypes []string, excludeAfter time.Time) (*Query, error)

NewQuery configures and returns a Query struct that can be passed into the InspectResources method

func (*Query) Validate added in v0.11.7

func (q *Query) Validate() error

Validate ensures the configured values for a Query are valid, returning an error if there are any invalid params, or nil if the Query is valid

type QueryCreationError added in v0.11.7

type QueryCreationError struct {
	Underlying error
}

func (QueryCreationError) Error added in v0.11.7

func (err QueryCreationError) Error() string

type RdsDeleteError added in v0.1.14

type RdsDeleteError struct {
	// contains filtered or unexported fields
}

func (RdsDeleteError) Error added in v0.1.14

func (e RdsDeleteError) Error() string

type ResourceInspectionError added in v0.11.7

type ResourceInspectionError struct {
	Underlying error
}

func (ResourceInspectionError) Error added in v0.11.7

func (err ResourceInspectionError) Error() string

type ResourceTypeAndExcludeFlagsBothPassedError added in v0.11.7

type ResourceTypeAndExcludeFlagsBothPassedError struct{}

func (ResourceTypeAndExcludeFlagsBothPassedError) Error added in v0.11.7

type S3Bucket added in v0.1.18

type S3Bucket struct {
	Name          string
	CreationDate  time.Time
	Region        string
	Tags          []map[string]string
	Error         error
	IsValid       bool
	InvalidReason string
}

S3Bucket - represents S3 bucket

type S3Buckets added in v0.1.17

type S3Buckets struct {
	Names []string
}

S3Buckets - represents all S3 Buckets

func (S3Buckets) MaxBatchSize added in v0.1.17

func (bucket S3Buckets) MaxBatchSize() int

MaxBatchSize decides how many S3 buckets to delete in one call.

func (S3Buckets) MaxConcurrentGetSize added in v0.1.18

func (bucket S3Buckets) MaxConcurrentGetSize() int

MaxConcurrentGetSize decides how many S3 buckets to fetch in one call.

func (S3Buckets) Nuke added in v0.1.17

func (bucket S3Buckets) Nuke(session *session.Session, identifiers []string) error

Nuke - nuke 'em all!!!

func (S3Buckets) ObjectMaxBatchSize added in v0.1.17

func (bucket S3Buckets) ObjectMaxBatchSize() int

ObjectMaxBatchSize decides how many unique objects of an S3 bucket (object + version = unique object) to delete in one call.

func (S3Buckets) ResourceIdentifiers added in v0.1.17

func (bucket S3Buckets) ResourceIdentifiers() []string

ResourceIdentifiers - The names of the S3 buckets

func (S3Buckets) ResourceName added in v0.1.17

func (bucket S3Buckets) ResourceName() string

ResourceName - the simple name of the aws resource

type SageMakerNotebookInstanceDeleteError added in v0.15.0

type SageMakerNotebookInstanceDeleteError struct {
	// contains filtered or unexported fields
}

func (SageMakerNotebookInstanceDeleteError) Error added in v0.15.0

type SageMakerNotebookInstances added in v0.15.0

type SageMakerNotebookInstances struct {
	InstanceNames []string
}

func (SageMakerNotebookInstances) MaxBatchSize added in v0.15.0

func (instance SageMakerNotebookInstances) MaxBatchSize() int

func (SageMakerNotebookInstances) Nuke added in v0.15.0

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

Nuke - nuke 'em all!!!

func (SageMakerNotebookInstances) ResourceIdentifiers added in v0.15.0

func (instance SageMakerNotebookInstances) ResourceIdentifiers() []string

ResourceIdentifiers - The instance names of the rds db instances

func (SageMakerNotebookInstances) ResourceName added in v0.15.0

func (instance SageMakerNotebookInstances) ResourceName() string

type SecretsManagerSecrets added in v0.2.0

type SecretsManagerSecrets struct {
	SecretIDs []string
}

SecretsManagerSecrets - represents all AWS secrets manager secrets that should be deleted.

func (SecretsManagerSecrets) MaxBatchSize added in v0.2.0

func (secret SecretsManagerSecrets) MaxBatchSize() int

func (SecretsManagerSecrets) Nuke added in v0.2.0

func (secret SecretsManagerSecrets) Nuke(session *session.Session, identifiers []string) error

Nuke - nuke 'em all!!!

func (SecretsManagerSecrets) ResourceIdentifiers added in v0.2.0

func (secret SecretsManagerSecrets) ResourceIdentifiers() []string

ResourceIdentifiers - The instance ids of the ec2 instances

func (SecretsManagerSecrets) ResourceName added in v0.2.0

func (secret SecretsManagerSecrets) 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 SqsQueue added in v0.1.30

type SqsQueue struct {
	QueueUrls []string
}

SqsQueue - represents all sqs queues

func (SqsQueue) MaxBatchSize added in v0.1.30

func (queue SqsQueue) MaxBatchSize() int

func (SqsQueue) Nuke added in v0.1.30

func (queue SqsQueue) Nuke(session *session.Session, identifiers []string) error

Nuke - nuke 'em all!!!

func (SqsQueue) ResourceIdentifiers added in v0.1.30

func (queue SqsQueue) ResourceIdentifiers() []string

ResourceIdentifiers - The arns of the sqs queues

func (SqsQueue) ResourceName added in v0.1.30

func (queue SqsQueue) ResourceName() string

ResourceName - the simple name of the aws resource

type TooManyAccessAnalyzersErr added in v0.4.0

type TooManyAccessAnalyzersErr struct{}

func (TooManyAccessAnalyzersErr) Error added in v0.4.0

func (err TooManyAccessAnalyzersErr) Error() string

type TooManyCloudWatchDashboardsErr added in v0.6.0

type TooManyCloudWatchDashboardsErr struct{}

func (TooManyCloudWatchDashboardsErr) Error added in v0.6.0

type TooManyEKSClustersErr added in v0.7.0

type TooManyEKSClustersErr struct{}

func (TooManyEKSClustersErr) Error added in v0.7.0

func (err TooManyEKSClustersErr) Error() string

type TooManyIamRoleErr added in v0.14.0

type TooManyIamRoleErr struct{}

func (TooManyIamRoleErr) Error added in v0.14.0

func (err TooManyIamRoleErr) Error() string

type TooManyLogGroupsErr added in v0.11.0

type TooManyLogGroupsErr struct{}

func (TooManyLogGroupsErr) Error added in v0.11.0

func (err TooManyLogGroupsErr) Error() string

type TooManyNatErr added in v0.3.0

type TooManyNatErr struct{}

func (TooManyNatErr) Error added in v0.3.0

func (err TooManyNatErr) Error() string

type TooManyOIDCProvidersErr added in v0.9.0

type TooManyOIDCProvidersErr struct{}

func (TooManyOIDCProvidersErr) Error added in v0.9.0

func (err TooManyOIDCProvidersErr) Error() string

type TooManyOpenSearchDomainsErr added in v0.7.0

type TooManyOpenSearchDomainsErr struct{}

func (TooManyOpenSearchDomainsErr) Error added in v0.7.0

func (err TooManyOpenSearchDomainsErr) Error() string

type TooManyStreamsErr added in v0.16.0

type TooManyStreamsErr struct{}

func (TooManyStreamsErr) Error added in v0.16.0

func (err TooManyStreamsErr) Error() string

type TransitGateways added in v0.1.26

type TransitGateways struct {
	Ids []string
}

TransitGateways - represents all transit gateways

func (TransitGateways) MaxBatchSize added in v0.1.26

func (tgw TransitGateways) MaxBatchSize() int

MaxBatchSize - Tentative batch size to ensure AWS doesn't throttle

func (TransitGateways) Nuke added in v0.1.26

func (tgw TransitGateways) Nuke(session *session.Session, identifiers []string) error

Nuke - nuke 'em all!!!

func (TransitGateways) ResourceIdentifiers added in v0.1.26

func (tgw TransitGateways) ResourceIdentifiers() []string

ResourceIdentifiers - The Ids of the transit gateways

func (TransitGateways) ResourceName added in v0.1.26

func (tgw TransitGateways) ResourceName() string

ResourceName - the simple name of the aws resource

type TransitGatewaysRouteTables added in v0.1.26

type TransitGatewaysRouteTables struct {
	Ids []string
}

TransitGatewaysRouteTables - represents all transit gateways route tables

func (TransitGatewaysRouteTables) MaxBatchSize added in v0.1.26

func (tgw TransitGatewaysRouteTables) MaxBatchSize() int

MaxBatchSize - Tentative batch size to ensure AWS doesn't throttle

func (TransitGatewaysRouteTables) Nuke added in v0.1.26

func (tgw TransitGatewaysRouteTables) Nuke(session *session.Session, identifiers []string) error

Nuke - nuke 'em all!!!

func (TransitGatewaysRouteTables) ResourceIdentifiers added in v0.1.26

func (tgw TransitGatewaysRouteTables) ResourceIdentifiers() []string

ResourceIdentifiers - The arns of the transit gateways route tables

func (TransitGatewaysRouteTables) ResourceName added in v0.1.26

func (tgw TransitGatewaysRouteTables) ResourceName() string

ResourceName - the simple name of the aws resource

type TransitGatewaysVpcAttachment added in v0.1.26

type TransitGatewaysVpcAttachment struct {
	Ids []string
}

TransitGatewaysVpcAttachment - represents all transit gateways vpc attachments

func (TransitGatewaysVpcAttachment) MaxBatchSize added in v0.1.26

func (tgw TransitGatewaysVpcAttachment) MaxBatchSize() int

MaxBatchSize - Tentative batch size to ensure AWS doesn't throttle

func (TransitGatewaysVpcAttachment) Nuke added in v0.1.26

func (tgw TransitGatewaysVpcAttachment) Nuke(session *session.Session, identifiers []string) error

Nuke - nuke 'em all!!!

func (TransitGatewaysVpcAttachment) ResourceIdentifiers added in v0.1.26

func (tgw TransitGatewaysVpcAttachment) ResourceIdentifiers() []string

ResourceIdentifiers - The Ids of the transit gateways

func (TransitGatewaysVpcAttachment) ResourceName added in v0.1.26

func (tgw TransitGatewaysVpcAttachment) ResourceName() string

ResourceName - the simple name of the aws resource

type VPCEndpointDeleteTimeoutError added in v0.11.5

type VPCEndpointDeleteTimeoutError struct{}

func (VPCEndpointDeleteTimeoutError) Error added in v0.11.5

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