resources

package
v1.0.4 Latest Latest
Warning

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

Go to latest
Published: Nov 29, 2023 License: MIT Imports: 98 Imported by: 0

Documentation

Index

Constants

View Source
const AwsResourceExclusionTagKey = "cloud-nuke-excluded"

Variables

This section is empty.

Functions

func DescribeDefaultSecurityGroups

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

func GetDefaultVpcId

func GetDefaultVpcId(vpc Vpc) (string, error)

func GetEC2ResourceNameTagValue

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

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

func GetEc2ServiceClient

func GetEc2ServiceClient(region string) ec2iface.EC2API

func NukeDefaultSecurityGroupRules

func NukeDefaultSecurityGroupRules(sgs []DefaultSecurityGroup) error

func NukeVpcs

func NukeVpcs(vpcs []Vpc) error

func SnapshotHasAWSBackupTag

func SnapshotHasAWSBackupTag(tags []*ec2.Tag) bool

Check if the image has an AWS Backup tag Resources created by AWS Backup are listed as owned by self, but are actually AWS managed resources and cannot be deleted here.

Types

type ACM

type ACM struct {
	Client acmiface.ACMAPI
	Region string
	ARNs   []string
}

ACMPA - represents all ACMPA

func (*ACM) GetAndSetIdentifiers

func (a *ACM) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*ACM) Init

func (a *ACM) Init(session *session.Session)

func (*ACM) MaxBatchSize

func (a *ACM) MaxBatchSize() int

func (*ACM) Nuke

func (a *ACM) Nuke(arns []string) error

Nuke - nuke 'em all!!!

func (*ACM) ResourceIdentifiers

func (a *ACM) ResourceIdentifiers() []string

ResourceIdentifiers - the arns of the aws certificate manager certificates

func (*ACM) ResourceName

func (a *ACM) ResourceName() string

ResourceName - the simple name of the aws resource

type ACMPCA

type ACMPCA struct {
	Client acmpcaiface.ACMPCAAPI
	Region string
	ARNs   []string
}

ACMPA - represents all ACMPA

func (*ACMPCA) GetAndSetIdentifiers

func (ap *ACMPCA) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*ACMPCA) Init

func (ap *ACMPCA) Init(session *session.Session)

func (*ACMPCA) MaxBatchSize

func (ap *ACMPCA) MaxBatchSize() int

func (*ACMPCA) Nuke

func (ap *ACMPCA) Nuke(arns []string) error

Nuke - nuke 'em all!!!

func (*ACMPCA) ResourceIdentifiers

func (ap *ACMPCA) ResourceIdentifiers() []string

ResourceIdentifiers - The volume ids of the ebs volumes

func (*ACMPCA) ResourceName

func (ap *ACMPCA) ResourceName() string

ResourceName - the simple name of the aws resource

type AMIs

type AMIs struct {
	Client   ec2iface.EC2API
	Region   string
	ImageIds []string
}

AMIs - represents all user owned AMIs

func (*AMIs) GetAndSetIdentifiers

func (ami *AMIs) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*AMIs) Init

func (ami *AMIs) Init(session *session.Session)

func (*AMIs) MaxBatchSize

func (ami *AMIs) MaxBatchSize() int

func (*AMIs) Nuke

func (ami *AMIs) Nuke(identifiers []string) error

Nuke - nuke 'em all!!!

func (*AMIs) ResourceIdentifiers

func (ami *AMIs) ResourceIdentifiers() []string

ResourceIdentifiers - The AMI image ids

func (*AMIs) ResourceName

func (ami *AMIs) ResourceName() string

ResourceName - the simple name of the aws resource

type ASGroups

type ASGroups struct {
	Client     autoscalingiface.AutoScalingAPI
	Region     string
	GroupNames []string
}

ASGroups - represents all auto scaling groups

func (*ASGroups) GetAndSetIdentifiers

func (ag *ASGroups) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*ASGroups) Init

func (ag *ASGroups) Init(session *session.Session)

func (*ASGroups) MaxBatchSize

func (ag *ASGroups) MaxBatchSize() int

func (*ASGroups) Nuke

func (ag *ASGroups) Nuke(identifiers []string) error

Nuke - nuke 'em all!!!

func (*ASGroups) ResourceIdentifiers

func (ag *ASGroups) ResourceIdentifiers() []string

ResourceIdentifiers - The group names of the auto scaling groups

func (*ASGroups) ResourceName

func (ag *ASGroups) ResourceName() string

ResourceName - the simple name of the aws resource

type AccessAnalyzer

type AccessAnalyzer struct {
	Client        accessanalyzeriface.AccessAnalyzerAPI
	Region        string
	AnalyzerNames []string
}

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

func (*AccessAnalyzer) GetAndSetIdentifiers

func (analyzer *AccessAnalyzer) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*AccessAnalyzer) Init

func (analyzer *AccessAnalyzer) Init(session *session.Session)

func (*AccessAnalyzer) MaxBatchSize

func (analyzer *AccessAnalyzer) MaxBatchSize() int

func (*AccessAnalyzer) Nuke

func (analyzer *AccessAnalyzer) Nuke(identifiers []string) error

Nuke - nuke 'em all!!!

func (*AccessAnalyzer) ResourceIdentifiers

func (analyzer *AccessAnalyzer) ResourceIdentifiers() []string

ResourceIdentifiers - The instance ids of the ec2 instances

func (*AccessAnalyzer) ResourceName

func (analyzer *AccessAnalyzer) ResourceName() string

ResourceName - the simple name of the aws resource

type ApiGateway

type ApiGateway struct {
	Client apigatewayiface.APIGatewayAPI
	Region string
	Ids    []string
}

func (*ApiGateway) GetAndSetIdentifiers

func (gateway *ApiGateway) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*ApiGateway) Init

func (gateway *ApiGateway) Init(session *session.Session)

func (*ApiGateway) MaxBatchSize

func (gateway *ApiGateway) MaxBatchSize() int

func (*ApiGateway) Nuke

func (gateway *ApiGateway) Nuke(identifiers []string) error

func (*ApiGateway) ResourceIdentifiers

func (gateway *ApiGateway) ResourceIdentifiers() []string

func (*ApiGateway) ResourceName

func (gateway *ApiGateway) ResourceName() string

type ApiGatewayV2

type ApiGatewayV2 struct {
	Client apigatewayv2iface.ApiGatewayV2API
	Region string
	Ids    []string
}

func (*ApiGatewayV2) GetAndSetIdentifiers

func (gw *ApiGatewayV2) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*ApiGatewayV2) Init

func (gw *ApiGatewayV2) Init(session *session.Session)

func (*ApiGatewayV2) MaxBatchSize

func (gw *ApiGatewayV2) MaxBatchSize() int

func (*ApiGatewayV2) Nuke

func (gw *ApiGatewayV2) Nuke(identifiers []string) error

func (*ApiGatewayV2) ResourceIdentifiers

func (gw *ApiGatewayV2) ResourceIdentifiers() []string

func (*ApiGatewayV2) ResourceName

func (gw *ApiGatewayV2) ResourceName() string

type BackupVault

type BackupVault struct {
	Client backupiface.BackupAPI
	Region string
	Names  []string
}

func (*BackupVault) GetAndSetIdentifiers

func (bv *BackupVault) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*BackupVault) Init

func (bv *BackupVault) Init(session *session.Session)

func (*BackupVault) MaxBatchSize

func (bv *BackupVault) MaxBatchSize() int

func (*BackupVault) Nuke

func (bv *BackupVault) Nuke(identifiers []string) error

Nuke - nuke 'em all!!!

func (*BackupVault) ResourceIdentifiers

func (bv *BackupVault) ResourceIdentifiers() []string

ResourceIdentifiers - The instance ids of the ec2 instances

func (*BackupVault) ResourceName

func (bv *BackupVault) ResourceName() string

ResourceName - the simple name of the aws resource

type CacheClusterType

type CacheClusterType string
const (
	Replication CacheClusterType = "replication"
	Single      CacheClusterType = "single"
)

type CloudWatchAlarms

type CloudWatchAlarms struct {
	Client     cloudwatchiface.CloudWatchAPI
	Region     string
	AlarmNames []string
}

CloudWatchAlarms - represents all CloudWatchAlarms that should be deleted.

func (*CloudWatchAlarms) GetAndSetIdentifiers

func (cw *CloudWatchAlarms) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*CloudWatchAlarms) Init

func (cw *CloudWatchAlarms) Init(session *session.Session)

func (*CloudWatchAlarms) MaxBatchSize

func (cw *CloudWatchAlarms) MaxBatchSize() int

func (*CloudWatchAlarms) Nuke

func (cw *CloudWatchAlarms) Nuke(identifiers []string) error

Nuke - nuke 'em all!!!

func (*CloudWatchAlarms) ResourceIdentifiers

func (cw *CloudWatchAlarms) ResourceIdentifiers() []string

ResourceIdentifiers - The name of cloudwatch alarms

func (*CloudWatchAlarms) ResourceName

func (cw *CloudWatchAlarms) ResourceName() string

ResourceName - the simple name of the aws resource

type CloudWatchDashboards

type CloudWatchDashboards struct {
	Client         cloudwatchiface.CloudWatchAPI
	Region         string
	DashboardNames []string
}

CloudWatchDashboards - represents all CloudWatch Dashboards that should be deleted.

func (*CloudWatchDashboards) GetAndSetIdentifiers

func (cwdb *CloudWatchDashboards) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*CloudWatchDashboards) Init

func (cwdb *CloudWatchDashboards) Init(session *session.Session)

func (*CloudWatchDashboards) MaxBatchSize

func (cwdb *CloudWatchDashboards) MaxBatchSize() int

func (*CloudWatchDashboards) Nuke

func (cwdb *CloudWatchDashboards) Nuke(identifiers []string) error

Nuke - nuke 'em all!!!

func (*CloudWatchDashboards) ResourceIdentifiers

func (cwdb *CloudWatchDashboards) ResourceIdentifiers() []string

ResourceIdentifiers - The dashboard names of the cloudwatch dashboards

func (*CloudWatchDashboards) ResourceName

func (cwdb *CloudWatchDashboards) ResourceName() string

ResourceName - the simple name of the aws resource

type CloudWatchLogGroups

type CloudWatchLogGroups struct {
	Client cloudwatchlogsiface.CloudWatchLogsAPI
	Region string
	Names  []string
}

CloudWatchLogGroup - represents all ec2 instances

func (*CloudWatchLogGroups) GetAndSetIdentifiers

func (csr *CloudWatchLogGroups) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*CloudWatchLogGroups) Init

func (csr *CloudWatchLogGroups) Init(session *session.Session)

func (*CloudWatchLogGroups) MaxBatchSize

func (csr *CloudWatchLogGroups) MaxBatchSize() int

func (*CloudWatchLogGroups) Nuke

func (csr *CloudWatchLogGroups) Nuke(identifiers []string) error

Nuke - nuke 'em all!!!

func (*CloudWatchLogGroups) ResourceIdentifiers

func (csr *CloudWatchLogGroups) ResourceIdentifiers() []string

ResourceIdentifiers - The instance ids of the ec2 instances

func (*CloudWatchLogGroups) ResourceName

func (csr *CloudWatchLogGroups) ResourceName() string

ResourceName - the simple name of the aws resource

type CloudtrailTrail

type CloudtrailTrail struct {
	Client cloudtrailiface.CloudTrailAPI
	Region string
	Arns   []string
}

CloudWatchLogGroup - represents all ec2 instances

func (*CloudtrailTrail) GetAndSetIdentifiers

func (ct *CloudtrailTrail) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*CloudtrailTrail) Init

func (ct *CloudtrailTrail) Init(session *session.Session)

func (*CloudtrailTrail) MaxBatchSize

func (ct *CloudtrailTrail) MaxBatchSize() int

func (*CloudtrailTrail) Nuke

func (ct *CloudtrailTrail) Nuke(identifiers []string) error

Nuke - nuke 'em all!!!

func (*CloudtrailTrail) ResourceIdentifiers

func (ct *CloudtrailTrail) ResourceIdentifiers() []string

ResourceIdentifiers - The instance ids of the ec2 instances

func (*CloudtrailTrail) ResourceName

func (ct *CloudtrailTrail) ResourceName() string

ResourceName - the simple name of the aws resource

type CodeDeployApplications

type CodeDeployApplications struct {
	Client   codedeployiface.CodeDeployAPI
	Region   string
	AppNames []string
}

CodeDeployApplications - represents all codedeploy applications

func (*CodeDeployApplications) GetAndSetIdentifiers

func (cda *CodeDeployApplications) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*CodeDeployApplications) Init

func (cda *CodeDeployApplications) Init(session *session.Session)

func (*CodeDeployApplications) MaxBatchSize

func (cda *CodeDeployApplications) MaxBatchSize() int

func (*CodeDeployApplications) Nuke

func (cda *CodeDeployApplications) Nuke(identifiers []string) error

Nuke - nuke 'em all!!!

func (*CodeDeployApplications) ResourceIdentifiers

func (cda *CodeDeployApplications) ResourceIdentifiers() []string

ResourceIdentifiers - The instance ids of the code deploy applications

func (*CodeDeployApplications) ResourceName

func (cda *CodeDeployApplications) ResourceName() string

ResourceName - the simple name of the aws resource

type ConfigServiceRecorders

type ConfigServiceRecorders struct {
	Client        configserviceiface.ConfigServiceAPI
	Region        string
	RecorderNames []string
}

func (*ConfigServiceRecorders) GetAndSetIdentifiers

func (csr *ConfigServiceRecorders) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*ConfigServiceRecorders) Init

func (csr *ConfigServiceRecorders) Init(session *session.Session)

func (*ConfigServiceRecorders) MaxBatchSize

func (csr *ConfigServiceRecorders) MaxBatchSize() int

func (*ConfigServiceRecorders) Nuke

func (csr *ConfigServiceRecorders) Nuke(configServiceRecorderNames []string) error

func (*ConfigServiceRecorders) ResourceIdentifiers

func (csr *ConfigServiceRecorders) ResourceIdentifiers() []string

func (*ConfigServiceRecorders) ResourceName

func (csr *ConfigServiceRecorders) ResourceName() string

type ConfigServiceRule

type ConfigServiceRule struct {
	Client    configserviceiface.ConfigServiceAPI
	Region    string
	RuleNames []string
}

func (*ConfigServiceRule) GetAndSetIdentifiers

func (csr *ConfigServiceRule) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*ConfigServiceRule) Init

func (csr *ConfigServiceRule) Init(session *session.Session)

func (*ConfigServiceRule) MaxBatchSize

func (csr *ConfigServiceRule) MaxBatchSize() int

func (*ConfigServiceRule) Nuke

func (csr *ConfigServiceRule) Nuke(identifiers []string) error

func (*ConfigServiceRule) ResourceIdentifiers

func (csr *ConfigServiceRule) ResourceIdentifiers() []string

func (*ConfigServiceRule) ResourceName

func (csr *ConfigServiceRule) ResourceName() string

type CouldNotLookupCacheClusterErr

type CouldNotLookupCacheClusterErr struct {
	ClusterId *string
}

func (CouldNotLookupCacheClusterErr) Error

type DBClusters

type DBClusters struct {
	Client        rdsiface.RDSAPI
	Region        string
	InstanceNames []string
}

func (*DBClusters) GetAndSetIdentifiers

func (instance *DBClusters) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*DBClusters) Init

func (instance *DBClusters) Init(session *session.Session)

func (*DBClusters) MaxBatchSize

func (instance *DBClusters) MaxBatchSize() int

func (*DBClusters) Nuke

func (instance *DBClusters) Nuke(identifiers []string) error

Nuke - nuke 'em all!!!

func (*DBClusters) ResourceIdentifiers

func (instance *DBClusters) ResourceIdentifiers() []string

ResourceIdentifiers - The instance names of the rds db instances

func (*DBClusters) ResourceName

func (instance *DBClusters) ResourceName() string

type DBInstances

type DBInstances struct {
	Client        rdsiface.RDSAPI
	Region        string
	InstanceNames []string
}

func (*DBInstances) GetAndSetIdentifiers

func (di *DBInstances) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*DBInstances) Init

func (di *DBInstances) Init(session *session.Session)

func (*DBInstances) MaxBatchSize

func (di *DBInstances) MaxBatchSize() int

func (*DBInstances) Nuke

func (di *DBInstances) Nuke(identifiers []string) error

Nuke - nuke 'em all!!!

func (*DBInstances) ResourceIdentifiers

func (di *DBInstances) ResourceIdentifiers() []string

ResourceIdentifiers - The instance names of the rds db instances

func (*DBInstances) ResourceName

func (di *DBInstances) ResourceName() string

type DBSubnetGroups

type DBSubnetGroups struct {
	Client        rdsiface.RDSAPI
	Region        string
	InstanceNames []string
}

func (*DBSubnetGroups) GetAndSetIdentifiers

func (dsg *DBSubnetGroups) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*DBSubnetGroups) Init

func (dsg *DBSubnetGroups) Init(session *session.Session)

func (*DBSubnetGroups) MaxBatchSize

func (dsg *DBSubnetGroups) MaxBatchSize() int

func (*DBSubnetGroups) Nuke

func (dsg *DBSubnetGroups) Nuke(identifiers []string) error

Nuke - nuke 'em all!!!

func (*DBSubnetGroups) ResourceIdentifiers

func (dsg *DBSubnetGroups) ResourceIdentifiers() []string

ResourceIdentifiers - The instance names of the rds db instances

func (*DBSubnetGroups) ResourceName

func (dsg *DBSubnetGroups) ResourceName() string

type DefaultSecurityGroup

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

func GetDefaultSecurityGroups

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

type DetectorOutputWithID

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

type DynamoDB

type DynamoDB struct {
	Client           dynamodbiface.DynamoDBAPI
	Region           string
	DynamoTableNames []string
}

func (*DynamoDB) GetAndSetIdentifiers

func (ddb *DynamoDB) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*DynamoDB) Init

func (ddb *DynamoDB) Init(session *session.Session)

func (*DynamoDB) MaxBatchSize

func (ddb *DynamoDB) MaxBatchSize() int

func (*DynamoDB) Nuke

func (ddb *DynamoDB) Nuke(identifiers []string) error

Nuke - nuke all Dynamo DB Tables

func (*DynamoDB) ResourceIdentifiers

func (ddb *DynamoDB) ResourceIdentifiers() []string

func (*DynamoDB) ResourceName

func (ddb *DynamoDB) ResourceName() string

type EBSVolumes

type EBSVolumes struct {
	Client    ec2iface.EC2API
	Region    string
	VolumeIds []string
}

EBSVolumes - represents all ebs volumes

func (*EBSVolumes) GetAndSetIdentifiers

func (ev *EBSVolumes) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*EBSVolumes) Init

func (ev *EBSVolumes) Init(session *session.Session)

func (*EBSVolumes) MaxBatchSize

func (ev *EBSVolumes) MaxBatchSize() int

func (*EBSVolumes) Nuke

func (ev *EBSVolumes) Nuke(identifiers []string) error

Nuke - nuke 'em all!!!

func (*EBSVolumes) ResourceIdentifiers

func (ev *EBSVolumes) ResourceIdentifiers() []string

ResourceIdentifiers - The volume ids of the ebs volumes

func (*EBSVolumes) ResourceName

func (ev *EBSVolumes) ResourceName() string

ResourceName - the simple name of the aws resource

type EC2DedicatedHosts

type EC2DedicatedHosts struct {
	Client  ec2iface.EC2API
	Region  string
	HostIds []string
}

EC2DedicatedHosts - represents all host allocation IDs

func (*EC2DedicatedHosts) GetAndSetIdentifiers

func (h *EC2DedicatedHosts) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*EC2DedicatedHosts) Init

func (h *EC2DedicatedHosts) Init(session *session.Session)

func (*EC2DedicatedHosts) MaxBatchSize

func (h *EC2DedicatedHosts) MaxBatchSize() int

func (*EC2DedicatedHosts) Nuke

func (h *EC2DedicatedHosts) Nuke(identifiers []string) error

Nuke - nuke 'em all!!!

func (*EC2DedicatedHosts) ResourceIdentifiers

func (h *EC2DedicatedHosts) ResourceIdentifiers() []string

ResourceIdentifiers - The instance ids of the ec2 instances

func (*EC2DedicatedHosts) ResourceName

func (h *EC2DedicatedHosts) ResourceName() string

ResourceName - the simple name of the aws resource

type EC2DhcpOption

type EC2DhcpOption struct {
	Client ec2iface.EC2API
	Region string
	VPCIds []string
}

func (*EC2DhcpOption) GetAndSetIdentifiers

func (v *EC2DhcpOption) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*EC2DhcpOption) Init

func (v *EC2DhcpOption) Init(session *session.Session)

func (*EC2DhcpOption) MaxBatchSize

func (v *EC2DhcpOption) MaxBatchSize() int

func (*EC2DhcpOption) Nuke

func (v *EC2DhcpOption) Nuke(identifiers []string) error

func (*EC2DhcpOption) ResourceIdentifiers

func (v *EC2DhcpOption) ResourceIdentifiers() []string

ResourceIdentifiers - The instance ids of the ec2 instances

func (*EC2DhcpOption) ResourceName

func (v *EC2DhcpOption) ResourceName() string

ResourceName - the simple name of the aws resource

type EC2Instances

type EC2Instances struct {
	Client      ec2iface.EC2API
	Region      string
	InstanceIds []string
}

EC2Instances - represents all ec2 instances

func (*EC2Instances) GetAndSetIdentifiers

func (ei *EC2Instances) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*EC2Instances) Init

func (ei *EC2Instances) Init(session *session.Session)

func (*EC2Instances) MaxBatchSize

func (ei *EC2Instances) MaxBatchSize() int

func (*EC2Instances) Nuke

func (ei *EC2Instances) Nuke(identifiers []string) error

Nuke - nuke 'em all!!!

func (*EC2Instances) ResourceIdentifiers

func (ei *EC2Instances) ResourceIdentifiers() []string

ResourceIdentifiers - The instance ids of the ec2 instances

func (*EC2Instances) ResourceName

func (ei *EC2Instances) ResourceName() string

ResourceName - the simple name of the aws resource

type EC2KeyPairs

type EC2KeyPairs struct {
	Client     ec2iface.EC2API
	Region     string
	KeyPairIds []string
}

func (*EC2KeyPairs) GetAndSetIdentifiers

func (k *EC2KeyPairs) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*EC2KeyPairs) Init

func (k *EC2KeyPairs) Init(session *session.Session)

func (*EC2KeyPairs) MaxBatchSize

func (k *EC2KeyPairs) MaxBatchSize() int

func (*EC2KeyPairs) Nuke

func (k *EC2KeyPairs) Nuke(identifiers []string) error

func (*EC2KeyPairs) ResourceIdentifiers

func (k *EC2KeyPairs) ResourceIdentifiers() []string

ResourceIdentifiers - IDs of the ec2 key pairs

func (*EC2KeyPairs) ResourceName

func (k *EC2KeyPairs) ResourceName() string

ResourceName - the simple name of the aws resource

type EC2VPCs

type EC2VPCs struct {
	Client ec2iface.EC2API
	Region string
	VPCIds []string
}

func (*EC2VPCs) GetAndSetIdentifiers

func (v *EC2VPCs) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*EC2VPCs) Init

func (v *EC2VPCs) Init(session *session.Session)

func (*EC2VPCs) MaxBatchSize

func (v *EC2VPCs) MaxBatchSize() int

func (*EC2VPCs) Nuke

func (v *EC2VPCs) Nuke(identifiers []string) error

Nuke - nuke 'em all!!!

func (*EC2VPCs) ResourceIdentifiers

func (v *EC2VPCs) ResourceIdentifiers() []string

ResourceIdentifiers - The instance ids of the ec2 instances

func (*EC2VPCs) ResourceName

func (v *EC2VPCs) ResourceName() string

ResourceName - the simple name of the aws resource

type ECR

type ECR struct {
	Client          ecriface.ECRAPI
	Region          string
	RepositoryNames []string
}

func (*ECR) GetAndSetIdentifiers

func (registry *ECR) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*ECR) Init

func (registry *ECR) Init(session *session.Session)

func (*ECR) MaxBatchSize

func (registry *ECR) MaxBatchSize() int

func (*ECR) Nuke

func (registry *ECR) Nuke(identifiers []string) error

func (*ECR) ResourceIdentifiers

func (registry *ECR) ResourceIdentifiers() []string

func (*ECR) ResourceName

func (registry *ECR) ResourceName() string

type ECSClusters

type ECSClusters struct {
	Client      ecsiface.ECSAPI
	Region      string
	ClusterArns []string
}

ECSClusters - Represents all ECS clusters found in a region

func (*ECSClusters) GetAndSetIdentifiers

func (clusters *ECSClusters) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*ECSClusters) Init

func (clusters *ECSClusters) Init(session *session.Session)

func (*ECSClusters) MaxBatchSize

func (clusters *ECSClusters) MaxBatchSize() int

func (*ECSClusters) Nuke

func (clusters *ECSClusters) Nuke(identifiers []string) error

Nuke - nuke all ECS Cluster resources

func (*ECSClusters) ResourceIdentifiers

func (clusters *ECSClusters) ResourceIdentifiers() []string

ResourceIdentifiers - the collected ECS clusters

func (*ECSClusters) ResourceName

func (clusters *ECSClusters) ResourceName() string

ResourceName - The simple name of the aws resource

type ECSServices

type ECSServices struct {
	Client            ecsiface.ECSAPI
	Region            string
	Services          []string
	ServiceClusterMap map[string]string
}

ECSServices - Represents all ECS services found in a region

func (*ECSServices) GetAndSetIdentifiers

func (services *ECSServices) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*ECSServices) Init

func (services *ECSServices) Init(session *session.Session)

func (*ECSServices) MaxBatchSize

func (services *ECSServices) MaxBatchSize() int

func (*ECSServices) Nuke

func (services *ECSServices) Nuke(identifiers []string) error

Nuke - nuke all ECS service resources

func (*ECSServices) ResourceIdentifiers

func (services *ECSServices) ResourceIdentifiers() []string

ResourceIdentifiers - The ARNs of the collected ECS services

func (*ECSServices) ResourceName

func (services *ECSServices) ResourceName() string

ResourceName - The simple name of the aws resource

type EIPAddresses

type EIPAddresses struct {
	Client        ec2iface.EC2API
	Region        string
	AllocationIds []string
}

EBSVolumes - represents all ebs volumes

func (*EIPAddresses) GetAndSetIdentifiers

func (address *EIPAddresses) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*EIPAddresses) Init

func (address *EIPAddresses) Init(session *session.Session)

func (*EIPAddresses) MaxBatchSize

func (address *EIPAddresses) MaxBatchSize() int

func (*EIPAddresses) Nuke

func (address *EIPAddresses) Nuke(identifiers []string) error

Nuke - nuke 'em all!!!

func (*EIPAddresses) ResourceIdentifiers

func (address *EIPAddresses) ResourceIdentifiers() []string

ResourceIdentifiers - The instance ids of the eip addresses

func (*EIPAddresses) ResourceName

func (address *EIPAddresses) ResourceName() string

ResourceName - the simple name of the aws resource

type EKSClusters

type EKSClusters struct {
	Client   eksiface.EKSAPI
	Region   string
	Clusters []string
}

EKSClusters - Represents all EKS clusters found in a region

func (*EKSClusters) GetAndSetIdentifiers

func (clusters *EKSClusters) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*EKSClusters) Init

func (clusters *EKSClusters) Init(session *session.Session)

func (*EKSClusters) MaxBatchSize

func (clusters *EKSClusters) MaxBatchSize() int

func (*EKSClusters) Nuke

func (clusters *EKSClusters) Nuke(identifiers []string) error

Nuke - nuke all EKS Cluster resources

func (*EKSClusters) ResourceIdentifiers

func (clusters *EKSClusters) ResourceIdentifiers() []string

ResourceIdentifiers - The Name of the collected EKS clusters

func (*EKSClusters) ResourceName

func (clusters *EKSClusters) ResourceName() string

ResourceName - The simple name of the aws resource

type ElasticFileSystem

type ElasticFileSystem struct {
	Client efsiface.EFSAPI
	Region string
	Ids    []string
}

func (*ElasticFileSystem) GetAndSetIdentifiers

func (ef *ElasticFileSystem) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*ElasticFileSystem) Init

func (ef *ElasticFileSystem) Init(session *session.Session)

func (*ElasticFileSystem) MaxBatchSize

func (ef *ElasticFileSystem) MaxBatchSize() int

func (*ElasticFileSystem) Nuke

func (ef *ElasticFileSystem) Nuke(identifiers []string) error

func (*ElasticFileSystem) ResourceIdentifiers

func (ef *ElasticFileSystem) ResourceIdentifiers() []string

func (*ElasticFileSystem) ResourceName

func (ef *ElasticFileSystem) ResourceName() string

type ElasticacheParameterGroups

type ElasticacheParameterGroups struct {
	Client     elasticacheiface.ElastiCacheAPI
	Region     string
	GroupNames []string
}

func (*ElasticacheParameterGroups) GetAndSetIdentifiers

func (pg *ElasticacheParameterGroups) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*ElasticacheParameterGroups) Init

func (pg *ElasticacheParameterGroups) Init(session *session.Session)

func (*ElasticacheParameterGroups) MaxBatchSize

func (pg *ElasticacheParameterGroups) MaxBatchSize() int

func (*ElasticacheParameterGroups) Nuke

func (pg *ElasticacheParameterGroups) Nuke(identifiers []string) error

Nuke - nuke 'em all!!!

func (*ElasticacheParameterGroups) ResourceIdentifiers

func (pg *ElasticacheParameterGroups) ResourceIdentifiers() []string

ResourceIdentifiers - The instance ids of the ec2 instances

func (*ElasticacheParameterGroups) ResourceName

func (pg *ElasticacheParameterGroups) ResourceName() string

ResourceName - the simple name of the aws resource

type ElasticacheSubnetGroups

type ElasticacheSubnetGroups struct {
	Client     elasticacheiface.ElastiCacheAPI
	Region     string
	GroupNames []string
}

func (*ElasticacheSubnetGroups) GetAndSetIdentifiers

func (sg *ElasticacheSubnetGroups) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*ElasticacheSubnetGroups) Init

func (sg *ElasticacheSubnetGroups) Init(session *session.Session)

func (*ElasticacheSubnetGroups) MaxBatchSize

func (sg *ElasticacheSubnetGroups) MaxBatchSize() int

func (*ElasticacheSubnetGroups) Nuke

func (sg *ElasticacheSubnetGroups) Nuke(identifiers []string) error

Nuke - nuke 'em all!!!

func (*ElasticacheSubnetGroups) ResourceIdentifiers

func (sg *ElasticacheSubnetGroups) ResourceIdentifiers() []string

ResourceIdentifiers - The instance ids of the ec2 instances

func (*ElasticacheSubnetGroups) ResourceName

func (sg *ElasticacheSubnetGroups) ResourceName() string

type Elasticaches

type Elasticaches struct {
	Client     elasticacheiface.ElastiCacheAPI
	Region     string
	ClusterIds []string
}

Elasticaches - represents all Elasticache clusters

func (*Elasticaches) GetAndSetIdentifiers

func (cache *Elasticaches) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*Elasticaches) Init

func (cache *Elasticaches) Init(session *session.Session)

func (*Elasticaches) MaxBatchSize

func (cache *Elasticaches) MaxBatchSize() int

func (*Elasticaches) Nuke

func (cache *Elasticaches) Nuke(identifiers []string) error

Nuke - nuke 'em all!!!

func (*Elasticaches) ResourceIdentifiers

func (cache *Elasticaches) ResourceIdentifiers() []string

ResourceIdentifiers - The instance ids of the elasticache clusters

func (*Elasticaches) ResourceName

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

type GuardDuty struct {
	Client guarddutyiface.GuardDutyAPI
	Region string
	// contains filtered or unexported fields
}

func (*GuardDuty) GetAndSetIdentifiers

func (gd *GuardDuty) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*GuardDuty) Init

func (gd *GuardDuty) Init(session *session.Session)

func (*GuardDuty) MaxBatchSize

func (gd *GuardDuty) MaxBatchSize() int

func (*GuardDuty) Nuke

func (gd *GuardDuty) Nuke(detectorIds []string) error

func (*GuardDuty) ResourceIdentifiers

func (gd *GuardDuty) ResourceIdentifiers() []string

func (*GuardDuty) ResourceName

func (gd *GuardDuty) ResourceName() string

type IAMGroups

type IAMGroups struct {
	Client     iamiface.IAMAPI
	GroupNames []string
}

IAMGroups - represents all IAMGroups on the AWS Account

func (*IAMGroups) GetAndSetIdentifiers

func (ig *IAMGroups) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*IAMGroups) Init

func (ig *IAMGroups) Init(session *session.Session)

func (*IAMGroups) MaxBatchSize

func (ig *IAMGroups) MaxBatchSize() int

Tentative batch size to ensure AWS doesn't throttle There's a global max of 500 groups so it shouldn't take long either way

func (*IAMGroups) Nuke

func (ig *IAMGroups) Nuke(identifiers []string) error

Nuke - Destroy every group in this collection

func (*IAMGroups) ResourceIdentifiers

func (ig *IAMGroups) ResourceIdentifiers() []string

ResourceIdentifiers - The IAM GroupNames

func (*IAMGroups) ResourceName

func (ig *IAMGroups) ResourceName() string

ResourceName - the simple name of the AWS resource

type IAMPolicies

type IAMPolicies struct {
	Client     iamiface.IAMAPI
	PolicyArns []string
}

IAMPolicies - represents all IAM Policies on the AWS account

func (*IAMPolicies) GetAndSetIdentifiers

func (ip *IAMPolicies) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*IAMPolicies) Init

func (ip *IAMPolicies) Init(session *session.Session)

func (*IAMPolicies) MaxBatchSize

func (ip *IAMPolicies) MaxBatchSize() int

MaxBatchSize Tentative batch size to ensure AWS doesn't throttle

func (*IAMPolicies) Nuke

func (ip *IAMPolicies) Nuke(identifiers []string) error

Nuke - Destroy every group in this collection

func (*IAMPolicies) ResourceIdentifiers

func (ip *IAMPolicies) ResourceIdentifiers() []string

ResourceIdentifiers - The IAM GroupNames

func (*IAMPolicies) ResourceName

func (ip *IAMPolicies) ResourceName() string

ResourceName - the simple name of the AWS resource

type IAMRoles

type IAMRoles struct {
	Client    iamiface.IAMAPI
	RoleNames []string
}

IAMRoles - represents all IAMRoles on the AWS Account

func (*IAMRoles) GetAndSetIdentifiers

func (ir *IAMRoles) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*IAMRoles) Init

func (ir *IAMRoles) Init(session *session.Session)

func (*IAMRoles) MaxBatchSize

func (ir *IAMRoles) MaxBatchSize() int

Tentative batch size to ensure AWS doesn't throttle

func (*IAMRoles) Nuke

func (ir *IAMRoles) Nuke(identifiers []string) error

Nuke - nuke 'em all!!!

func (*IAMRoles) ResourceIdentifiers

func (ir *IAMRoles) ResourceIdentifiers() []string

ResourceIdentifiers - The IAM UserNames

func (*IAMRoles) ResourceName

func (ir *IAMRoles) ResourceName() string

ResourceName - the simple name of the aws resource

type IAMServiceLinkedRoles

type IAMServiceLinkedRoles struct {
	Client    iamiface.IAMAPI
	RoleNames []string
}

IAMServiceLinkedRoles - represents all IAMServiceLinkedRoles on the AWS Account

func (*IAMServiceLinkedRoles) GetAndSetIdentifiers

func (islr *IAMServiceLinkedRoles) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*IAMServiceLinkedRoles) Init

func (islr *IAMServiceLinkedRoles) Init(session *session.Session)

func (*IAMServiceLinkedRoles) MaxBatchSize

func (islr *IAMServiceLinkedRoles) MaxBatchSize() int

Tentative batch size to ensure AWS doesn't throttle

func (*IAMServiceLinkedRoles) Nuke

func (islr *IAMServiceLinkedRoles) Nuke(identifiers []string) error

Nuke - nuke 'em all!!!

func (*IAMServiceLinkedRoles) ResourceIdentifiers

func (islr *IAMServiceLinkedRoles) ResourceIdentifiers() []string

ResourceIdentifiers - The IAM UserNames

func (*IAMServiceLinkedRoles) ResourceName

func (islr *IAMServiceLinkedRoles) ResourceName() string

ResourceName - the simple name of the aws resource

type IAMUsers

type IAMUsers struct {
	Client    iamiface.IAMAPI
	UserNames []string
}

IAMUsers - represents all IAMUsers on the AWS Account

func (*IAMUsers) GetAndSetIdentifiers

func (iu *IAMUsers) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*IAMUsers) Init

func (iu *IAMUsers) Init(session *session.Session)

func (*IAMUsers) MaxBatchSize

func (iu *IAMUsers) MaxBatchSize() int

Tentative batch size to ensure AWS doesn't throttle

func (*IAMUsers) Nuke

func (iu *IAMUsers) Nuke(users []string) error

Nuke - nuke 'em all!!!

func (*IAMUsers) ResourceIdentifiers

func (iu *IAMUsers) ResourceIdentifiers() []string

ResourceIdentifiers - The IAM UserNames

func (*IAMUsers) ResourceName

func (iu *IAMUsers) ResourceName() string

ResourceName - the simple name of the aws resource

type ImageAvailableError

type ImageAvailableError struct{}

func (ImageAvailableError) Error

func (e ImageAvailableError) Error() string

type KinesisStreams

type KinesisStreams struct {
	Client kinesisiface.KinesisAPI
	Region string
	Names  []string
}

KinesisStreams - represents all Kinesis streams

func (*KinesisStreams) GetAndSetIdentifiers

func (ks *KinesisStreams) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*KinesisStreams) Init

func (ks *KinesisStreams) Init(session *session.Session)

func (*KinesisStreams) MaxBatchSize

func (ks *KinesisStreams) MaxBatchSize() int

func (*KinesisStreams) Nuke

func (ks *KinesisStreams) Nuke(identifiers []string) error

Nuke - nuke 'em all!!!

func (*KinesisStreams) ResourceIdentifiers

func (ks *KinesisStreams) ResourceIdentifiers() []string

ResourceIdentifiers - The names of the Kinesis Streams

func (*KinesisStreams) ResourceName

func (ks *KinesisStreams) ResourceName() string

ResourceName - The simple name of the AWS resource

type KmsCheckIncludeResult

type KmsCheckIncludeResult struct {
	KeyId string
	Error error
}

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

type KmsCustomerKeys

type KmsCustomerKeys struct {
	Client     kmsiface.KMSAPI
	Region     string
	KeyIds     []string
	KeyAliases map[string][]string
}

func (*KmsCustomerKeys) GetAndSetIdentifiers

func (kck *KmsCustomerKeys) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*KmsCustomerKeys) Init

func (kck *KmsCustomerKeys) Init(session *session.Session)

func (*KmsCustomerKeys) MaxBatchSize

func (kck *KmsCustomerKeys) MaxBatchSize() int

MaxBatchSize - Requests batch size

func (*KmsCustomerKeys) Nuke

func (kck *KmsCustomerKeys) Nuke(keyIds []string) error

Nuke - remove all customer managed keys

func (*KmsCustomerKeys) ResourceIdentifiers

func (kck *KmsCustomerKeys) ResourceIdentifiers() []string

ResourceIdentifiers - The KMS Key IDs

func (*KmsCustomerKeys) ResourceName

func (kck *KmsCustomerKeys) ResourceName() string

ResourceName - the simple name of the aws resource

type LambdaDeleteError

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

func (LambdaDeleteError) Error

func (e LambdaDeleteError) Error() string

type LambdaFunctions

type LambdaFunctions struct {
	Client              lambdaiface.LambdaAPI
	Region              string
	LambdaFunctionNames []string
}

func (*LambdaFunctions) GetAndSetIdentifiers

func (lf *LambdaFunctions) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*LambdaFunctions) Init

func (lf *LambdaFunctions) Init(session *session.Session)

func (*LambdaFunctions) MaxBatchSize

func (lf *LambdaFunctions) MaxBatchSize() int

func (*LambdaFunctions) Nuke

func (lf *LambdaFunctions) Nuke(identifiers []string) error

Nuke - nuke 'em all!!!

func (*LambdaFunctions) ResourceIdentifiers

func (lf *LambdaFunctions) ResourceIdentifiers() []string

ResourceIdentifiers - The names of the lambda functions

func (*LambdaFunctions) ResourceName

func (lf *LambdaFunctions) ResourceName() string

type LambdaLayers

type LambdaLayers struct {
	Client              lambdaiface.LambdaAPI
	Region              string
	LambdaFunctionNames []string
}

func (*LambdaLayers) GetAndSetIdentifiers

func (lf *LambdaLayers) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*LambdaLayers) Init

func (lf *LambdaLayers) Init(session *session.Session)

func (*LambdaLayers) MaxBatchSize

func (lf *LambdaLayers) MaxBatchSize() int

func (*LambdaLayers) Nuke

func (lf *LambdaLayers) Nuke(identifiers []string) error

Nuke - nuke 'em all!!!

func (*LambdaLayers) ResourceIdentifiers

func (lf *LambdaLayers) ResourceIdentifiers() []string

ResourceIdentifiers - The names of the lambda functions

func (*LambdaLayers) ResourceName

func (lf *LambdaLayers) ResourceName() string

type LambdaVersionDeleteError

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

func (LambdaVersionDeleteError) Error

func (e LambdaVersionDeleteError) Error() string

type LaunchConfigs

type LaunchConfigs struct {
	Client                   autoscalingiface.AutoScalingAPI
	Region                   string
	LaunchConfigurationNames []string
}

LaunchConfigs - represents all launch configurations

func (*LaunchConfigs) GetAndSetIdentifiers

func (lc *LaunchConfigs) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*LaunchConfigs) Init

func (lc *LaunchConfigs) Init(session *session.Session)

func (*LaunchConfigs) MaxBatchSize

func (lc *LaunchConfigs) MaxBatchSize() int

func (*LaunchConfigs) Nuke

func (lc *LaunchConfigs) Nuke(identifiers []string) error

Nuke - nuke 'em all!!!

func (*LaunchConfigs) ResourceIdentifiers

func (lc *LaunchConfigs) ResourceIdentifiers() []string

ResourceIdentifiers - The names of the launch configurations

func (*LaunchConfigs) ResourceName

func (lc *LaunchConfigs) ResourceName() string

ResourceName - the simple name of the aws resource

type LaunchTemplates

type LaunchTemplates struct {
	Client              ec2iface.EC2API
	Region              string
	LaunchTemplateNames []string
}

LaunchTemplates - represents all launch templates

func (*LaunchTemplates) GetAndSetIdentifiers

func (lt *LaunchTemplates) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*LaunchTemplates) Init

func (lt *LaunchTemplates) Init(session *session.Session)

func (*LaunchTemplates) MaxBatchSize

func (lt *LaunchTemplates) MaxBatchSize() int

func (*LaunchTemplates) Nuke

func (lt *LaunchTemplates) Nuke(identifiers []string) error

Nuke - nuke 'em all!!!

func (*LaunchTemplates) ResourceIdentifiers

func (lt *LaunchTemplates) ResourceIdentifiers() []string

ResourceIdentifiers - The names of the launch templates

func (*LaunchTemplates) ResourceName

func (lt *LaunchTemplates) ResourceName() string

ResourceName - the simple name of the aws resource

type LoadBalancers

type LoadBalancers struct {
	Client elbiface.ELBAPI
	Region string
	Names  []string
}

LoadBalancers - represents all load balancers

func (*LoadBalancers) GetAndSetIdentifiers

func (balancer *LoadBalancers) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*LoadBalancers) Init

func (balancer *LoadBalancers) Init(session *session.Session)

func (*LoadBalancers) MaxBatchSize

func (balancer *LoadBalancers) MaxBatchSize() int

func (*LoadBalancers) Nuke

func (balancer *LoadBalancers) Nuke(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 {
	Client elbv2iface.ELBV2API
	Region string
	Arns   []string
}

LoadBalancersV2 - represents all load balancers

func (*LoadBalancersV2) GetAndSetIdentifiers

func (balancer *LoadBalancersV2) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*LoadBalancersV2) Init

func (balancer *LoadBalancersV2) Init(session *session.Session)

func (*LoadBalancersV2) MaxBatchSize

func (balancer *LoadBalancersV2) MaxBatchSize() int

func (*LoadBalancersV2) Nuke

func (balancer *LoadBalancersV2) Nuke(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 MSKCluster

type MSKCluster struct {
	Client      kafkaiface.KafkaAPI
	Region      string
	ClusterArns []string
}

MSKCluster - represents all AWS Managed Streaming for Kafka clusters that should be deleted.

func (MSKCluster) GetAndSetIdentifiers

func (msk MSKCluster) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (MSKCluster) Init

func (msk MSKCluster) Init(session *session.Session)

func (MSKCluster) MaxBatchSize

func (msk MSKCluster) MaxBatchSize() int

func (MSKCluster) Nuke

func (msk MSKCluster) Nuke(_ *session.Session, identifiers []string) error

Nuke - nuke 'em all!!!

func (MSKCluster) ResourceIdentifiers

func (msk MSKCluster) ResourceIdentifiers() []string

ResourceIdentifiers - The instance ids of the AWS Managed Streaming for Kafka clusters

func (MSKCluster) ResourceName

func (msk MSKCluster) ResourceName() string

ResourceName - the simple name of the aws resource

type MacieMember

type MacieMember struct {
	Client     macie2iface.Macie2API
	Region     string
	AccountIds []string
}

func (*MacieMember) GetAndSetIdentifiers

func (mm *MacieMember) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*MacieMember) Init

func (mm *MacieMember) Init(session *session.Session)

func (*MacieMember) MaxBatchSize

func (mm *MacieMember) MaxBatchSize() int

func (*MacieMember) Nuke

func (mm *MacieMember) Nuke(identifiers []string) error

func (*MacieMember) ResourceIdentifiers

func (mm *MacieMember) ResourceIdentifiers() []string

func (*MacieMember) ResourceName

func (mm *MacieMember) ResourceName() string

type NatGateways

type NatGateways struct {
	Client        ec2iface.EC2API
	Region        string
	NatGatewayIDs []string
}

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

func (NatGateways) GetAndSetIdentifiers

func (secret NatGateways) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*NatGateways) Init

func (ngw *NatGateways) Init(session *session.Session)

func (NatGateways) MaxBatchSize

func (secret NatGateways) MaxBatchSize() int

func (*NatGateways) Nuke

func (ngw *NatGateways) Nuke(identifiers []string) error

Nuke - nuke 'em all!!!

func (*NatGateways) ResourceIdentifiers

func (ngw *NatGateways) ResourceIdentifiers() []string

ResourceIdentifiers - The instance ids of the ec2 instances

func (*NatGateways) ResourceName

func (ngw *NatGateways) ResourceName() string

ResourceName - the simple name of the aws resource

type OIDCProviders

type OIDCProviders struct {
	Client       iamiface.IAMAPI
	ProviderARNs []string
}

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

func (*OIDCProviders) GetAndSetIdentifiers

func (oidcprovider *OIDCProviders) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*OIDCProviders) Init

func (oidcprovider *OIDCProviders) Init(session *session.Session)

func (*OIDCProviders) MaxBatchSize

func (oidcprovider *OIDCProviders) MaxBatchSize() int

func (*OIDCProviders) Nuke

func (oidcprovider *OIDCProviders) Nuke(identifiers []string) error

Nuke - nuke 'em all!!!

func (*OIDCProviders) ResourceIdentifiers

func (oidcprovider *OIDCProviders) ResourceIdentifiers() []string

ResourceIdentifiers - The ARNs of the OIDC providers.

func (*OIDCProviders) ResourceName

func (oidcprovider *OIDCProviders) ResourceName() string

ResourceName - the simple name of the aws resource

type OpenSearchDomains

type OpenSearchDomains struct {
	Client      opensearchserviceiface.OpenSearchServiceAPI
	Region      string
	DomainNames []string
}

OpenSearchDomains represents all OpenSearch domains found in a region

func (*OpenSearchDomains) GetAndSetIdentifiers

func (osd *OpenSearchDomains) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*OpenSearchDomains) Init

func (osd *OpenSearchDomains) Init(session *session.Session)

func (*OpenSearchDomains) MaxBatchSize

func (osd *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

func (osd *OpenSearchDomains) Nuke(identifiers []string) error

Nuke nukes all OpenSearch domain resources

func (*OpenSearchDomains) ResourceIdentifiers

func (osd *OpenSearchDomains) ResourceIdentifiers() []string

ResourceIdentifiers the collected OpenSearch Domains

func (*OpenSearchDomains) ResourceName

func (osd *OpenSearchDomains) ResourceName() string

ResourceName is the simple name of the aws resource

type RdsDeleteError

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

func (RdsDeleteError) Error

func (e RdsDeleteError) Error() string

type RdsSnapshot

type RdsSnapshot struct {
	Client      rdsiface.RDSAPI
	Region      string
	Identifiers []string
}

func (*RdsSnapshot) GetAndSetIdentifiers

func (snapshot *RdsSnapshot) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*RdsSnapshot) Init

func (snapshot *RdsSnapshot) Init(session *session.Session)

func (*RdsSnapshot) MaxBatchSize

func (snapshot *RdsSnapshot) MaxBatchSize() int

func (*RdsSnapshot) Nuke

func (snapshot *RdsSnapshot) Nuke(identifiers []string) error

Nuke - nuke 'em all!!!

func (*RdsSnapshot) ResourceIdentifiers

func (snapshot *RdsSnapshot) ResourceIdentifiers() []string

func (*RdsSnapshot) ResourceName

func (snapshot *RdsSnapshot) ResourceName() string

type RedshiftClusters

type RedshiftClusters struct {
	Client             redshiftiface.RedshiftAPI
	Region             string
	ClusterIdentifiers []string
}

func (*RedshiftClusters) GetAndSetIdentifiers

func (rc *RedshiftClusters) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*RedshiftClusters) Init

func (rc *RedshiftClusters) Init(session *session.Session)

func (*RedshiftClusters) MaxBatchSize

func (rc *RedshiftClusters) MaxBatchSize() int

func (*RedshiftClusters) Nuke

func (rc *RedshiftClusters) Nuke(identifiers []string) error

Nuke - nuke 'em all!!!

func (*RedshiftClusters) ResourceIdentifiers

func (rc *RedshiftClusters) ResourceIdentifiers() []string

ResourceIdentifiers - The instance names of the rds db instances

func (*RedshiftClusters) ResourceName

func (rc *RedshiftClusters) ResourceName() string

type S3Bucket

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

S3Bucket - represents S3 bucket

type S3Buckets

type S3Buckets struct {
	Client s3iface.S3API
	Region string
	Names  []string
}

S3Buckets - represents all S3 Buckets

func (*S3Buckets) GetAndSetIdentifiers

func (bucket *S3Buckets) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*S3Buckets) Init

func (bucket *S3Buckets) Init(session *session.Session)

func (*S3Buckets) MaxBatchSize

func (bucket *S3Buckets) MaxBatchSize() int

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

func (*S3Buckets) MaxConcurrentGetSize

func (bucket *S3Buckets) MaxConcurrentGetSize() int

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

func (*S3Buckets) Nuke

func (bucket *S3Buckets) Nuke(identifiers []string) error

Nuke - nuke 'em all!!!

func (*S3Buckets) ObjectMaxBatchSize

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

func (bucket *S3Buckets) ResourceIdentifiers() []string

ResourceIdentifiers - The names of the S3 buckets

func (*S3Buckets) ResourceName

func (bucket *S3Buckets) ResourceName() string

ResourceName - the simple name of the aws resource

type SNSTopic

type SNSTopic struct {
	Client snsiface.SNSAPI
	Region string
	Arns   []string
}

func (*SNSTopic) GetAndSetIdentifiers

func (s *SNSTopic) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*SNSTopic) Init

func (s *SNSTopic) Init(session *session.Session)

func (*SNSTopic) MaxBatchSize

func (s *SNSTopic) MaxBatchSize() int

func (*SNSTopic) Nuke

func (s *SNSTopic) Nuke(identifiers []string) error

func (*SNSTopic) ResourceIdentifiers

func (s *SNSTopic) ResourceIdentifiers() []string

func (*SNSTopic) ResourceName

func (s *SNSTopic) ResourceName() string

type SageMakerNotebookInstanceDeleteError

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

func (SageMakerNotebookInstanceDeleteError) Error

type SageMakerNotebookInstances

type SageMakerNotebookInstances struct {
	Client        sagemakeriface.SageMakerAPI
	Region        string
	InstanceNames []string
}

func (*SageMakerNotebookInstances) GetAndSetIdentifiers

func (smni *SageMakerNotebookInstances) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*SageMakerNotebookInstances) Init

func (smni *SageMakerNotebookInstances) Init(session *session.Session)

func (*SageMakerNotebookInstances) MaxBatchSize

func (smni *SageMakerNotebookInstances) MaxBatchSize() int

func (*SageMakerNotebookInstances) Nuke

func (smni *SageMakerNotebookInstances) Nuke(identifiers []string) error

Nuke - nuke 'em all!!!

func (*SageMakerNotebookInstances) ResourceIdentifiers

func (smni *SageMakerNotebookInstances) ResourceIdentifiers() []string

ResourceIdentifiers - The instance names of the rds db instances

func (*SageMakerNotebookInstances) ResourceName

func (smni *SageMakerNotebookInstances) ResourceName() string

type SecretsManagerSecrets

type SecretsManagerSecrets struct {
	Client    secretsmanageriface.SecretsManagerAPI
	Region    string
	SecretIDs []string
}

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

func (*SecretsManagerSecrets) GetAndSetIdentifiers

func (sms *SecretsManagerSecrets) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*SecretsManagerSecrets) Init

func (sms *SecretsManagerSecrets) Init(session *session.Session)

func (*SecretsManagerSecrets) MaxBatchSize

func (sms *SecretsManagerSecrets) MaxBatchSize() int

func (*SecretsManagerSecrets) Nuke

func (sms *SecretsManagerSecrets) Nuke(identifiers []string) error

Nuke - nuke 'em all!!!

func (*SecretsManagerSecrets) ResourceIdentifiers

func (sms *SecretsManagerSecrets) ResourceIdentifiers() []string

ResourceIdentifiers - The instance ids of the ec2 instances

func (*SecretsManagerSecrets) ResourceName

func (sms *SecretsManagerSecrets) ResourceName() string

ResourceName - the simple name of the aws resource

type SecurityHub

type SecurityHub struct {
	Client  securityhubiface.SecurityHubAPI
	Region  string
	HubArns []string
}

func (*SecurityHub) GetAndSetIdentifiers

func (sh *SecurityHub) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*SecurityHub) Init

func (sh *SecurityHub) Init(session *session.Session)

func (*SecurityHub) MaxBatchSize

func (sh *SecurityHub) MaxBatchSize() int

func (*SecurityHub) Nuke

func (sh *SecurityHub) Nuke(identifiers []string) error

func (*SecurityHub) ResourceIdentifiers

func (sh *SecurityHub) ResourceIdentifiers() []string

func (*SecurityHub) ResourceName

func (sh *SecurityHub) ResourceName() string

type Snapshots

type Snapshots struct {
	Client      ec2iface.EC2API
	Region      string
	SnapshotIds []string
}

Snapshots - represents all user owned Snapshots

func (*Snapshots) GetAndSetIdentifiers

func (s *Snapshots) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*Snapshots) Init

func (s *Snapshots) Init(session *session.Session)

func (*Snapshots) MaxBatchSize

func (s *Snapshots) MaxBatchSize() int

func (*Snapshots) Nuke

func (s *Snapshots) Nuke(identifiers []string) error

Nuke - nuke 'em all!!!

func (*Snapshots) ResourceIdentifiers

func (s *Snapshots) ResourceIdentifiers() []string

ResourceIdentifiers - The Snapshot snapshot ids

func (*Snapshots) ResourceName

func (s *Snapshots) ResourceName() string

ResourceName - the simple name of the aws resource

type SqsQueue

type SqsQueue struct {
	Client    sqsiface.SQSAPI
	Region    string
	QueueUrls []string
}

SqsQueue - represents all sqs queues

func (*SqsQueue) GetAndSetIdentifiers

func (sq *SqsQueue) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*SqsQueue) Init

func (sq *SqsQueue) Init(session *session.Session)

func (*SqsQueue) MaxBatchSize

func (sq *SqsQueue) MaxBatchSize() int

func (*SqsQueue) Nuke

func (sq *SqsQueue) Nuke(identifiers []string) error

Nuke - nuke 'em all!!!

func (*SqsQueue) ResourceIdentifiers

func (sq *SqsQueue) ResourceIdentifiers() []string

ResourceIdentifiers - The arns of the sqs queues

func (*SqsQueue) ResourceName

func (sq *SqsQueue) ResourceName() string

ResourceName - the simple name of the aws resource

type TooManyAccessAnalyzersErr

type TooManyAccessAnalyzersErr struct{}

func (TooManyAccessAnalyzersErr) Error

func (err TooManyAccessAnalyzersErr) Error() string

type TooManyApiGatewayErr

type TooManyApiGatewayErr struct{}

func (TooManyApiGatewayErr) Error

func (err TooManyApiGatewayErr) Error() string

type TooManyApiGatewayV2Err

type TooManyApiGatewayV2Err struct{}

func (TooManyApiGatewayV2Err) Error

func (err TooManyApiGatewayV2Err) Error() string

type TooManyCloudWatchAlarmsErr

type TooManyCloudWatchAlarmsErr struct{}

func (TooManyCloudWatchAlarmsErr) Error

func (err TooManyCloudWatchAlarmsErr) Error() string

type TooManyCloudWatchDashboardsErr

type TooManyCloudWatchDashboardsErr struct{}

func (TooManyCloudWatchDashboardsErr) Error

type TooManyEKSClustersErr

type TooManyEKSClustersErr struct{}

func (TooManyEKSClustersErr) Error

func (err TooManyEKSClustersErr) Error() string

type TooManyElasticFileSystemsErr

type TooManyElasticFileSystemsErr struct{}

func (TooManyElasticFileSystemsErr) Error

type TooManyIamGroupErr

type TooManyIamGroupErr struct{}

TooManyIamGroupErr Custom Errors

func (TooManyIamGroupErr) Error

func (err TooManyIamGroupErr) Error() string

type TooManyIamPolicyErr

type TooManyIamPolicyErr struct{}

TooManyIamPolicyErr Custom Errors

func (TooManyIamPolicyErr) Error

func (err TooManyIamPolicyErr) Error() string

type TooManyIamRoleErr

type TooManyIamRoleErr struct{}

func (TooManyIamRoleErr) Error

func (err TooManyIamRoleErr) Error() string

type TooManyIamServiceLinkedRoleErr

type TooManyIamServiceLinkedRoleErr struct{}

func (TooManyIamServiceLinkedRoleErr) Error

type TooManyLogGroupsErr

type TooManyLogGroupsErr struct{}

func (TooManyLogGroupsErr) Error

func (err TooManyLogGroupsErr) Error() string

type TooManyNatErr

type TooManyNatErr struct{}

func (TooManyNatErr) Error

func (err TooManyNatErr) Error() string

type TooManyOIDCProvidersErr

type TooManyOIDCProvidersErr struct{}

func (TooManyOIDCProvidersErr) Error

func (err TooManyOIDCProvidersErr) Error() string

type TooManyOpenSearchDomainsErr

type TooManyOpenSearchDomainsErr struct{}

func (TooManyOpenSearchDomainsErr) Error

func (err TooManyOpenSearchDomainsErr) Error() string

type TooManySNSTopicsErr

type TooManySNSTopicsErr struct{}

func (TooManySNSTopicsErr) Error

func (err TooManySNSTopicsErr) Error() string

type TooManyStreamsErr

type TooManyStreamsErr struct{}

func (TooManyStreamsErr) Error

func (err TooManyStreamsErr) Error() string

type TransitGatewayPeeringAttachment

type TransitGatewayPeeringAttachment struct {
	Client ec2iface.EC2API
	Region string
	Ids    []string
}

TransitGateways - represents all transit gateways

func (*TransitGatewayPeeringAttachment) GetAndSetIdentifiers

func (tgpa *TransitGatewayPeeringAttachment) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*TransitGatewayPeeringAttachment) Init

func (tgpa *TransitGatewayPeeringAttachment) Init(session *session.Session)

func (*TransitGatewayPeeringAttachment) MaxBatchSize

func (tgpa *TransitGatewayPeeringAttachment) MaxBatchSize() int

func (*TransitGatewayPeeringAttachment) Nuke

func (tgpa *TransitGatewayPeeringAttachment) Nuke(identifiers []string) error

func (*TransitGatewayPeeringAttachment) ResourceIdentifiers

func (tgpa *TransitGatewayPeeringAttachment) ResourceIdentifiers() []string

func (*TransitGatewayPeeringAttachment) ResourceName

func (tgpa *TransitGatewayPeeringAttachment) ResourceName() string

type TransitGateways

type TransitGateways struct {
	Client ec2iface.EC2API
	Region string
	Ids    []string
}

TransitGateways - represents all transit gateways

func (*TransitGateways) GetAndSetIdentifiers

func (tgw *TransitGateways) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*TransitGateways) Init

func (tgw *TransitGateways) Init(session *session.Session)

func (*TransitGateways) MaxBatchSize

func (tgw *TransitGateways) MaxBatchSize() int

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

func (*TransitGateways) Nuke

func (tgw *TransitGateways) Nuke(identifiers []string) error

Nuke - nuke 'em all!!!

func (*TransitGateways) ResourceIdentifiers

func (tgw *TransitGateways) ResourceIdentifiers() []string

ResourceIdentifiers - The Ids of the transit gateways

func (*TransitGateways) ResourceName

func (tgw *TransitGateways) ResourceName() string

ResourceName - the simple name of the aws resource

type TransitGatewaysRouteTables

type TransitGatewaysRouteTables struct {
	Client ec2iface.EC2API
	Region string
	Ids    []string
}

TransitGatewaysRouteTables - represents all transit gateways route tables

func (*TransitGatewaysRouteTables) GetAndSetIdentifiers

func (tgw *TransitGatewaysRouteTables) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*TransitGatewaysRouteTables) Init

func (tgw *TransitGatewaysRouteTables) Init(session *session.Session)

func (*TransitGatewaysRouteTables) MaxBatchSize

func (tgw *TransitGatewaysRouteTables) MaxBatchSize() int

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

func (*TransitGatewaysRouteTables) Nuke

func (tgw *TransitGatewaysRouteTables) Nuke(identifiers []string) error

Nuke - nuke 'em all!!!

func (*TransitGatewaysRouteTables) ResourceIdentifiers

func (tgw *TransitGatewaysRouteTables) ResourceIdentifiers() []string

ResourceIdentifiers - The arns of the transit gateways route tables

func (*TransitGatewaysRouteTables) ResourceName

func (tgw *TransitGatewaysRouteTables) ResourceName() string

ResourceName - the simple name of the aws resource

type TransitGatewaysVpcAttachment

type TransitGatewaysVpcAttachment struct {
	Client ec2iface.EC2API
	Region string
	Ids    []string
}

TransitGatewaysVpcAttachment - represents all transit gateways vpc attachments

func (*TransitGatewaysVpcAttachment) GetAndSetIdentifiers

func (tgw *TransitGatewaysVpcAttachment) GetAndSetIdentifiers(c context.Context, configObj config.Config) ([]string, error)

func (*TransitGatewaysVpcAttachment) Init

func (tgw *TransitGatewaysVpcAttachment) Init(session *session.Session)

func (*TransitGatewaysVpcAttachment) MaxBatchSize

func (tgw *TransitGatewaysVpcAttachment) MaxBatchSize() int

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

func (*TransitGatewaysVpcAttachment) Nuke

func (tgw *TransitGatewaysVpcAttachment) Nuke(identifiers []string) error

Nuke - nuke 'em all!!!

func (*TransitGatewaysVpcAttachment) ResourceIdentifiers

func (tgw *TransitGatewaysVpcAttachment) ResourceIdentifiers() []string

ResourceIdentifiers - The Ids of the transit gateways

func (*TransitGatewaysVpcAttachment) ResourceName

func (tgw *TransitGatewaysVpcAttachment) ResourceName() string

ResourceName - the simple name of the aws resource

type VPCEndpointDeleteTimeoutError

type VPCEndpointDeleteTimeoutError struct{}

func (VPCEndpointDeleteTimeoutError) Error

type Vpc

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

func GetDefaultVpcs

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

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.

Source Files

Jump to

Keyboard shortcuts

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