resources

package
v0.48.0 Latest Latest
Warning

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

Go to latest
Published: Mar 24, 2026 License: MIT Imports: 101 Imported by: 2

Documentation

Overview

Package resources provides AWS resource implementations for cloud-nuke.

This package contains the adapter layer that bridges the generic resource.Resource[C] pattern with AWS-specific types. The adapter allows generic resources to satisfy the AwsResource interface required by cloud-nuke's AWS execution engine.

Architecture

The generic Resource[C] type (in resource package) provides:

  • Type-safe client handling via generics
  • Standardized listing, filtering, and deletion patterns
  • Centralized error handling and reporting

The adapter layer (this package) provides:

  • WrapAwsInitClient: Type-safe aws.Config initialization helper
  • AwsResourceAdapter: Wraps Resource[C] to implement AwsResource interface
  • NewAwsResource: Factory function to create adapted resources

Creating a New AWS Resource

Define your resource using the generic pattern with WrapAwsInitClient:

func NewMyResource() AwsResource {
    return NewAwsResource(&resource.Resource[MyClientAPI]{
        ResourceTypeName: "my-resource",
        BatchSize:        DefaultBatchSize,
        InitClient: WrapAwsInitClient(func(r *resource.Resource[MyClientAPI], cfg aws.Config) {
            r.Scope.Region = cfg.Region
            r.Client = myservice.NewFromConfig(cfg)
        }),
        // ... other configuration
    })
}

Index

Constants

View Source
const (
	// DefaultWaitTimeout is the default timeout for AWS resource deletion waiters.
	DefaultWaitTimeout = 5 * time.Minute

	// DefaultBatchSize is the default batch size for resource deletion operations.
	DefaultBatchSize = 50
)
View Source
const (
	NetworkInterfaceTypeInterface = "interface"
	// DefaultNetworkInterfaceTimeout is the default timeout for network interface operations
	DefaultNetworkInterfaceTimeout = 5 * time.Minute
)
View Source
const (
	// AwsResourceExclusionTagKey is the tag key used to exclude resources from deletion.
	AwsResourceExclusionTagKey = "cloud-nuke-excluded"
)

Variables

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

AppRunnerAllowedRegions lists AWS regions where App Runner is supported. Reference: https://docs.aws.amazon.com/general/latest/gr/apprunner.html

View Source
var GrafanaAllowedRegions = []string{
	"us-east-1", "us-east-2", "us-west-2", "ap-southeast-1", "ap-southeast-2",
	"ap-northeast-1", "ap-northeast-2", "eu-central-1", "eu-west-1", "eu-west-2",
}

GrafanaAllowedRegions lists AWS regions where Amazon Managed Grafana is supported. Reference: https://docs.aws.amazon.com/general/latest/gr/grafana.html Regions verified to have working Grafana endpoints as of 2026-03. ap-south-1, ca-central-1, eu-north-1, eu-west-3, and sa-east-1 are listed in the AWS docs but return DNS errors ("no such host") in practice.

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

ReceiptRuleAllowedRegions lists AWS regions where SES email receiving is supported. SES does not support email receiving in many regions. Reference: https://docs.aws.amazon.com/ses/latest/dg/regions.html#region-receive-email

Functions

func WrapAwsInitClient added in v0.47.0

func WrapAwsInitClient[C any](fn AwsInitClientFunc[C]) func(r *resource.Resource[C], cfg any)

WrapAwsInitClient converts an AwsInitClientFunc to the generic InitClient function signature required by resource.Resource. This centralizes the type assertion from any to aws.Config, keeping individual resource implementations clean.

This is the recommended way to set InitClient for all AWS resources:

InitClient: WrapAwsInitClient(func(r *resource.Resource[MyAPI], cfg aws.Config) {
    r.Scope.Region = cfg.Region
    r.Client = myservice.NewFromConfig(cfg)
}),

The wrapper panics on type assertion failures since this indicates a programming error - the AWS execution engine should always pass aws.Config. Panicking ensures such errors are caught immediately during development and testing.

Types

type ACMAPI added in v0.47.0

type ACMAPI interface {
	ListCertificates(ctx context.Context, params *acm.ListCertificatesInput, optFns ...func(*acm.Options)) (*acm.ListCertificatesOutput, error)
	DeleteCertificate(ctx context.Context, params *acm.DeleteCertificateInput, optFns ...func(*acm.Options)) (*acm.DeleteCertificateOutput, error)
}

ACMAPI defines the interface for ACM operations.

type ACMPCAAPI added in v0.47.0

type ACMPCAAPI interface {
	DeleteCertificateAuthority(ctx context.Context, params *acmpca.DeleteCertificateAuthorityInput, optFns ...func(*acmpca.Options)) (*acmpca.DeleteCertificateAuthorityOutput, error)
	DescribeCertificateAuthority(ctx context.Context, params *acmpca.DescribeCertificateAuthorityInput, optFns ...func(*acmpca.Options)) (*acmpca.DescribeCertificateAuthorityOutput, error)
	ListCertificateAuthorities(ctx context.Context, params *acmpca.ListCertificateAuthoritiesInput, optFns ...func(*acmpca.Options)) (*acmpca.ListCertificateAuthoritiesOutput, error)
	UpdateCertificateAuthority(ctx context.Context, params *acmpca.UpdateCertificateAuthorityInput, optFns ...func(*acmpca.Options)) (*acmpca.UpdateCertificateAuthorityOutput, error)
}

ACMPCAAPI defines the interface for ACM PCA operations.

type AMIsAPI added in v0.38.0

type AMIsAPI interface {
	DeleteSnapshot(ctx context.Context, params *ec2.DeleteSnapshotInput, optFns ...func(*ec2.Options)) (*ec2.DeleteSnapshotOutput, error)
	DeregisterImage(ctx context.Context, params *ec2.DeregisterImageInput, optFns ...func(*ec2.Options)) (*ec2.DeregisterImageOutput, error)
	DescribeImages(ctx context.Context, params *ec2.DescribeImagesInput, optFns ...func(*ec2.Options)) (*ec2.DescribeImagesOutput, error)
}

AMIsAPI defines the interface for AMI operations.

type ASGroupsAPI added in v0.38.0

type ASGroupsAPI interface {
	DescribeAutoScalingGroups(ctx context.Context, params *autoscaling.DescribeAutoScalingGroupsInput, optFns ...func(*autoscaling.Options)) (*autoscaling.DescribeAutoScalingGroupsOutput, error)
	DeleteAutoScalingGroup(ctx context.Context, params *autoscaling.DeleteAutoScalingGroupInput, optFns ...func(*autoscaling.Options)) (*autoscaling.DeleteAutoScalingGroupOutput, error)
}

ASGroupsAPI defines the interface for Auto Scaling Group operations.

type AccessAnalyzerAPI added in v0.38.0

type AccessAnalyzerAPI interface {
	ListAnalyzers(ctx context.Context, params *accessanalyzer.ListAnalyzersInput, optFns ...func(*accessanalyzer.Options)) (*accessanalyzer.ListAnalyzersOutput, error)
	DeleteAnalyzer(ctx context.Context, params *accessanalyzer.DeleteAnalyzerInput, optFns ...func(*accessanalyzer.Options)) (*accessanalyzer.DeleteAnalyzerOutput, error)
}

AccessAnalyzerAPI defines the interface for AccessAnalyzer operations.

type ApiGatewayAPI added in v0.47.0

type ApiGatewayAPI interface {
	GetRestApis(ctx context.Context, params *apigateway.GetRestApisInput, optFns ...func(*apigateway.Options)) (*apigateway.GetRestApisOutput, error)
	DeleteRestApi(ctx context.Context, params *apigateway.DeleteRestApiInput, optFns ...func(*apigateway.Options)) (*apigateway.DeleteRestApiOutput, error)
}

ApiGatewayAPI defines the interface for API Gateway (v1) operations.

type ApiGatewayV2API added in v0.38.0

type ApiGatewayV2API interface {
	GetApis(ctx context.Context, params *apigatewayv2.GetApisInput, optFns ...func(*apigatewayv2.Options)) (*apigatewayv2.GetApisOutput, error)
	DeleteApi(ctx context.Context, params *apigatewayv2.DeleteApiInput, optFns ...func(*apigatewayv2.Options)) (*apigatewayv2.DeleteApiOutput, error)
}

ApiGatewayV2API defines the interface for API Gateway V2 operations.

type AppRunnerServiceAPI added in v0.38.0

type AppRunnerServiceAPI interface {
	DeleteService(ctx context.Context, params *apprunner.DeleteServiceInput, optFns ...func(*apprunner.Options)) (*apprunner.DeleteServiceOutput, error)
	ListServices(ctx context.Context, params *apprunner.ListServicesInput, optFns ...func(*apprunner.Options)) (*apprunner.ListServicesOutput, error)
}

AppRunnerServiceAPI defines the interface for App Runner service operations.

type AwsInitClientFunc added in v0.47.0

type AwsInitClientFunc[C any] func(r *resource.Resource[C], cfg aws.Config)

AwsInitClientFunc is the AWS-specific client initialization function signature. It receives a typed aws.Config instead of any, providing type safety and eliminating boilerplate type assertions in each resource implementation.

The function should:

  • Set r.Client to the appropriate AWS service client
  • Set r.Scope.Region from cfg.Region (for regional resources)

Example:

func(r *resource.Resource[*ec2.Client], cfg aws.Config) {
    r.Scope.Region = cfg.Region
    r.Client = ec2.NewFromConfig(cfg)
}

type AwsResource added in v0.47.0

type AwsResource interface {
	resource.NukeableResource
	Init(cfg aws.Config)
}

AwsResource is the single canonical interface for all AWS resources. The aws package references this type for container types and the resource registry.

func NewACM added in v0.47.0

func NewACM() AwsResource

NewACM creates a new ACM resource using the generic resource pattern.

func NewACMPCA added in v0.47.0

func NewACMPCA() AwsResource

NewACMPCA creates a new ACMPCA resource using the generic resource pattern.

func NewAMIs added in v0.47.0

func NewAMIs() AwsResource

NewAMIs creates a new AMIs resource using the generic resource pattern.

func NewASGroups added in v0.47.0

func NewASGroups() AwsResource

NewASGroups creates a new ASGroups resource using the generic resource pattern.

func NewAccessAnalyzer added in v0.47.0

func NewAccessAnalyzer() AwsResource

NewAccessAnalyzer creates a new AccessAnalyzer resource using the generic resource pattern.

func NewApiGateway added in v0.47.0

func NewApiGateway() AwsResource

NewApiGateway creates a new ApiGateway resource using the generic resource pattern.

func NewApiGatewayV2 added in v0.47.0

func NewApiGatewayV2() AwsResource

NewApiGatewayV2 creates a new ApiGatewayV2 resource using the generic resource pattern.

func NewAppRunnerService added in v0.47.0

func NewAppRunnerService() AwsResource

NewAppRunnerService creates a new App Runner service resource.

func NewAwsResource added in v0.47.0

func NewAwsResource[C any](r *resource.Resource[C]) AwsResource

NewAwsResource creates an AwsResourceAdapter from a generic Resource. This is the factory function that should be used to create AWS resources that follow the generic resource pattern.

Example:

func NewEC2Instances() AwsResource {
    return NewAwsResource(&resource.Resource[EC2InstancesAPI]{
        ResourceTypeName: "ec2",
        InitClient: WrapAwsInitClient(...),
        // ... other fields
    })
}

func NewBackupVault added in v0.47.0

func NewBackupVault() AwsResource

NewBackupVault creates a new BackupVault resource using the generic resource pattern.

func NewCloudFormationStacks added in v0.47.0

func NewCloudFormationStacks() AwsResource

NewCloudFormationStacks creates a new CloudFormationStacks resource using the generic resource pattern.

func NewCloudMapNamespaces added in v0.47.0

func NewCloudMapNamespaces() AwsResource

NewCloudMapNamespaces creates a new CloudMapNamespaces resource using the generic resource pattern.

func NewCloudMapServices added in v0.47.0

func NewCloudMapServices() AwsResource

NewCloudMapServices creates a new CloudMapServices resource using the generic resource pattern.

func NewCloudWatchAlarms added in v0.47.0

func NewCloudWatchAlarms() AwsResource

NewCloudWatchAlarms creates a new CloudWatch Alarms resource using the generic resource pattern.

func NewCloudWatchDashboards added in v0.47.0

func NewCloudWatchDashboards() AwsResource

NewCloudWatchDashboards creates a new CloudWatch Dashboards resource using the generic resource pattern.

func NewCloudWatchLogGroups added in v0.47.0

func NewCloudWatchLogGroups() AwsResource

NewCloudWatchLogGroups creates a new CloudWatch Log Groups resource using the generic resource pattern.

func NewCloudfrontDistributions added in v0.47.0

func NewCloudfrontDistributions() AwsResource

NewCloudfrontDistributions creates a new CloudFront distribution resource.

func NewCloudtrailTrail added in v0.47.0

func NewCloudtrailTrail() AwsResource

NewCloudtrailTrail creates a new CloudtrailTrail resource using the generic resource pattern.

func NewCodeDeployApplications added in v0.47.0

func NewCodeDeployApplications() AwsResource

NewCodeDeployApplications creates a new CodeDeployApplications resource.

func NewConfigServiceRecorders added in v0.47.0

func NewConfigServiceRecorders() AwsResource

NewConfigServiceRecorders creates a new ConfigServiceRecorders resource using the generic resource pattern.

func NewConfigServiceRules added in v0.47.0

func NewConfigServiceRules() AwsResource

NewConfigServiceRules creates a new Config Service Rules resource using the generic resource pattern.

func NewDBClusters added in v0.47.0

func NewDBClusters() AwsResource

NewDBClusters creates a new RDS DB Clusters resource using the generic resource pattern.

func NewDBGlobalClusterMemberships added in v0.47.0

func NewDBGlobalClusterMemberships() AwsResource

NewDBGlobalClusterMemberships creates a new RDS Global Cluster Memberships resource.

func NewDBGlobalClusters added in v0.47.0

func NewDBGlobalClusters() AwsResource

NewDBGlobalClusters creates a new RDS Global Clusters resource using the generic resource pattern.

func NewDBInstances added in v0.47.0

func NewDBInstances() AwsResource

NewDBInstances creates a new DBInstances resource using the generic resource pattern.

func NewDBSubnetGroups added in v0.47.0

func NewDBSubnetGroups() AwsResource

NewDBSubnetGroups creates a new DBSubnetGroups resource using the generic resource pattern.

func NewDataPipeline added in v0.47.0

func NewDataPipeline() AwsResource

func NewDataSyncLocation added in v0.47.0

func NewDataSyncLocation() AwsResource

NewDataSyncLocation creates a new DataSync Location resource using the generic resource pattern.

func NewDataSyncTask added in v0.47.0

func NewDataSyncTask() AwsResource

NewDataSyncTask creates a new DataSync Task resource using the generic resource pattern.

func NewDynamoDB added in v0.47.0

func NewDynamoDB() AwsResource

NewDynamoDB creates a new DynamoDB resource using the generic resource pattern.

func NewEBApplications added in v0.47.0

func NewEBApplications() AwsResource

NewEBApplications creates a new Elastic Beanstalk Applications resource using the generic resource pattern.

func NewEBSVolumes added in v0.47.0

func NewEBSVolumes() AwsResource

NewEBSVolumes creates a new EBS Volumes resource using the generic resource pattern.

func NewEC2AwsResource added in v0.47.0

func NewEC2AwsResource[C any](
	resourceTypeName string,
	initClient func(r *resource.Resource[C], cfg any),
	configExtractor func(c config.Config) config.EC2ResourceType,
	lister EC2ListerFunc[C],
	nuker resource.NukerFunc[C],
	opts *EC2ResourceOptions[C],
) AwsResource

NewEC2AwsResource creates an AWS resource that uses EC2ResourceType config (with DefaultOnly support). This helper encapsulates the closure pattern needed to pass DefaultOnly from ConfigGetter to Lister.

Example:

func NewEC2VPC() AwsResource {
    return NewEC2AwsResource[EC2VpcAPI](
        "vpc",
        WrapAwsInitClient(func(r *resource.Resource[EC2VpcAPI], cfg aws.Config) {
            r.Scope.Region = cfg.Region
            r.Client = ec2.NewFromConfig(cfg)
        }),
        func(c config.Config) config.EC2ResourceType { return c.VPC },
        listVPCs,
        resource.SequentialDeleter(deleteVPC),
        nil, // no options
    )
}

func NewEC2DedicatedHosts added in v0.47.0

func NewEC2DedicatedHosts() AwsResource

NewEC2DedicatedHosts creates a new EC2DedicatedHosts resource using the generic resource pattern.

func NewEC2DhcpOptions added in v0.47.0

func NewEC2DhcpOptions() AwsResource

NewEC2DhcpOptions creates a new EC2DhcpOption resource using the generic resource pattern.

func NewEC2Endpoints added in v0.47.0

func NewEC2Endpoints() AwsResource

NewEC2Endpoints creates a new EC2 VPC Endpoints resource using the generic resource pattern.

func NewEC2IPAM added in v0.47.0

func NewEC2IPAM() AwsResource

NewEC2IPAM creates a new EC2 IPAM resource using the generic resource pattern.

func NewEC2IPAMByoasn added in v0.47.0

func NewEC2IPAMByoasn() AwsResource

NewEC2IPAMByoasn creates a new EC2 IPAM BYOASN resource using the generic resource pattern.

func NewEC2IPAMCustomAllocation added in v0.47.0

func NewEC2IPAMCustomAllocation() AwsResource

NewEC2IPAMCustomAllocation creates a new EC2 IPAM Custom Allocation resource using the generic resource pattern.

func NewEC2IPAMPool added in v0.47.0

func NewEC2IPAMPool() AwsResource

NewEC2IPAMPool creates a new EC2 IPAM Pool resource using the generic resource pattern.

func NewEC2IPAMResourceDiscovery added in v0.47.0

func NewEC2IPAMResourceDiscovery() AwsResource

NewEC2IPAMResourceDiscovery creates a new EC2 IPAM Resource Discovery resource using the generic resource pattern.

func NewEC2IPAMScope added in v0.47.0

func NewEC2IPAMScope() AwsResource

NewEC2IPAMScope creates a new EC2 IPAM Scope resource using the generic resource pattern.

func NewEC2Instances added in v0.47.0

func NewEC2Instances() AwsResource

NewEC2Instances creates a new EC2 Instances resource using the generic resource pattern.

func NewEC2KeyPairs added in v0.47.0

func NewEC2KeyPairs() AwsResource

NewEC2KeyPairs creates a new EC2 Key Pairs resource using the generic resource pattern.

func NewEC2PlacementGroups added in v0.47.0

func NewEC2PlacementGroups() AwsResource

NewEC2PlacementGroups creates a new EC2 Placement Groups resource using the generic resource pattern.

func NewEC2Subnet added in v0.47.0

func NewEC2Subnet() AwsResource

NewEC2Subnet creates a new EC2 Subnet resource using the generic resource pattern.

func NewEC2VPC added in v0.47.0

func NewEC2VPC() AwsResource

NewEC2VPC creates a new EC2 VPC resource using the generic resource pattern.

func NewECR added in v0.47.0

func NewECR() AwsResource

NewECR creates a new ECR resource using the generic resource pattern.

func NewECSClusters added in v0.47.0

func NewECSClusters() AwsResource

NewECSClusters creates a new ECS Clusters resource using the generic resource pattern.

func NewECSServices added in v0.47.0

func NewECSServices() AwsResource

NewECSServices creates a new ECSServices resource using the generic resource pattern.

func NewEIPAddresses added in v0.47.0

func NewEIPAddresses() AwsResource

NewEIPAddresses creates a new Elastic IP resource using the generic resource pattern.

func NewEKSClusters added in v0.47.0

func NewEKSClusters() AwsResource

NewEKSClusters creates a new EKS Clusters resource using the generic resource pattern.

func NewEgressOnlyInternetGateway added in v0.47.0

func NewEgressOnlyInternetGateway() AwsResource

NewEgressOnlyInternetGateway creates a new Egress Only Internet Gateway resource using the generic resource pattern.

func NewElasticCacheServerless added in v0.47.0

func NewElasticCacheServerless() AwsResource

NewElasticCacheServerless creates a new ElastiCache Serverless resource using the generic resource pattern.

func NewElasticFileSystem added in v0.47.0

func NewElasticFileSystem() AwsResource

NewElasticFileSystem creates a new ElasticFileSystem resource using the generic resource pattern.

func NewElasticacheParameterGroups added in v0.47.0

func NewElasticacheParameterGroups() AwsResource

NewElasticacheParameterGroups creates a new Elasticache Parameter Groups resource using the generic resource pattern.

func NewElasticacheSubnetGroups added in v0.47.0

func NewElasticacheSubnetGroups() AwsResource

NewElasticacheSubnetGroups creates a new Elasticache Subnet Groups resource using the generic resource pattern.

func NewElasticaches added in v0.47.0

func NewElasticaches() AwsResource

NewElasticaches creates a new Elasticaches resource using the generic resource pattern.

func NewEventBridge added in v0.47.0

func NewEventBridge() AwsResource

NewEventBridge creates a new EventBridge resource using the generic resource pattern.

func NewEventBridgeArchive added in v0.47.0

func NewEventBridgeArchive() AwsResource

NewEventBridgeArchive creates a new EventBridgeArchive resource using the generic resource pattern.

func NewEventBridgeRule added in v0.47.0

func NewEventBridgeRule() AwsResource

NewEventBridgeRule creates a new EventBridgeRule resource using the generic resource pattern.

func NewEventBridgeSchedule added in v0.47.0

func NewEventBridgeSchedule() AwsResource

NewEventBridgeSchedule creates a new EventBridge Schedule resource using the generic resource pattern.

func NewEventBridgeScheduleGroup added in v0.47.0

func NewEventBridgeScheduleGroup() AwsResource

NewEventBridgeScheduleGroup creates a new EventBridgeScheduleGroup resource using the generic resource pattern.

func NewGrafana added in v0.47.0

func NewGrafana() AwsResource

NewGrafana creates a new Grafana resource using the generic resource pattern.

func NewGuardDuty added in v0.47.0

func NewGuardDuty() AwsResource

NewGuardDuty creates a new GuardDuty resource using the generic resource pattern.

func NewIAMGroups added in v0.47.0

func NewIAMGroups() AwsResource

NewIAMGroups creates a new IAMGroups resource using the generic resource pattern.

func NewIAMInstanceProfiles added in v0.47.0

func NewIAMInstanceProfiles() AwsResource

NewIAMInstanceProfiles creates a new IAMInstanceProfiles resource using the generic resource pattern.

func NewIAMPolicies added in v0.47.0

func NewIAMPolicies() AwsResource

NewIAMPolicies creates a new IAM Policies resource using the generic resource pattern.

func NewIAMRoles added in v0.47.0

func NewIAMRoles() AwsResource

NewIAMRoles creates a new IAMRoles resource using the generic resource pattern.

func NewIAMServiceLinkedRoles added in v0.47.0

func NewIAMServiceLinkedRoles() AwsResource

NewIAMServiceLinkedRoles creates a new IAMServiceLinkedRoles resource using the generic resource pattern.

func NewIAMUsers added in v0.47.0

func NewIAMUsers() AwsResource

NewIAMUsers creates a new IAMUsers resource using the generic resource pattern.

func NewInternetGateway added in v0.47.0

func NewInternetGateway() AwsResource

NewInternetGateway creates a new InternetGateway resource using the generic resource pattern.

func NewKinesisFirehose added in v0.47.0

func NewKinesisFirehose() AwsResource

NewKinesisFirehose creates a new Kinesis Firehose resource using the generic resource pattern.

func NewKinesisStreams added in v0.47.0

func NewKinesisStreams() AwsResource

NewKinesisStreams creates a new Kinesis Streams resource using the generic resource pattern.

func NewKmsCustomerKeys added in v0.47.0

func NewKmsCustomerKeys() AwsResource

NewKmsCustomerKeys creates a new KMS Customer Keys resource using the generic resource pattern.

func NewLambdaFunctions added in v0.47.0

func NewLambdaFunctions() AwsResource

NewLambdaFunctions creates a new Lambda Functions resource using the generic resource pattern.

func NewLambdaLayers added in v0.47.0

func NewLambdaLayers() AwsResource

NewLambdaLayers creates a new LambdaLayers resource using the generic resource pattern.

func NewLaunchConfigs added in v0.47.0

func NewLaunchConfigs() AwsResource

NewLaunchConfigs creates a new Launch Configurations resource using the generic resource pattern.

func NewLaunchTemplates added in v0.47.0

func NewLaunchTemplates() AwsResource

NewLaunchTemplates creates a new Launch Templates resource using the generic resource pattern.

func NewLoadBalancers added in v0.47.0

func NewLoadBalancers() AwsResource

NewLoadBalancers creates a new LoadBalancers resource using the generic resource pattern.

func NewLoadBalancersV2 added in v0.47.0

func NewLoadBalancersV2() AwsResource

NewLoadBalancersV2 creates a new LoadBalancersV2 resource using the generic resource pattern.

func NewMSKCluster added in v0.47.0

func NewMSKCluster() AwsResource

NewMSKCluster creates a new MSKCluster resource using the generic resource pattern.

func NewMacieMember added in v0.47.0

func NewMacieMember() AwsResource

NewMacieMember creates a new MacieMember resource using the generic resource pattern.

func NewManagedPrometheus added in v0.47.0

func NewManagedPrometheus() AwsResource

NewManagedPrometheus creates a new ManagedPrometheus resource using the generic resource pattern.

func NewNatGateways added in v0.47.0

func NewNatGateways() AwsResource

NewNatGateways creates a new NatGateways resource using the generic resource pattern.

func NewNetworkACL added in v0.47.0

func NewNetworkACL() AwsResource

NewNetworkACL creates a new NetworkACL resource using the generic resource pattern.

func NewNetworkFirewallPolicy added in v0.47.0

func NewNetworkFirewallPolicy() AwsResource

NewNetworkFirewallPolicy creates a new NetworkFirewallPolicy resource using the generic resource pattern.

func NewNetworkFirewallResourcePolicy added in v0.47.0

func NewNetworkFirewallResourcePolicy() AwsResource

NewNetworkFirewallResourcePolicy creates a new Network Firewall resource policy resource.

func NewNetworkFirewallRuleGroup added in v0.47.0

func NewNetworkFirewallRuleGroup() AwsResource

NewNetworkFirewallRuleGroup creates a new NetworkFirewall Rule Group resource.

func NewNetworkFirewallTLSConfig added in v0.47.0

func NewNetworkFirewallTLSConfig() AwsResource

NewNetworkFirewallTLSConfig creates a new Network Firewall TLS Config resource.

func NewNetworkFirewalls added in v0.47.0

func NewNetworkFirewalls() AwsResource

NewNetworkFirewalls creates a new Network Firewall resource using the generic resource pattern.

func NewNetworkInterface added in v0.47.0

func NewNetworkInterface() AwsResource

NewNetworkInterface creates a new Network Interface resource using the generic resource pattern.

func NewOIDCProviders added in v0.47.0

func NewOIDCProviders() AwsResource

NewOIDCProviders creates a new OIDC Providers resource using the generic resource pattern. OIDC Providers are global IAM resources.

func NewOpenSearchDomains added in v0.47.0

func NewOpenSearchDomains() AwsResource

NewOpenSearchDomains creates a new OpenSearchDomains resource using the generic resource pattern.

func NewRdsParameterGroup added in v0.47.0

func NewRdsParameterGroup() AwsResource

NewRdsParameterGroup creates a new RDS Parameter Group resource using the generic resource pattern.

func NewRdsProxy added in v0.47.0

func NewRdsProxy() AwsResource

NewRdsProxy creates a new RdsProxy resource using the generic resource pattern.

func NewRdsSnapshot added in v0.47.0

func NewRdsSnapshot() AwsResource

NewRdsSnapshot creates a new RDS Snapshot resource using the generic resource pattern.

func NewRedshiftClusters added in v0.47.0

func NewRedshiftClusters() AwsResource

NewRedshiftClusters creates a new RedshiftClusters resource using the generic resource pattern.

func NewRedshiftSnapshotCopyGrants added in v0.47.0

func NewRedshiftSnapshotCopyGrants() AwsResource

NewRedshiftSnapshotCopyGrants creates a new Redshift Snapshot Copy Grants resource.

func NewRoute53CidrCollections added in v0.47.0

func NewRoute53CidrCollections() AwsResource

NewRoute53CidrCollections creates a new Route53 CIDR Collection resource using the generic resource pattern. Route53 is a global service.

func NewRoute53HostedZone added in v0.47.0

func NewRoute53HostedZone() AwsResource

NewRoute53HostedZone creates a new Route53 Hosted Zone resource using the generic resource pattern.

func NewRoute53TrafficPolicies added in v0.47.0

func NewRoute53TrafficPolicies() AwsResource

NewRoute53TrafficPolicies creates a new Route53 Traffic Policy resource.

func NewRouteTable added in v0.47.0

func NewRouteTable() AwsResource

NewRouteTable creates a new RouteTable resource using the generic resource pattern.

func NewS3AccessPoints added in v0.47.0

func NewS3AccessPoints() AwsResource

NewS3AccessPoints creates a new S3 Access Point resource using the generic resource pattern.

func NewS3Buckets added in v0.47.0

func NewS3Buckets() AwsResource

NewS3Buckets creates a new S3Buckets resource using the generic resource pattern.

func NewS3MultiRegionAccessPoints added in v0.47.0

func NewS3MultiRegionAccessPoints() AwsResource

NewS3MultiRegionAccessPoints creates a new S3 Multi-Region Access Point resource.

func NewS3ObjectLambdaAccessPoints added in v0.47.0

func NewS3ObjectLambdaAccessPoints() AwsResource

NewS3ObjectLambdaAccessPoints creates a new S3 Object Lambda Access Point resource.

func NewSNSTopic added in v0.47.0

func NewSNSTopic() AwsResource

NewSNSTopic creates a new SNSTopic resource using the generic resource pattern.

func NewSSMParameter added in v0.48.0

func NewSSMParameter() AwsResource

NewSSMParameter creates a new SSMParameter resource using the generic resource pattern.

func NewSageMakerEndpoint added in v0.47.0

func NewSageMakerEndpoint() AwsResource

NewSageMakerEndpoint creates a new SageMakerEndpoint resource using the generic resource pattern.

func NewSageMakerEndpointConfig added in v0.47.0

func NewSageMakerEndpointConfig() AwsResource

NewSageMakerEndpointConfig creates a new SageMaker Endpoint Config resource using the generic resource pattern.

func NewSageMakerNotebookInstances added in v0.47.0

func NewSageMakerNotebookInstances() AwsResource

NewSageMakerNotebookInstances creates a new SageMaker Notebook Instances resource using the generic resource pattern.

func NewSageMakerStudio added in v0.47.0

func NewSageMakerStudio() AwsResource

NewSageMakerStudio creates a new SageMaker Studio resource using the generic resource pattern.

func NewSecretsManagerSecrets added in v0.47.0

func NewSecretsManagerSecrets() AwsResource

NewSecretsManagerSecrets creates a new SecretsManagerSecrets resource using the generic resource pattern.

func NewSecurityGroup added in v0.47.0

func NewSecurityGroup() AwsResource

NewSecurityGroup creates a new SecurityGroup resource using the generic resource pattern.

func NewSecurityHub added in v0.47.0

func NewSecurityHub() AwsResource

NewSecurityHub creates a new SecurityHub resource using the generic resource pattern.

func NewSesConfigurationSet added in v0.47.0

func NewSesConfigurationSet() AwsResource

NewSesConfigurationSet creates a new SES Configuration Set resource using the generic resource pattern.

func NewSesEmailTemplates added in v0.47.0

func NewSesEmailTemplates() AwsResource

NewSesEmailTemplates creates a new SES Email Templates resource using the generic resource pattern.

func NewSesIdentities added in v0.47.0

func NewSesIdentities() AwsResource

NewSesIdentities creates a new SesIdentities resource using the generic resource pattern.

func NewSesReceiptFilter added in v0.47.0

func NewSesReceiptFilter() AwsResource

NewSesReceiptFilter creates a new SES Receipt Filter resource using the generic resource pattern.

func NewSesReceiptRule added in v0.47.0

func NewSesReceiptRule() AwsResource

NewSesReceiptRule creates a new SES Receipt Rule Set resource using the generic resource pattern.

func NewSnapshots added in v0.47.0

func NewSnapshots() AwsResource

NewSnapshots creates a new Snapshots resource using the generic resource pattern.

func NewSqsQueue added in v0.47.0

func NewSqsQueue() AwsResource

NewSqsQueue creates a new SqsQueue resource using the generic resource pattern.

func NewTransitGatewayPeeringAttachment added in v0.47.0

func NewTransitGatewayPeeringAttachment() AwsResource

NewTransitGatewayPeeringAttachment creates a new TransitGatewayPeeringAttachment resource using the generic resource pattern.

func NewTransitGateways added in v0.47.0

func NewTransitGateways() AwsResource

NewTransitGateways creates a new TransitGateways resource using the generic resource pattern.

func NewTransitGatewaysRouteTables added in v0.47.0

func NewTransitGatewaysRouteTables() AwsResource

NewTransitGatewaysRouteTables creates a new TransitGatewaysRouteTables resource using the generic resource pattern.

func NewTransitGatewaysVpcAttachment added in v0.47.0

func NewTransitGatewaysVpcAttachment() AwsResource

NewTransitGatewaysVpcAttachment creates a new TransitGatewaysVpcAttachment resource using the generic resource pattern.

func NewVPCLatticeService added in v0.47.0

func NewVPCLatticeService() AwsResource

NewVPCLatticeService creates a new VPC Lattice Service resource using the generic resource pattern.

func NewVPCLatticeServiceNetwork added in v0.47.0

func NewVPCLatticeServiceNetwork() AwsResource

NewVPCLatticeServiceNetwork creates a new VPC Lattice Service Network resource using the generic resource pattern.

func NewVPCLatticeTargetGroup added in v0.47.0

func NewVPCLatticeTargetGroup() AwsResource

NewVPCLatticeTargetGroup creates a new VPC Lattice Target Group resource using the generic resource pattern.

func NewVPCPeeringConnection added in v0.47.0

func NewVPCPeeringConnection() AwsResource

NewVPCPeeringConnection creates a new VPC Peering Connection resource.

type AwsResourceAdapter added in v0.47.0

type AwsResourceAdapter[C any] struct {
	*resource.Resource[C]
}

AwsResourceAdapter wraps a generic resource.Resource[C] to satisfy the AwsResource interface required by cloud-nuke's AWS execution engine.

The adapter delegates most methods directly to the embedded Resource, with Init() being the key adaptation point where aws.Config is passed to the generic Init(any).

This adapter should not be constructed directly. Use NewAwsResource() instead.

func (*AwsResourceAdapter[C]) Init added in v0.47.0

func (a *AwsResourceAdapter[C]) Init(cfg aws.Config)

Init initializes the resource with AWS configuration. This method bridges the AwsResource.Init(aws.Config) interface to the generic Resource.Init(any) method, allowing the AWS execution engine to initialize resources with typed configuration.

func (*AwsResourceAdapter[C]) Nuke added in v0.47.0

func (a *AwsResourceAdapter[C]) Nuke(ctx context.Context, identifiers []string) ([]resource.NukeResult, error)

Nuke deletes the resources with the given identifiers. Delegates directly to the embedded Resource's Nuke method.

type BackupVaultAPI added in v0.38.0

type BackupVaultAPI interface {
	DeleteBackupVault(ctx context.Context, params *backup.DeleteBackupVaultInput, optFns ...func(*backup.Options)) (*backup.DeleteBackupVaultOutput, error)
	DeleteRecoveryPoint(ctx context.Context, params *backup.DeleteRecoveryPointInput, optFns ...func(*backup.Options)) (*backup.DeleteRecoveryPointOutput, error)
	ListBackupVaults(ctx context.Context, params *backup.ListBackupVaultsInput, optFns ...func(*backup.Options)) (*backup.ListBackupVaultsOutput, error)
	ListRecoveryPointsByBackupVault(ctx context.Context, params *backup.ListRecoveryPointsByBackupVaultInput, optFns ...func(*backup.Options)) (*backup.ListRecoveryPointsByBackupVaultOutput, error)
}

BackupVaultAPI defines the interface for Backup Vault operations.

type CacheClusterType

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

type CloudFormationStacksAPI added in v0.43.0

type CloudFormationStacksAPI interface {
	ListStacks(ctx context.Context, params *cloudformation.ListStacksInput, optFns ...func(*cloudformation.Options)) (*cloudformation.ListStacksOutput, error)
	DeleteStack(ctx context.Context, params *cloudformation.DeleteStackInput, optFns ...func(*cloudformation.Options)) (*cloudformation.DeleteStackOutput, error)
	DescribeStacks(ctx context.Context, params *cloudformation.DescribeStacksInput, optFns ...func(*cloudformation.Options)) (*cloudformation.DescribeStacksOutput, error)
}

CloudFormationStacksAPI defines the interface for CloudFormation stack operations.

type CloudMapNamespacesAPI added in v0.43.0

CloudMapNamespacesAPI defines the interface for AWS Cloud Map operations.

type CloudMapServicesAPI added in v0.43.0

CloudMapServicesAPI defines the interface for AWS Cloud Map API operations.

type CloudWatchAlarmsAPI added in v0.38.0

type CloudWatchAlarmsAPI interface {
	DescribeAlarms(ctx context.Context, params *cloudwatch.DescribeAlarmsInput, optFns ...func(*cloudwatch.Options)) (*cloudwatch.DescribeAlarmsOutput, error)
	DeleteAlarms(ctx context.Context, params *cloudwatch.DeleteAlarmsInput, optFns ...func(*cloudwatch.Options)) (*cloudwatch.DeleteAlarmsOutput, error)
	PutCompositeAlarm(ctx context.Context, params *cloudwatch.PutCompositeAlarmInput, optFns ...func(*cloudwatch.Options)) (*cloudwatch.PutCompositeAlarmOutput, error)
}

CloudWatchAlarmsAPI defines the interface for CloudWatch Alarm operations.

type CloudWatchDashboardsAPI added in v0.38.0

type CloudWatchDashboardsAPI interface {
	ListDashboards(ctx context.Context, params *cloudwatch.ListDashboardsInput, optFns ...func(*cloudwatch.Options)) (*cloudwatch.ListDashboardsOutput, error)
	DeleteDashboards(ctx context.Context, params *cloudwatch.DeleteDashboardsInput, optFns ...func(*cloudwatch.Options)) (*cloudwatch.DeleteDashboardsOutput, error)
}

CloudWatchDashboardsAPI defines the interface for CloudWatch dashboard operations.

type CloudWatchLogGroupsAPI added in v0.38.0

type CloudWatchLogGroupsAPI interface {
	DescribeLogGroups(ctx context.Context, params *cloudwatchlogs.DescribeLogGroupsInput, optFns ...func(*cloudwatchlogs.Options)) (*cloudwatchlogs.DescribeLogGroupsOutput, error)
	DeleteLogGroup(ctx context.Context, params *cloudwatchlogs.DeleteLogGroupInput, optFns ...func(*cloudwatchlogs.Options)) (*cloudwatchlogs.DeleteLogGroupOutput, error)
}

CloudWatchLogGroupsAPI defines the interface for CloudWatch Log Groups operations.

type CloudfrontDistributionAPI added in v0.41.0

CloudfrontDistributionAPI defines the interface for CloudFront distribution operations.

type CloudtrailTrailAPI added in v0.38.0

type CloudtrailTrailAPI interface {
	ListTrails(ctx context.Context, params *cloudtrail.ListTrailsInput, optFns ...func(*cloudtrail.Options)) (*cloudtrail.ListTrailsOutput, error)
	DeleteTrail(ctx context.Context, params *cloudtrail.DeleteTrailInput, optFns ...func(*cloudtrail.Options)) (*cloudtrail.DeleteTrailOutput, error)
	ListTags(ctx context.Context, params *cloudtrail.ListTagsInput, optFns ...func(*cloudtrail.Options)) (*cloudtrail.ListTagsOutput, error)
}

CloudtrailTrailAPI defines the interface for CloudTrail operations.

type CodeDeployApplicationsAPI added in v0.38.0

type CodeDeployApplicationsAPI interface {
	ListApplications(ctx context.Context, params *codedeploy.ListApplicationsInput, optFns ...func(*codedeploy.Options)) (*codedeploy.ListApplicationsOutput, error)
	BatchGetApplications(ctx context.Context, params *codedeploy.BatchGetApplicationsInput, optFns ...func(*codedeploy.Options)) (*codedeploy.BatchGetApplicationsOutput, error)
	DeleteApplication(ctx context.Context, params *codedeploy.DeleteApplicationInput, optFns ...func(*codedeploy.Options)) (*codedeploy.DeleteApplicationOutput, error)
}

CodeDeployApplicationsAPI defines the interface for CodeDeploy operations.

type ConfigServiceRecordersAPI added in v0.38.0

type ConfigServiceRecordersAPI interface {
	DescribeConfigurationRecorders(ctx context.Context, params *configservice.DescribeConfigurationRecordersInput, optFns ...func(*configservice.Options)) (*configservice.DescribeConfigurationRecordersOutput, error)
	DeleteConfigurationRecorder(ctx context.Context, params *configservice.DeleteConfigurationRecorderInput, optFns ...func(*configservice.Options)) (*configservice.DeleteConfigurationRecorderOutput, error)
}

ConfigServiceRecordersAPI defines the interface for Config Service Recorder operations.

type ConfigServiceRuleAPI added in v0.38.0

ConfigServiceRuleAPI defines the interface for AWS Config Service rule operations.

type CouldNotLookupCacheClusterErr

type CouldNotLookupCacheClusterErr struct {
	ClusterId *string
}

func (CouldNotLookupCacheClusterErr) Error

type DBClustersAPI added in v0.38.0

type DBClustersAPI interface {
	DeleteDBCluster(ctx context.Context, params *rds.DeleteDBClusterInput, optFns ...func(*rds.Options)) (*rds.DeleteDBClusterOutput, error)
	DescribeDBClusters(ctx context.Context, params *rds.DescribeDBClustersInput, optFns ...func(*rds.Options)) (*rds.DescribeDBClustersOutput, error)
	ModifyDBCluster(ctx context.Context, params *rds.ModifyDBClusterInput, optFns ...func(*rds.Options)) (*rds.ModifyDBClusterOutput, error)
}

DBClustersAPI defines the interface for RDS DB Cluster operations.

type DBGlobalClusterMembershipsAPI added in v0.47.0

type DBGlobalClusterMembershipsAPI interface {
	DescribeGlobalClusters(ctx context.Context, params *rds.DescribeGlobalClustersInput, optFns ...func(*rds.Options)) (*rds.DescribeGlobalClustersOutput, error)
	RemoveFromGlobalCluster(ctx context.Context, params *rds.RemoveFromGlobalClusterInput, optFns ...func(*rds.Options)) (*rds.RemoveFromGlobalClusterOutput, error)
}

DBGlobalClusterMembershipsAPI defines the interface for RDS Global Cluster Membership operations.

type DBGlobalClustersAPI added in v0.38.0

type DBGlobalClustersAPI interface {
	DescribeGlobalClusters(ctx context.Context, params *rds.DescribeGlobalClustersInput, optFns ...func(*rds.Options)) (*rds.DescribeGlobalClustersOutput, error)
	DeleteGlobalCluster(ctx context.Context, params *rds.DeleteGlobalClusterInput, optFns ...func(*rds.Options)) (*rds.DeleteGlobalClusterOutput, error)
}

DBGlobalClustersAPI defines the interface for RDS Global Cluster operations.

type DBInstancesAPI added in v0.47.0

type DBInstancesAPI interface {
	DescribeDBInstances(ctx context.Context, params *rds.DescribeDBInstancesInput, optFns ...func(*rds.Options)) (*rds.DescribeDBInstancesOutput, error)
	ModifyDBInstance(ctx context.Context, params *rds.ModifyDBInstanceInput, optFns ...func(*rds.Options)) (*rds.ModifyDBInstanceOutput, error)
	DeleteDBInstance(ctx context.Context, params *rds.DeleteDBInstanceInput, optFns ...func(*rds.Options)) (*rds.DeleteDBInstanceOutput, error)
}

DBInstancesAPI defines the interface for RDS DB Instance operations.

type DBSubnetGroupsAPI added in v0.38.0

type DBSubnetGroupsAPI interface {
	DescribeDBSubnetGroups(ctx context.Context, params *rds.DescribeDBSubnetGroupsInput, optFns ...func(*rds.Options)) (*rds.DescribeDBSubnetGroupsOutput, error)
	DeleteDBSubnetGroup(ctx context.Context, params *rds.DeleteDBSubnetGroupInput, optFns ...func(*rds.Options)) (*rds.DeleteDBSubnetGroupOutput, error)
	ListTagsForResource(ctx context.Context, params *rds.ListTagsForResourceInput, optFns ...func(*rds.Options)) (*rds.ListTagsForResourceOutput, error)
}

DBSubnetGroupsAPI defines the interface for RDS DB Subnet Group operations.

type DataPipelineAPI added in v0.47.0

type DataPipelineAPI interface {
	ListPipelines(ctx context.Context, params *datapipeline.ListPipelinesInput, optFns ...func(*datapipeline.Options)) (*datapipeline.ListPipelinesOutput, error)
	DescribePipelines(ctx context.Context, params *datapipeline.DescribePipelinesInput, optFns ...func(*datapipeline.Options)) (*datapipeline.DescribePipelinesOutput, error)
	DeletePipeline(ctx context.Context, params *datapipeline.DeletePipelineInput, optFns ...func(*datapipeline.Options)) (*datapipeline.DeletePipelineOutput, error)
}

type DataSyncLocationAPI added in v0.38.0

type DataSyncLocationAPI interface {
	DeleteLocation(ctx context.Context, params *datasync.DeleteLocationInput, optFns ...func(*datasync.Options)) (*datasync.DeleteLocationOutput, error)
	ListLocations(ctx context.Context, params *datasync.ListLocationsInput, optFns ...func(*datasync.Options)) (*datasync.ListLocationsOutput, error)
}

DataSyncLocationAPI defines the interface for DataSync Location operations.

type DataSyncTaskAPI added in v0.38.0

type DataSyncTaskAPI interface {
	DeleteTask(ctx context.Context, params *datasync.DeleteTaskInput, optFns ...func(*datasync.Options)) (*datasync.DeleteTaskOutput, error)
	ListTasks(ctx context.Context, params *datasync.ListTasksInput, optFns ...func(*datasync.Options)) (*datasync.ListTasksOutput, error)
}

DataSyncTaskAPI defines the interface for DataSync Task operations.

type DynamoDBAPI added in v0.38.0

type DynamoDBAPI interface {
	ListTables(ctx context.Context, params *dynamodb.ListTablesInput, optFns ...func(*dynamodb.Options)) (*dynamodb.ListTablesOutput, error)
	DescribeTable(ctx context.Context, params *dynamodb.DescribeTableInput, optFns ...func(*dynamodb.Options)) (*dynamodb.DescribeTableOutput, error)
	UpdateTable(ctx context.Context, params *dynamodb.UpdateTableInput, optFns ...func(*dynamodb.Options)) (*dynamodb.UpdateTableOutput, error)
	DeleteTable(ctx context.Context, params *dynamodb.DeleteTableInput, optFns ...func(*dynamodb.Options)) (*dynamodb.DeleteTableOutput, error)
}

DynamoDBAPI defines the interface for DynamoDB operations.

type EBApplicationsAPI added in v0.38.0

type EBApplicationsAPI interface {
	DescribeApplications(ctx context.Context, params *elasticbeanstalk.DescribeApplicationsInput, optFns ...func(*elasticbeanstalk.Options)) (*elasticbeanstalk.DescribeApplicationsOutput, error)
	DeleteApplication(ctx context.Context, params *elasticbeanstalk.DeleteApplicationInput, optFns ...func(*elasticbeanstalk.Options)) (*elasticbeanstalk.DeleteApplicationOutput, error)
}

EBApplicationsAPI defines the interface for Elastic Beanstalk operations.

type EBSVolumesAPI added in v0.38.0

type EBSVolumesAPI interface {
	DescribeVolumes(ctx context.Context, params *ec2.DescribeVolumesInput, optFns ...func(*ec2.Options)) (*ec2.DescribeVolumesOutput, error)
	DeleteVolume(ctx context.Context, params *ec2.DeleteVolumeInput, optFns ...func(*ec2.Options)) (*ec2.DeleteVolumeOutput, error)
}

EBSVolumesAPI defines the interface for EBS Volume operations.

type EC2DedicatedHostsAPI added in v0.38.0

type EC2DedicatedHostsAPI interface {
	DescribeHosts(ctx context.Context, params *ec2.DescribeHostsInput, optFns ...func(*ec2.Options)) (*ec2.DescribeHostsOutput, error)
	ReleaseHosts(ctx context.Context, params *ec2.ReleaseHostsInput, optFns ...func(*ec2.Options)) (*ec2.ReleaseHostsOutput, error)
}

EC2DedicatedHostsAPI defines the interface for EC2 Dedicated Hosts operations.

type EC2DhcpOptionAPI added in v0.38.0

type EC2DhcpOptionAPI interface {
	AssociateDhcpOptions(ctx context.Context, params *ec2.AssociateDhcpOptionsInput, optFns ...func(*ec2.Options)) (*ec2.AssociateDhcpOptionsOutput, error)
	DescribeDhcpOptions(ctx context.Context, params *ec2.DescribeDhcpOptionsInput, optFns ...func(*ec2.Options)) (*ec2.DescribeDhcpOptionsOutput, error)
	DescribeVpcs(ctx context.Context, params *ec2.DescribeVpcsInput, optFns ...func(*ec2.Options)) (*ec2.DescribeVpcsOutput, error)
	DeleteDhcpOptions(ctx context.Context, params *ec2.DeleteDhcpOptionsInput, optFns ...func(*ec2.Options)) (*ec2.DeleteDhcpOptionsOutput, error)
}

EC2DhcpOptionAPI defines the interface for EC2 DHCP Options operations.

type EC2EndpointsAPI added in v0.38.0

type EC2EndpointsAPI interface {
	DescribeVpcEndpoints(ctx context.Context, params *ec2.DescribeVpcEndpointsInput, optFns ...func(*ec2.Options)) (*ec2.DescribeVpcEndpointsOutput, error)
	DeleteVpcEndpoints(ctx context.Context, params *ec2.DeleteVpcEndpointsInput, optFns ...func(*ec2.Options)) (*ec2.DeleteVpcEndpointsOutput, error)
	DescribeVpcs(ctx context.Context, params *ec2.DescribeVpcsInput, optFns ...func(*ec2.Options)) (*ec2.DescribeVpcsOutput, error)
}

EC2EndpointsAPI defines the interface for EC2 VPC Endpoints operations.

type EC2IPAMAPI added in v0.47.0

type EC2IPAMAPI interface {
	DescribeIpams(ctx context.Context, params *ec2.DescribeIpamsInput, optFns ...func(*ec2.Options)) (*ec2.DescribeIpamsOutput, error)
	DeleteIpam(ctx context.Context, params *ec2.DeleteIpamInput, optFns ...func(*ec2.Options)) (*ec2.DeleteIpamOutput, error)
	GetIpamPoolCidrs(ctx context.Context, params *ec2.GetIpamPoolCidrsInput, optFns ...func(*ec2.Options)) (*ec2.GetIpamPoolCidrsOutput, error)
	DeprovisionIpamPoolCidr(ctx context.Context, params *ec2.DeprovisionIpamPoolCidrInput, optFns ...func(*ec2.Options)) (*ec2.DeprovisionIpamPoolCidrOutput, error)
	GetIpamPoolAllocations(ctx context.Context, params *ec2.GetIpamPoolAllocationsInput, optFns ...func(*ec2.Options)) (*ec2.GetIpamPoolAllocationsOutput, error)
	ReleaseIpamPoolAllocation(ctx context.Context, params *ec2.ReleaseIpamPoolAllocationInput, optFns ...func(*ec2.Options)) (*ec2.ReleaseIpamPoolAllocationOutput, error)
	DescribeIpamScopes(ctx context.Context, params *ec2.DescribeIpamScopesInput, optFns ...func(*ec2.Options)) (*ec2.DescribeIpamScopesOutput, error)
	DescribeIpamPools(ctx context.Context, params *ec2.DescribeIpamPoolsInput, optFns ...func(*ec2.Options)) (*ec2.DescribeIpamPoolsOutput, error)
	DeleteIpamPool(ctx context.Context, params *ec2.DeleteIpamPoolInput, optFns ...func(*ec2.Options)) (*ec2.DeleteIpamPoolOutput, error)
}

EC2IPAMAPI defines the interface for EC2 IPAM operations.

type EC2IPAMByoasnAPI added in v0.38.0

type EC2IPAMByoasnAPI interface {
	DescribeIpamByoasn(ctx context.Context, params *ec2.DescribeIpamByoasnInput, optFns ...func(*ec2.Options)) (*ec2.DescribeIpamByoasnOutput, error)
	DisassociateIpamByoasn(ctx context.Context, params *ec2.DisassociateIpamByoasnInput, optFns ...func(*ec2.Options)) (*ec2.DisassociateIpamByoasnOutput, error)
}

EC2IPAMByoasnAPI defines the interface for EC2 IPAM BYOASN operations.

type EC2IPAMCustomAllocationAPI added in v0.38.0

type EC2IPAMCustomAllocationAPI interface {
	DescribeIpamPools(ctx context.Context, params *ec2.DescribeIpamPoolsInput, optFns ...func(*ec2.Options)) (*ec2.DescribeIpamPoolsOutput, error)
	GetIpamPoolAllocations(ctx context.Context, params *ec2.GetIpamPoolAllocationsInput, optFns ...func(*ec2.Options)) (*ec2.GetIpamPoolAllocationsOutput, error)
	ReleaseIpamPoolAllocation(ctx context.Context, params *ec2.ReleaseIpamPoolAllocationInput, optFns ...func(*ec2.Options)) (*ec2.ReleaseIpamPoolAllocationOutput, error)
}

EC2IPAMCustomAllocationAPI defines the interface for EC2 IPAM Custom Allocation operations.

type EC2IPAMPoolAPI added in v0.38.0

type EC2IPAMPoolAPI interface {
	DescribeIpamPools(ctx context.Context, params *ec2.DescribeIpamPoolsInput, optFns ...func(*ec2.Options)) (*ec2.DescribeIpamPoolsOutput, error)
	DeleteIpamPool(ctx context.Context, params *ec2.DeleteIpamPoolInput, optFns ...func(*ec2.Options)) (*ec2.DeleteIpamPoolOutput, error)
}

EC2IPAMPoolAPI defines the interface for EC2 IPAM Pool operations.

type EC2IPAMResourceDiscoveryAPI added in v0.38.0

type EC2IPAMResourceDiscoveryAPI interface {
	DescribeIpamResourceDiscoveries(ctx context.Context, params *ec2.DescribeIpamResourceDiscoveriesInput, optFns ...func(*ec2.Options)) (*ec2.DescribeIpamResourceDiscoveriesOutput, error)
	DeleteIpamResourceDiscovery(ctx context.Context, params *ec2.DeleteIpamResourceDiscoveryInput, optFns ...func(*ec2.Options)) (*ec2.DeleteIpamResourceDiscoveryOutput, error)
}

EC2IPAMResourceDiscoveryAPI defines the interface for EC2 IPAM Resource Discovery operations.

type EC2IPAMScopeAPI added in v0.47.0

type EC2IPAMScopeAPI interface {
	DescribeIpamScopes(ctx context.Context, params *ec2.DescribeIpamScopesInput, optFns ...func(*ec2.Options)) (*ec2.DescribeIpamScopesOutput, error)
	DeleteIpamScope(ctx context.Context, params *ec2.DeleteIpamScopeInput, optFns ...func(*ec2.Options)) (*ec2.DeleteIpamScopeOutput, error)
}

EC2IPAMScopeAPI defines the interface for EC2 IPAM Scope operations.

type EC2InstancesAPI added in v0.38.0

type EC2InstancesAPI interface {
	DescribeInstanceAttribute(ctx context.Context, params *ec2.DescribeInstanceAttributeInput, optFns ...func(*ec2.Options)) (*ec2.DescribeInstanceAttributeOutput, error)
	DescribeInstances(ctx context.Context, params *ec2.DescribeInstancesInput, optFns ...func(*ec2.Options)) (*ec2.DescribeInstancesOutput, error)
	DescribeAddresses(ctx context.Context, params *ec2.DescribeAddressesInput, optFns ...func(*ec2.Options)) (*ec2.DescribeAddressesOutput, error)
	ReleaseAddress(ctx context.Context, params *ec2.ReleaseAddressInput, optFns ...func(*ec2.Options)) (*ec2.ReleaseAddressOutput, error)
	TerminateInstances(ctx context.Context, params *ec2.TerminateInstancesInput, optFns ...func(*ec2.Options)) (*ec2.TerminateInstancesOutput, error)
}

EC2InstancesAPI defines the interface for EC2 Instances operations.

type EC2KeyPairsAPI added in v0.38.0

type EC2KeyPairsAPI interface {
	DescribeKeyPairs(ctx context.Context, params *ec2.DescribeKeyPairsInput, optFns ...func(*ec2.Options)) (*ec2.DescribeKeyPairsOutput, error)
	DeleteKeyPair(ctx context.Context, params *ec2.DeleteKeyPairInput, optFns ...func(*ec2.Options)) (*ec2.DeleteKeyPairOutput, error)
}

EC2KeyPairsAPI defines the interface for EC2 Key Pairs operations.

type EC2ListerFunc added in v0.47.0

type EC2ListerFunc[C any] func(ctx context.Context, client C, scope resource.Scope, cfg config.ResourceType, defaultOnly bool) ([]*string, error)

EC2ListerFunc is a lister function signature for EC2 resources that need DefaultOnly support.

type EC2PlacementGroupsAPI added in v0.38.0

type EC2PlacementGroupsAPI interface {
	DescribePlacementGroups(ctx context.Context, params *ec2.DescribePlacementGroupsInput, optFns ...func(*ec2.Options)) (*ec2.DescribePlacementGroupsOutput, error)
	DeletePlacementGroup(ctx context.Context, params *ec2.DeletePlacementGroupInput, optFns ...func(*ec2.Options)) (*ec2.DeletePlacementGroupOutput, error)
	CreateTags(ctx context.Context, params *ec2.CreateTagsInput, optFns ...func(*ec2.Options)) (*ec2.CreateTagsOutput, error)
}

EC2PlacementGroupsAPI defines the interface for EC2 Placement Groups operations.

type EC2ResourceOptions added in v0.47.0

type EC2ResourceOptions[C any] struct {
	// PermissionVerifier is an optional function to verify deletion permissions via dry-run.
	PermissionVerifier func(ctx context.Context, client C, id *string) error
}

EC2ResourceOptions contains optional configuration for NewEC2AwsResource.

type EC2SubnetAPI added in v0.38.0

type EC2SubnetAPI interface {
	DeleteSubnet(ctx context.Context, params *ec2.DeleteSubnetInput, optFns ...func(*ec2.Options)) (*ec2.DeleteSubnetOutput, error)
	DescribeSubnets(ctx context.Context, params *ec2.DescribeSubnetsInput, optFns ...func(*ec2.Options)) (*ec2.DescribeSubnetsOutput, error)
}

EC2SubnetAPI defines the interface for EC2 Subnet operations.

type EC2VpcAPI added in v0.47.0

type EC2VpcAPI interface {
	DescribeVpcs(ctx context.Context, params *ec2.DescribeVpcsInput, optFns ...func(*ec2.Options)) (*ec2.DescribeVpcsOutput, error)
	DeleteVpc(ctx context.Context, params *ec2.DeleteVpcInput, optFns ...func(*ec2.Options)) (*ec2.DeleteVpcOutput, error)
	CreateTags(ctx context.Context, params *ec2.CreateTagsInput, optFns ...func(*ec2.Options)) (*ec2.CreateTagsOutput, error)
	// Safety net dependencies
	DescribeRouteTables(ctx context.Context, params *ec2.DescribeRouteTablesInput, optFns ...func(*ec2.Options)) (*ec2.DescribeRouteTablesOutput, error)
	DeleteRouteTable(ctx context.Context, params *ec2.DeleteRouteTableInput, optFns ...func(*ec2.Options)) (*ec2.DeleteRouteTableOutput, error)
	DisassociateRouteTable(ctx context.Context, params *ec2.DisassociateRouteTableInput, optFns ...func(*ec2.Options)) (*ec2.DisassociateRouteTableOutput, error)
	DescribeSecurityGroups(ctx context.Context, input *ec2.DescribeSecurityGroupsInput, optFns ...func(*ec2.Options)) (*ec2.DescribeSecurityGroupsOutput, error)
	RevokeSecurityGroupIngress(ctx context.Context, input *ec2.RevokeSecurityGroupIngressInput, optFns ...func(*ec2.Options)) (*ec2.RevokeSecurityGroupIngressOutput, error)
	RevokeSecurityGroupEgress(ctx context.Context, input *ec2.RevokeSecurityGroupEgressInput, optFns ...func(*ec2.Options)) (*ec2.RevokeSecurityGroupEgressOutput, error)
	DeleteSecurityGroup(ctx context.Context, input *ec2.DeleteSecurityGroupInput, optFns ...func(*ec2.Options)) (*ec2.DeleteSecurityGroupOutput, error)
	DescribeNetworkInterfaces(ctx context.Context, params *ec2.DescribeNetworkInterfacesInput, optFns ...func(*ec2.Options)) (*ec2.DescribeNetworkInterfacesOutput, error)
	DeleteNetworkInterface(ctx context.Context, params *ec2.DeleteNetworkInterfaceInput, optFns ...func(*ec2.Options)) (*ec2.DeleteNetworkInterfaceOutput, error)
	DetachNetworkInterface(ctx context.Context, params *ec2.DetachNetworkInterfaceInput, optFns ...func(*ec2.Options)) (*ec2.DetachNetworkInterfaceOutput, error)
	DescribeInternetGateways(ctx context.Context, params *ec2.DescribeInternetGatewaysInput, optFns ...func(*ec2.Options)) (*ec2.DescribeInternetGatewaysOutput, error)
	DetachInternetGateway(ctx context.Context, params *ec2.DetachInternetGatewayInput, optFns ...func(*ec2.Options)) (*ec2.DetachInternetGatewayOutput, error)
	DeleteInternetGateway(ctx context.Context, params *ec2.DeleteInternetGatewayInput, optFns ...func(*ec2.Options)) (*ec2.DeleteInternetGatewayOutput, error)
	DescribeSubnets(ctx context.Context, params *ec2.DescribeSubnetsInput, optFns ...func(*ec2.Options)) (*ec2.DescribeSubnetsOutput, error)
	DeleteSubnet(ctx context.Context, params *ec2.DeleteSubnetInput, optFns ...func(*ec2.Options)) (*ec2.DeleteSubnetOutput, error)
	DescribeVpcPeeringConnections(ctx context.Context, params *ec2.DescribeVpcPeeringConnectionsInput, optFns ...func(*ec2.Options)) (*ec2.DescribeVpcPeeringConnectionsOutput, error)
	DeleteVpcPeeringConnection(ctx context.Context, params *ec2.DeleteVpcPeeringConnectionInput, optFns ...func(*ec2.Options)) (*ec2.DeleteVpcPeeringConnectionOutput, error)
	DescribeVpnGateways(ctx context.Context, params *ec2.DescribeVpnGatewaysInput, optFns ...func(*ec2.Options)) (*ec2.DescribeVpnGatewaysOutput, error)
	DetachVpnGateway(ctx context.Context, params *ec2.DetachVpnGatewayInput, optFns ...func(*ec2.Options)) (*ec2.DetachVpnGatewayOutput, error)
	DeleteVpnGateway(ctx context.Context, params *ec2.DeleteVpnGatewayInput, optFns ...func(*ec2.Options)) (*ec2.DeleteVpnGatewayOutput, error)
}

EC2VpcAPI is the interface for the EC2 VPC client.

type ECRAPI added in v0.38.0

type ECRAPI interface {
	DescribeRepositories(ctx context.Context, params *ecr.DescribeRepositoriesInput, optFns ...func(*ecr.Options)) (*ecr.DescribeRepositoriesOutput, error)
	DeleteRepository(ctx context.Context, params *ecr.DeleteRepositoryInput, optFns ...func(*ecr.Options)) (*ecr.DeleteRepositoryOutput, error)
}

ECRAPI defines the interface for ECR operations.

type ECSClustersAPI added in v0.38.0

type ECSClustersAPI interface {
	DescribeClusters(ctx context.Context, params *ecs.DescribeClustersInput, optFns ...func(*ecs.Options)) (*ecs.DescribeClustersOutput, error)
	DeleteCluster(ctx context.Context, params *ecs.DeleteClusterInput, optFns ...func(*ecs.Options)) (*ecs.DeleteClusterOutput, error)
	ListClusters(ctx context.Context, params *ecs.ListClustersInput, optFns ...func(*ecs.Options)) (*ecs.ListClustersOutput, error)
	ListTagsForResource(ctx context.Context, params *ecs.ListTagsForResourceInput, optFns ...func(*ecs.Options)) (*ecs.ListTagsForResourceOutput, error)
	ListTasks(ctx context.Context, params *ecs.ListTasksInput, optFns ...func(*ecs.Options)) (*ecs.ListTasksOutput, error)
	StopTask(ctx context.Context, params *ecs.StopTaskInput, optFns ...func(*ecs.Options)) (*ecs.StopTaskOutput, error)
	TagResource(ctx context.Context, params *ecs.TagResourceInput, optFns ...func(*ecs.Options)) (*ecs.TagResourceOutput, error)
}

ECSClustersAPI defines the interface for ECS Clusters operations.

type ECSServicesAPI added in v0.38.0

type ECSServicesAPI interface {
	ListClusters(ctx context.Context, params *ecs.ListClustersInput, optFns ...func(*ecs.Options)) (*ecs.ListClustersOutput, error)
	ListServices(ctx context.Context, params *ecs.ListServicesInput, optFns ...func(*ecs.Options)) (*ecs.ListServicesOutput, error)
	DescribeServices(ctx context.Context, params *ecs.DescribeServicesInput, optFns ...func(*ecs.Options)) (*ecs.DescribeServicesOutput, error)
	DeleteService(ctx context.Context, params *ecs.DeleteServiceInput, optFns ...func(*ecs.Options)) (*ecs.DeleteServiceOutput, error)
	UpdateService(ctx context.Context, params *ecs.UpdateServiceInput, optFns ...func(*ecs.Options)) (*ecs.UpdateServiceOutput, error)
}

ECSServicesAPI defines the interface for ECS Services operations.

type EIPAddressesAPI added in v0.38.0

type EIPAddressesAPI interface {
	DescribeAddresses(ctx context.Context, params *ec2.DescribeAddressesInput, optFns ...func(*ec2.Options)) (*ec2.DescribeAddressesOutput, error)
	ReleaseAddress(ctx context.Context, params *ec2.ReleaseAddressInput, optFns ...func(*ec2.Options)) (*ec2.ReleaseAddressOutput, error)
	CreateTags(ctx context.Context, params *ec2.CreateTagsInput, optFns ...func(*ec2.Options)) (*ec2.CreateTagsOutput, error)
}

EIPAddressesAPI defines the interface for Elastic IP operations.

type EKSClustersAPI added in v0.38.0

type EKSClustersAPI interface {
	DeleteCluster(ctx context.Context, params *eks.DeleteClusterInput, optFns ...func(*eks.Options)) (*eks.DeleteClusterOutput, error)
	DeleteFargateProfile(ctx context.Context, params *eks.DeleteFargateProfileInput, optFns ...func(*eks.Options)) (*eks.DeleteFargateProfileOutput, error)
	DeleteNodegroup(ctx context.Context, params *eks.DeleteNodegroupInput, optFns ...func(*eks.Options)) (*eks.DeleteNodegroupOutput, error)
	DescribeCluster(ctx context.Context, params *eks.DescribeClusterInput, optFns ...func(*eks.Options)) (*eks.DescribeClusterOutput, error)
	DescribeFargateProfile(ctx context.Context, params *eks.DescribeFargateProfileInput, optFns ...func(*eks.Options)) (*eks.DescribeFargateProfileOutput, error)
	DescribeNodegroup(ctx context.Context, params *eks.DescribeNodegroupInput, optFns ...func(*eks.Options)) (*eks.DescribeNodegroupOutput, error)
	ListClusters(ctx context.Context, params *eks.ListClustersInput, optFns ...func(*eks.Options)) (*eks.ListClustersOutput, error)
	ListFargateProfiles(ctx context.Context, params *eks.ListFargateProfilesInput, optFns ...func(*eks.Options)) (*eks.ListFargateProfilesOutput, error)
	ListNodegroups(ctx context.Context, params *eks.ListNodegroupsInput, optFns ...func(*eks.Options)) (*eks.ListNodegroupsOutput, error)
}

EKSClustersAPI defines the interface for EKS Clusters operations.

type EgressOnlyIGAPI added in v0.38.0

type EgressOnlyIGAPI interface {
	DescribeEgressOnlyInternetGateways(ctx context.Context, params *ec2.DescribeEgressOnlyInternetGatewaysInput, optFns ...func(*ec2.Options)) (*ec2.DescribeEgressOnlyInternetGatewaysOutput, error)
	DeleteEgressOnlyInternetGateway(ctx context.Context, params *ec2.DeleteEgressOnlyInternetGatewayInput, optFns ...func(*ec2.Options)) (*ec2.DeleteEgressOnlyInternetGatewayOutput, error)
}

EgressOnlyIGAPI defines the interface for Egress Only Internet Gateway operations.

type ElasticCacheServerlessAPI added in v0.38.0

type ElasticCacheServerlessAPI interface {
	DeleteServerlessCache(ctx context.Context, params *elasticache.DeleteServerlessCacheInput, optFns ...func(*elasticache.Options)) (*elasticache.DeleteServerlessCacheOutput, error)
	DescribeServerlessCaches(ctx context.Context, params *elasticache.DescribeServerlessCachesInput, optFns ...func(*elasticache.Options)) (*elasticache.DescribeServerlessCachesOutput, error)
}

ElasticCacheServerlessAPI defines the interface for ElastiCache Serverless operations.

type ElasticFileSystemAPI added in v0.38.0

type ElasticFileSystemAPI interface {
	DeleteAccessPoint(ctx context.Context, params *efs.DeleteAccessPointInput, optFns ...func(*efs.Options)) (*efs.DeleteAccessPointOutput, error)
	DeleteFileSystem(ctx context.Context, params *efs.DeleteFileSystemInput, optFns ...func(*efs.Options)) (*efs.DeleteFileSystemOutput, error)
	DeleteMountTarget(ctx context.Context, params *efs.DeleteMountTargetInput, optFns ...func(*efs.Options)) (*efs.DeleteMountTargetOutput, error)
	DescribeAccessPoints(ctx context.Context, params *efs.DescribeAccessPointsInput, optFns ...func(*efs.Options)) (*efs.DescribeAccessPointsOutput, error)
	DescribeMountTargets(ctx context.Context, params *efs.DescribeMountTargetsInput, optFns ...func(*efs.Options)) (*efs.DescribeMountTargetsOutput, error)
	DescribeFileSystems(ctx context.Context, params *efs.DescribeFileSystemsInput, optFns ...func(*efs.Options)) (*efs.DescribeFileSystemsOutput, error)
}

ElasticFileSystemAPI defines the interface for EFS operations.

type ElasticacheParameterGroupsAPI added in v0.38.0

type ElasticacheParameterGroupsAPI interface {
	DescribeCacheParameterGroups(ctx context.Context, params *elasticache.DescribeCacheParameterGroupsInput, optFns ...func(*elasticache.Options)) (*elasticache.DescribeCacheParameterGroupsOutput, error)
	DeleteCacheParameterGroup(ctx context.Context, params *elasticache.DeleteCacheParameterGroupInput, optFns ...func(*elasticache.Options)) (*elasticache.DeleteCacheParameterGroupOutput, error)
}

ElasticacheParameterGroupsAPI defines the interface for Elasticache Parameter Group operations.

type ElasticacheSubnetGroupsAPI added in v0.38.0

type ElasticacheSubnetGroupsAPI interface {
	DescribeCacheSubnetGroups(ctx context.Context, params *elasticache.DescribeCacheSubnetGroupsInput, optFns ...func(*elasticache.Options)) (*elasticache.DescribeCacheSubnetGroupsOutput, error)
	DeleteCacheSubnetGroup(ctx context.Context, params *elasticache.DeleteCacheSubnetGroupInput, optFns ...func(*elasticache.Options)) (*elasticache.DeleteCacheSubnetGroupOutput, error)
}

ElasticacheSubnetGroupsAPI defines the interface for Elasticache Subnet Group operations.

type ElasticachesAPI added in v0.38.0

type ElasticachesAPI interface {
	DescribeReplicationGroups(ctx context.Context, params *elasticache.DescribeReplicationGroupsInput, optFns ...func(*elasticache.Options)) (*elasticache.DescribeReplicationGroupsOutput, error)
	DescribeCacheClusters(ctx context.Context, params *elasticache.DescribeCacheClustersInput, optFns ...func(*elasticache.Options)) (*elasticache.DescribeCacheClustersOutput, error)
	DeleteCacheCluster(ctx context.Context, params *elasticache.DeleteCacheClusterInput, optFns ...func(*elasticache.Options)) (*elasticache.DeleteCacheClusterOutput, error)
	DeleteReplicationGroup(ctx context.Context, params *elasticache.DeleteReplicationGroupInput, optFns ...func(*elasticache.Options)) (*elasticache.DeleteReplicationGroupOutput, error)
}

ElasticachesAPI defines the interface for Elasticache operations.

type ElbDeleteError

type ElbDeleteError struct{}

ElbDeleteError represents an error when deleting ELB.

func (ElbDeleteError) Error

func (e ElbDeleteError) Error() string

type EventBridgeAPI added in v0.38.0

type EventBridgeAPI interface {
	DeleteEventBus(ctx context.Context, params *eventbridge.DeleteEventBusInput, optFns ...func(*eventbridge.Options)) (*eventbridge.DeleteEventBusOutput, error)
	ListEventBuses(ctx context.Context, params *eventbridge.ListEventBusesInput, optFns ...func(*eventbridge.Options)) (*eventbridge.ListEventBusesOutput, error)
}

EventBridgeAPI defines the interface for EventBridge operations.

type EventBridgeArchiveAPI added in v0.38.0

type EventBridgeArchiveAPI interface {
	ListArchives(ctx context.Context, params *eventbridge.ListArchivesInput, optFns ...func(*eventbridge.Options)) (*eventbridge.ListArchivesOutput, error)
	DeleteArchive(ctx context.Context, params *eventbridge.DeleteArchiveInput, optFns ...func(*eventbridge.Options)) (*eventbridge.DeleteArchiveOutput, error)
}

EventBridgeArchiveAPI defines the interface for EventBridge Archive operations.

type EventBridgeRuleAPI added in v0.38.0

type EventBridgeRuleAPI interface {
	ListRules(ctx context.Context, params *eventbridge.ListRulesInput, optFns ...func(*eventbridge.Options)) (*eventbridge.ListRulesOutput, error)
	DeleteRule(ctx context.Context, params *eventbridge.DeleteRuleInput, optFns ...func(*eventbridge.Options)) (*eventbridge.DeleteRuleOutput, error)
	ListEventBuses(ctx context.Context, params *eventbridge.ListEventBusesInput, optFns ...func(*eventbridge.Options)) (*eventbridge.ListEventBusesOutput, error)
	ListTargetsByRule(ctx context.Context, params *eventbridge.ListTargetsByRuleInput, optFns ...func(*eventbridge.Options)) (*eventbridge.ListTargetsByRuleOutput, error)
	RemoveTargets(ctx context.Context, params *eventbridge.RemoveTargetsInput, optFns ...func(*eventbridge.Options)) (*eventbridge.RemoveTargetsOutput, error)
}

EventBridgeRuleAPI defines the interface for EventBridge Rule operations.

type EventBridgeScheduleAPI added in v0.38.0

type EventBridgeScheduleAPI interface {
	ListSchedules(ctx context.Context, params *scheduler.ListSchedulesInput, optFns ...func(*scheduler.Options)) (*scheduler.ListSchedulesOutput, error)
	DeleteSchedule(ctx context.Context, params *scheduler.DeleteScheduleInput, optFns ...func(*scheduler.Options)) (*scheduler.DeleteScheduleOutput, error)
}

EventBridgeScheduleAPI defines the interface for EventBridge Schedule operations.

type EventBridgeScheduleGroupAPI added in v0.38.0

type EventBridgeScheduleGroupAPI interface {
	DeleteScheduleGroup(ctx context.Context, params *scheduler.DeleteScheduleGroupInput, optFns ...func(*scheduler.Options)) (*scheduler.DeleteScheduleGroupOutput, error)
	ListScheduleGroups(ctx context.Context, params *scheduler.ListScheduleGroupsInput, optFns ...func(*scheduler.Options)) (*scheduler.ListScheduleGroupsOutput, error)
}

EventBridgeScheduleGroupAPI defines the interface for EventBridge Schedule Group operations.

type GrafanaAPI added in v0.38.0

type GrafanaAPI interface {
	ListWorkspaces(ctx context.Context, params *grafana.ListWorkspacesInput, optFns ...func(*grafana.Options)) (*grafana.ListWorkspacesOutput, error)
	DeleteWorkspace(ctx context.Context, params *grafana.DeleteWorkspaceInput, optFns ...func(*grafana.Options)) (*grafana.DeleteWorkspaceOutput, error)
}

GrafanaAPI defines the interface for Grafana operations.

type GuardDutyAPI added in v0.38.0

type GuardDutyAPI interface {
	GetDetector(ctx context.Context, params *guardduty.GetDetectorInput, optFns ...func(*guardduty.Options)) (*guardduty.GetDetectorOutput, error)
	DeleteDetector(ctx context.Context, params *guardduty.DeleteDetectorInput, optFns ...func(*guardduty.Options)) (*guardduty.DeleteDetectorOutput, error)
	ListDetectors(ctx context.Context, params *guardduty.ListDetectorsInput, optFns ...func(*guardduty.Options)) (*guardduty.ListDetectorsOutput, error)
}

GuardDutyAPI defines the interface for GuardDuty operations.

type IAMGroupsAPI added in v0.38.0

type IAMGroupsAPI interface {
	DetachGroupPolicy(ctx context.Context, params *iam.DetachGroupPolicyInput, optFns ...func(*iam.Options)) (*iam.DetachGroupPolicyOutput, error)
	DeleteGroupPolicy(ctx context.Context, params *iam.DeleteGroupPolicyInput, optFns ...func(*iam.Options)) (*iam.DeleteGroupPolicyOutput, error)
	DeleteGroup(ctx context.Context, params *iam.DeleteGroupInput, optFns ...func(*iam.Options)) (*iam.DeleteGroupOutput, error)
	GetGroup(ctx context.Context, params *iam.GetGroupInput, optFns ...func(*iam.Options)) (*iam.GetGroupOutput, error)
	ListAttachedGroupPolicies(ctx context.Context, params *iam.ListAttachedGroupPoliciesInput, optFns ...func(*iam.Options)) (*iam.ListAttachedGroupPoliciesOutput, error)
	ListGroups(ctx context.Context, params *iam.ListGroupsInput, optFns ...func(*iam.Options)) (*iam.ListGroupsOutput, error)
	ListGroupPolicies(ctx context.Context, params *iam.ListGroupPoliciesInput, optFns ...func(*iam.Options)) (*iam.ListGroupPoliciesOutput, error)
	RemoveUserFromGroup(ctx context.Context, params *iam.RemoveUserFromGroupInput, optFns ...func(*iam.Options)) (*iam.RemoveUserFromGroupOutput, error)
}

IAMGroupsAPI defines the interface for IAM group operations.

type IAMInstanceProfilesAPI added in v0.47.0

type IAMInstanceProfilesAPI interface {
	ListInstanceProfiles(ctx context.Context, params *iam.ListInstanceProfilesInput, optFns ...func(*iam.Options)) (*iam.ListInstanceProfilesOutput, error)
	GetInstanceProfile(ctx context.Context, params *iam.GetInstanceProfileInput, optFns ...func(*iam.Options)) (*iam.GetInstanceProfileOutput, error)
	RemoveRoleFromInstanceProfile(ctx context.Context, params *iam.RemoveRoleFromInstanceProfileInput, optFns ...func(*iam.Options)) (*iam.RemoveRoleFromInstanceProfileOutput, error)
	DeleteInstanceProfile(ctx context.Context, params *iam.DeleteInstanceProfileInput, optFns ...func(*iam.Options)) (*iam.DeleteInstanceProfileOutput, error)
}

IAMInstanceProfilesAPI defines the interface for IAM instance profile operations.

type IAMPoliciesAPI added in v0.38.0

type IAMPoliciesAPI interface {
	ListEntitiesForPolicy(ctx context.Context, params *iam.ListEntitiesForPolicyInput, optFns ...func(*iam.Options)) (*iam.ListEntitiesForPolicyOutput, error)
	ListPolicies(ctx context.Context, params *iam.ListPoliciesInput, optFns ...func(*iam.Options)) (*iam.ListPoliciesOutput, error)
	ListPolicyTags(ctx context.Context, params *iam.ListPolicyTagsInput, optFns ...func(*iam.Options)) (*iam.ListPolicyTagsOutput, error)
	ListPolicyVersions(ctx context.Context, params *iam.ListPolicyVersionsInput, optFns ...func(*iam.Options)) (*iam.ListPolicyVersionsOutput, error)
	DeletePolicy(ctx context.Context, params *iam.DeletePolicyInput, optFns ...func(*iam.Options)) (*iam.DeletePolicyOutput, error)
	DeletePolicyVersion(ctx context.Context, params *iam.DeletePolicyVersionInput, optFns ...func(*iam.Options)) (*iam.DeletePolicyVersionOutput, error)
	DetachGroupPolicy(ctx context.Context, params *iam.DetachGroupPolicyInput, optFns ...func(*iam.Options)) (*iam.DetachGroupPolicyOutput, error)
	DetachUserPolicy(ctx context.Context, params *iam.DetachUserPolicyInput, optFns ...func(*iam.Options)) (*iam.DetachUserPolicyOutput, error)
	DetachRolePolicy(ctx context.Context, params *iam.DetachRolePolicyInput, optFns ...func(*iam.Options)) (*iam.DetachRolePolicyOutput, error)
	DeleteUserPermissionsBoundary(ctx context.Context, params *iam.DeleteUserPermissionsBoundaryInput, optFns ...func(*iam.Options)) (*iam.DeleteUserPermissionsBoundaryOutput, error)
	DeleteRolePermissionsBoundary(ctx context.Context, params *iam.DeleteRolePermissionsBoundaryInput, optFns ...func(*iam.Options)) (*iam.DeleteRolePermissionsBoundaryOutput, error)
}

IAMPoliciesAPI defines the interface for IAM policy operations.

type IAMRolesAPI added in v0.38.0

type IAMRolesAPI interface {
	ListAttachedRolePolicies(ctx context.Context, params *iam.ListAttachedRolePoliciesInput, optFns ...func(*iam.Options)) (*iam.ListAttachedRolePoliciesOutput, error)
	ListInstanceProfilesForRole(ctx context.Context, params *iam.ListInstanceProfilesForRoleInput, optFns ...func(*iam.Options)) (*iam.ListInstanceProfilesForRoleOutput, error)
	ListRolePolicies(ctx context.Context, params *iam.ListRolePoliciesInput, optFns ...func(*iam.Options)) (*iam.ListRolePoliciesOutput, error)
	ListRoles(ctx context.Context, params *iam.ListRolesInput, optFns ...func(*iam.Options)) (*iam.ListRolesOutput, error)
	ListRoleTags(ctx context.Context, params *iam.ListRoleTagsInput, optFns ...func(*iam.Options)) (*iam.ListRoleTagsOutput, error)
	DeleteInstanceProfile(ctx context.Context, params *iam.DeleteInstanceProfileInput, optFns ...func(*iam.Options)) (*iam.DeleteInstanceProfileOutput, error)
	DetachRolePolicy(ctx context.Context, params *iam.DetachRolePolicyInput, optFns ...func(*iam.Options)) (*iam.DetachRolePolicyOutput, error)
	DeleteRolePolicy(ctx context.Context, params *iam.DeleteRolePolicyInput, optFns ...func(*iam.Options)) (*iam.DeleteRolePolicyOutput, error)
	DeleteRole(ctx context.Context, params *iam.DeleteRoleInput, optFns ...func(*iam.Options)) (*iam.DeleteRoleOutput, error)
	RemoveRoleFromInstanceProfile(ctx context.Context, params *iam.RemoveRoleFromInstanceProfileInput, optFns ...func(*iam.Options)) (*iam.RemoveRoleFromInstanceProfileOutput, error)
}

IAMRolesAPI defines the interface for IAM role operations.

type IAMServiceLinkedRolesAPI added in v0.38.0

type IAMServiceLinkedRolesAPI interface {
	ListRoles(ctx context.Context, params *iam.ListRolesInput, optFns ...func(*iam.Options)) (*iam.ListRolesOutput, error)
	DeleteServiceLinkedRole(ctx context.Context, params *iam.DeleteServiceLinkedRoleInput, optFns ...func(*iam.Options)) (*iam.DeleteServiceLinkedRoleOutput, error)
	GetServiceLinkedRoleDeletionStatus(ctx context.Context, params *iam.GetServiceLinkedRoleDeletionStatusInput, optFns ...func(*iam.Options)) (*iam.GetServiceLinkedRoleDeletionStatusOutput, error)
}

IAMServiceLinkedRolesAPI defines the interface for IAM Service Linked Role operations.

type IAMUsersAPI added in v0.38.0

type IAMUsersAPI interface {
	ListAccessKeys(ctx context.Context, params *iam.ListAccessKeysInput, optFns ...func(*iam.Options)) (*iam.ListAccessKeysOutput, error)
	ListGroupsForUser(ctx context.Context, params *iam.ListGroupsForUserInput, optFns ...func(*iam.Options)) (*iam.ListGroupsForUserOutput, error)
	ListUserPolicies(ctx context.Context, params *iam.ListUserPoliciesInput, optFns ...func(*iam.Options)) (*iam.ListUserPoliciesOutput, error)
	ListUserTags(ctx context.Context, params *iam.ListUserTagsInput, optFns ...func(*iam.Options)) (*iam.ListUserTagsOutput, error)
	ListMFADevices(ctx context.Context, params *iam.ListMFADevicesInput, optFns ...func(*iam.Options)) (*iam.ListMFADevicesOutput, error)
	ListSSHPublicKeys(ctx context.Context, params *iam.ListSSHPublicKeysInput, optFns ...func(*iam.Options)) (*iam.ListSSHPublicKeysOutput, error)
	ListServiceSpecificCredentials(ctx context.Context, params *iam.ListServiceSpecificCredentialsInput, optFns ...func(*iam.Options)) (*iam.ListServiceSpecificCredentialsOutput, error)
	ListSigningCertificates(ctx context.Context, params *iam.ListSigningCertificatesInput, optFns ...func(*iam.Options)) (*iam.ListSigningCertificatesOutput, error)
	ListUsers(ctx context.Context, params *iam.ListUsersInput, optFns ...func(*iam.Options)) (*iam.ListUsersOutput, error)
	ListAttachedUserPolicies(ctx context.Context, params *iam.ListAttachedUserPoliciesInput, optFns ...func(*iam.Options)) (*iam.ListAttachedUserPoliciesOutput, error)
	DetachUserPolicy(ctx context.Context, params *iam.DetachUserPolicyInput, optFns ...func(*iam.Options)) (*iam.DetachUserPolicyOutput, error)
	DeleteLoginProfile(ctx context.Context, params *iam.DeleteLoginProfileInput, optFns ...func(*iam.Options)) (*iam.DeleteLoginProfileOutput, error)
	DeleteUserPolicy(ctx context.Context, params *iam.DeleteUserPolicyInput, optFns ...func(*iam.Options)) (*iam.DeleteUserPolicyOutput, error)
	DeleteAccessKey(ctx context.Context, params *iam.DeleteAccessKeyInput, optFns ...func(*iam.Options)) (*iam.DeleteAccessKeyOutput, error)
	DeleteSigningCertificate(ctx context.Context, params *iam.DeleteSigningCertificateInput, optFns ...func(*iam.Options)) (*iam.DeleteSigningCertificateOutput, error)
	DeleteSSHPublicKey(ctx context.Context, params *iam.DeleteSSHPublicKeyInput, optFns ...func(*iam.Options)) (*iam.DeleteSSHPublicKeyOutput, error)
	DeleteServiceSpecificCredential(ctx context.Context, params *iam.DeleteServiceSpecificCredentialInput, optFns ...func(*iam.Options)) (*iam.DeleteServiceSpecificCredentialOutput, error)
	DeactivateMFADevice(ctx context.Context, params *iam.DeactivateMFADeviceInput, optFns ...func(*iam.Options)) (*iam.DeactivateMFADeviceOutput, error)
	DeleteVirtualMFADevice(ctx context.Context, params *iam.DeleteVirtualMFADeviceInput, optFns ...func(*iam.Options)) (*iam.DeleteVirtualMFADeviceOutput, error)
	DeleteUser(ctx context.Context, params *iam.DeleteUserInput, optFns ...func(*iam.Options)) (*iam.DeleteUserOutput, error)
	RemoveUserFromGroup(ctx context.Context, params *iam.RemoveUserFromGroupInput, optFns ...func(*iam.Options)) (*iam.RemoveUserFromGroupOutput, error)
}

IAMUsersAPI defines the interface for IAM user operations.

type ImageAvailableError

type ImageAvailableError struct{}

ImageAvailableError is returned when an image doesn't become available within wait attempts.

func (ImageAvailableError) Error

func (e ImageAvailableError) Error() string

type InternetGatewayAPI added in v0.38.0

type InternetGatewayAPI interface {
	DescribeInternetGateways(ctx context.Context, params *ec2.DescribeInternetGatewaysInput, optFns ...func(*ec2.Options)) (*ec2.DescribeInternetGatewaysOutput, error)
	DescribeVpcs(ctx context.Context, params *ec2.DescribeVpcsInput, optFns ...func(*ec2.Options)) (*ec2.DescribeVpcsOutput, error)
	DeleteInternetGateway(ctx context.Context, params *ec2.DeleteInternetGatewayInput, optFns ...func(*ec2.Options)) (*ec2.DeleteInternetGatewayOutput, error)
	DetachInternetGateway(ctx context.Context, params *ec2.DetachInternetGatewayInput, optFns ...func(*ec2.Options)) (*ec2.DetachInternetGatewayOutput, error)
	CreateTags(ctx context.Context, params *ec2.CreateTagsInput, optFns ...func(*ec2.Options)) (*ec2.CreateTagsOutput, error)
}

InternetGatewayAPI defines the interface for Internet Gateway operations.

type KinesisFirehoseAPI added in v0.38.0

type KinesisFirehoseAPI interface {
	ListDeliveryStreams(ctx context.Context, params *firehose.ListDeliveryStreamsInput, optFns ...func(*firehose.Options)) (*firehose.ListDeliveryStreamsOutput, error)
	DeleteDeliveryStream(ctx context.Context, params *firehose.DeleteDeliveryStreamInput, optFns ...func(*firehose.Options)) (*firehose.DeleteDeliveryStreamOutput, error)
}

KinesisFirehoseAPI defines the interface for Kinesis Firehose operations.

type KinesisStreamsAPI added in v0.38.0

type KinesisStreamsAPI interface {
	ListStreams(ctx context.Context, params *kinesis.ListStreamsInput, optFns ...func(*kinesis.Options)) (*kinesis.ListStreamsOutput, error)
	DeleteStream(ctx context.Context, params *kinesis.DeleteStreamInput, optFns ...func(*kinesis.Options)) (*kinesis.DeleteStreamOutput, error)
}

KinesisStreamsAPI defines the interface for Kinesis Streams operations.

type KmsCustomerKeysAPI added in v0.38.0

type KmsCustomerKeysAPI interface {
	ListKeys(ctx context.Context, params *kms.ListKeysInput, optFns ...func(*kms.Options)) (*kms.ListKeysOutput, error)
	ListAliases(ctx context.Context, params *kms.ListAliasesInput, optFns ...func(*kms.Options)) (*kms.ListAliasesOutput, error)
	ListResourceTags(ctx context.Context, params *kms.ListResourceTagsInput, optFns ...func(*kms.Options)) (*kms.ListResourceTagsOutput, error)
	DescribeKey(ctx context.Context, params *kms.DescribeKeyInput, optFns ...func(*kms.Options)) (*kms.DescribeKeyOutput, error)
	ScheduleKeyDeletion(ctx context.Context, params *kms.ScheduleKeyDeletionInput, optFns ...func(*kms.Options)) (*kms.ScheduleKeyDeletionOutput, error)
}

KmsCustomerKeysAPI defines the interface for KMS operations.

type LambdaFunctionsAPI added in v0.38.0

type LambdaFunctionsAPI interface {
	DeleteFunction(ctx context.Context, params *lambda.DeleteFunctionInput, optFns ...func(*lambda.Options)) (*lambda.DeleteFunctionOutput, error)
	ListFunctions(ctx context.Context, params *lambda.ListFunctionsInput, optFns ...func(*lambda.Options)) (*lambda.ListFunctionsOutput, error)
	ListTags(ctx context.Context, params *lambda.ListTagsInput, optFns ...func(*lambda.Options)) (*lambda.ListTagsOutput, error)
}

LambdaFunctionsAPI defines the interface for Lambda operations.

type LambdaLayersAPI added in v0.38.0

type LambdaLayersAPI interface {
	DeleteLayerVersion(ctx context.Context, params *lambda.DeleteLayerVersionInput, optFns ...func(*lambda.Options)) (*lambda.DeleteLayerVersionOutput, error)
	ListLayers(ctx context.Context, params *lambda.ListLayersInput, optFns ...func(*lambda.Options)) (*lambda.ListLayersOutput, error)
	ListLayerVersions(ctx context.Context, params *lambda.ListLayerVersionsInput, optFns ...func(*lambda.Options)) (*lambda.ListLayerVersionsOutput, error)
}

LambdaLayersAPI defines the interface for Lambda layer operations.

type LaunchConfigsAPI added in v0.38.0

type LaunchConfigsAPI interface {
	DescribeLaunchConfigurations(ctx context.Context, params *autoscaling.DescribeLaunchConfigurationsInput, optFns ...func(*autoscaling.Options)) (*autoscaling.DescribeLaunchConfigurationsOutput, error)
	DeleteLaunchConfiguration(ctx context.Context, params *autoscaling.DeleteLaunchConfigurationInput, optFns ...func(*autoscaling.Options)) (*autoscaling.DeleteLaunchConfigurationOutput, error)
}

LaunchConfigsAPI defines the interface for Launch Configuration operations.

type LaunchTemplatesAPI added in v0.38.0

type LaunchTemplatesAPI interface {
	DescribeLaunchTemplates(ctx context.Context, params *ec2.DescribeLaunchTemplatesInput, optFns ...func(*ec2.Options)) (*ec2.DescribeLaunchTemplatesOutput, error)
	DeleteLaunchTemplate(ctx context.Context, params *ec2.DeleteLaunchTemplateInput, optFns ...func(*ec2.Options)) (*ec2.DeleteLaunchTemplateOutput, error)
}

LaunchTemplatesAPI defines the interface for Launch Template operations.

type LoadBalancersAPI added in v0.38.0

LoadBalancersAPI defines the interface for ELB operations.

type LoadBalancersPaginatorAPI added in v0.47.0

type LoadBalancersPaginatorAPI interface {
	LoadBalancersAPI
	elasticloadbalancing.DescribeLoadBalancersAPIClient
}

LoadBalancersPaginatorAPI defines the interface for paginator operations.

type LoadBalancersV2API added in v0.38.0

LoadBalancersV2API defines the interface for ELBv2 operations.

type LoadBalancersV2PaginatorAPI added in v0.47.0

type LoadBalancersV2PaginatorAPI interface {
	LoadBalancersV2API
	elasticloadbalancingv2.DescribeLoadBalancersAPIClient
}

LoadBalancersV2PaginatorAPI defines the interface for paginator operations.

type MSKClusterAPI added in v0.38.0

type MSKClusterAPI interface {
	ListClustersV2(ctx context.Context, params *kafka.ListClustersV2Input, optFns ...func(*kafka.Options)) (*kafka.ListClustersV2Output, error)
	DeleteCluster(ctx context.Context, params *kafka.DeleteClusterInput, optFns ...func(*kafka.Options)) (*kafka.DeleteClusterOutput, error)
}

MSKClusterAPI defines the interface for MSK Cluster operations.

type MacieMemberAPI added in v0.38.0

type MacieMemberAPI interface {
	GetMacieSession(ctx context.Context, params *macie2.GetMacieSessionInput, optFns ...func(*macie2.Options)) (*macie2.GetMacieSessionOutput, error)
	ListMembers(ctx context.Context, params *macie2.ListMembersInput, optFns ...func(*macie2.Options)) (*macie2.ListMembersOutput, error)
	DisassociateMember(ctx context.Context, params *macie2.DisassociateMemberInput, optFns ...func(*macie2.Options)) (*macie2.DisassociateMemberOutput, error)
	DeleteMember(ctx context.Context, params *macie2.DeleteMemberInput, optFns ...func(*macie2.Options)) (*macie2.DeleteMemberOutput, error)
	GetAdministratorAccount(ctx context.Context, params *macie2.GetAdministratorAccountInput, optFns ...func(*macie2.Options)) (*macie2.GetAdministratorAccountOutput, error)
	DisassociateFromAdministratorAccount(ctx context.Context, params *macie2.DisassociateFromAdministratorAccountInput, optFns ...func(*macie2.Options)) (*macie2.DisassociateFromAdministratorAccountOutput, error)
	DisableMacie(ctx context.Context, params *macie2.DisableMacieInput, optFns ...func(*macie2.Options)) (*macie2.DisableMacieOutput, error)
}

MacieMemberAPI defines the interface for Macie operations.

type ManagedPrometheusAPI added in v0.37.2

type ManagedPrometheusAPI interface {
	ListWorkspaces(ctx context.Context, input *amp.ListWorkspacesInput, f ...func(*amp.Options)) (*amp.ListWorkspacesOutput, error)
	DeleteWorkspace(ctx context.Context, params *amp.DeleteWorkspaceInput, optFns ...func(*amp.Options)) (*amp.DeleteWorkspaceOutput, error)
}

ManagedPrometheusAPI defines the interface for Managed Prometheus operations.

type NatGatewaysAPI added in v0.38.0

type NatGatewaysAPI interface {
	DeleteNatGateway(ctx context.Context, params *ec2.DeleteNatGatewayInput, optFns ...func(*ec2.Options)) (*ec2.DeleteNatGatewayOutput, error)
	DescribeNatGateways(ctx context.Context, params *ec2.DescribeNatGatewaysInput, optFns ...func(*ec2.Options)) (*ec2.DescribeNatGatewaysOutput, error)
	DescribeVpcs(ctx context.Context, params *ec2.DescribeVpcsInput, optFns ...func(*ec2.Options)) (*ec2.DescribeVpcsOutput, error)
}

NatGatewaysAPI defines the interface for NAT Gateway operations.

type NetworkACLAPI added in v0.38.0

type NetworkACLAPI interface {
	DescribeNetworkAcls(ctx context.Context, params *ec2.DescribeNetworkAclsInput, optFns ...func(*ec2.Options)) (*ec2.DescribeNetworkAclsOutput, error)
	DeleteNetworkAcl(ctx context.Context, params *ec2.DeleteNetworkAclInput, optFns ...func(*ec2.Options)) (*ec2.DeleteNetworkAclOutput, error)
	ReplaceNetworkAclAssociation(ctx context.Context, params *ec2.ReplaceNetworkAclAssociationInput, optFns ...func(*ec2.Options)) (*ec2.ReplaceNetworkAclAssociationOutput, error)
}

NetworkACLAPI defines the interface for Network ACL operations.

type NetworkFirewallAPI added in v0.38.0

NetworkFirewallAPI defines the interface for Network Firewall operations.

type NetworkFirewallPolicyAPI added in v0.38.0

NetworkFirewallPolicyAPI defines the interface for Network Firewall Policy operations.

type NetworkFirewallResourcePolicyAPI added in v0.38.0

NetworkFirewallResourcePolicyAPI defines the interface for Network Firewall resource policy operations. Resource policies are attached to shared firewall policies or rule groups for cross-account sharing. References: - https://docs.aws.amazon.com/network-firewall/latest/developerguide/security_iam_resource-based-policy-examples.html - https://docs.aws.amazon.com/network-firewall/latest/developerguide/sharing.html

type NetworkFirewallRuleGroupAPI added in v0.38.0

NetworkFirewallRuleGroupAPI defines the interface for NetworkFirewall Rule Group operations.

type NetworkFirewallTLSConfigAPI added in v0.38.0

NetworkFirewallTLSConfigAPI defines the interface for Network Firewall TLS Config operations.

type NetworkInterfaceAPI added in v0.38.0

type NetworkInterfaceAPI interface {
	DescribeNetworkInterfaces(ctx context.Context, params *ec2.DescribeNetworkInterfacesInput, optFns ...func(*ec2.Options)) (*ec2.DescribeNetworkInterfacesOutput, error)
	DeleteNetworkInterface(ctx context.Context, params *ec2.DeleteNetworkInterfaceInput, optFns ...func(*ec2.Options)) (*ec2.DeleteNetworkInterfaceOutput, error)
	DescribeAddresses(ctx context.Context, params *ec2.DescribeAddressesInput, optFns ...func(*ec2.Options)) (*ec2.DescribeAddressesOutput, error)
	ReleaseAddress(ctx context.Context, params *ec2.ReleaseAddressInput, optFns ...func(*ec2.Options)) (*ec2.ReleaseAddressOutput, error)
	TerminateInstances(ctx context.Context, params *ec2.TerminateInstancesInput, optFns ...func(*ec2.Options)) (*ec2.TerminateInstancesOutput, error)
	DescribeInstances(ctx context.Context, params *ec2.DescribeInstancesInput, optFns ...func(*ec2.Options)) (*ec2.DescribeInstancesOutput, error)
	CreateTags(ctx context.Context, params *ec2.CreateTagsInput, optFns ...func(*ec2.Options)) (*ec2.CreateTagsOutput, error)
	DescribeVpcs(ctx context.Context, params *ec2.DescribeVpcsInput, optFns ...func(*ec2.Options)) (*ec2.DescribeVpcsOutput, error)
}

NetworkInterfaceAPI defines the interface for Network Interface operations.

type OIDCProvidersAPI added in v0.38.0

type OIDCProvidersAPI interface {
	ListOpenIDConnectProviders(ctx context.Context, params *iam.ListOpenIDConnectProvidersInput, optFns ...func(*iam.Options)) (*iam.ListOpenIDConnectProvidersOutput, error)
	GetOpenIDConnectProvider(ctx context.Context, params *iam.GetOpenIDConnectProviderInput, optFns ...func(*iam.Options)) (*iam.GetOpenIDConnectProviderOutput, error)
	DeleteOpenIDConnectProvider(ctx context.Context, params *iam.DeleteOpenIDConnectProviderInput, optFns ...func(*iam.Options)) (*iam.DeleteOpenIDConnectProviderOutput, error)
}

OIDCProvidersAPI defines the interface for OIDC provider operations.

type OpenSearchDomainsAPI added in v0.38.0

type OpenSearchDomainsAPI interface {
	AddTags(ctx context.Context, params *opensearch.AddTagsInput, optFns ...func(*opensearch.Options)) (*opensearch.AddTagsOutput, error)
	DeleteDomain(ctx context.Context, params *opensearch.DeleteDomainInput, optFns ...func(*opensearch.Options)) (*opensearch.DeleteDomainOutput, error)
	DescribeDomains(ctx context.Context, params *opensearch.DescribeDomainsInput, optFns ...func(*opensearch.Options)) (*opensearch.DescribeDomainsOutput, error)
	ListDomainNames(ctx context.Context, params *opensearch.ListDomainNamesInput, optFns ...func(*opensearch.Options)) (*opensearch.ListDomainNamesOutput, error)
	ListTags(ctx context.Context, params *opensearch.ListTagsInput, optFns ...func(*opensearch.Options)) (*opensearch.ListTagsOutput, error)
}

OpenSearchDomainsAPI defines the interface for OpenSearch operations.

type RdsParameterGroupAPI added in v0.38.0

type RdsParameterGroupAPI interface {
	DeleteDBParameterGroup(ctx context.Context, params *rds.DeleteDBParameterGroupInput, optFns ...func(*rds.Options)) (*rds.DeleteDBParameterGroupOutput, error)
	DescribeDBParameterGroups(ctx context.Context, params *rds.DescribeDBParameterGroupsInput, optFns ...func(*rds.Options)) (*rds.DescribeDBParameterGroupsOutput, error)
}

RdsParameterGroupAPI defines the interface for RDS Parameter Group operations.

type RdsProxyAPI added in v0.38.0

type RdsProxyAPI interface {
	DescribeDBProxies(ctx context.Context, params *rds.DescribeDBProxiesInput, optFns ...func(*rds.Options)) (*rds.DescribeDBProxiesOutput, error)
	DeleteDBProxy(ctx context.Context, params *rds.DeleteDBProxyInput, optFns ...func(*rds.Options)) (*rds.DeleteDBProxyOutput, error)
}

RdsProxyAPI defines the interface for RDS Proxy operations.

type RdsSnapshotAPI added in v0.38.0

type RdsSnapshotAPI interface {
	DescribeDBSnapshots(ctx context.Context, params *rds.DescribeDBSnapshotsInput, optFns ...func(*rds.Options)) (*rds.DescribeDBSnapshotsOutput, error)
	DeleteDBSnapshot(ctx context.Context, params *rds.DeleteDBSnapshotInput, optFns ...func(*rds.Options)) (*rds.DeleteDBSnapshotOutput, error)
}

RdsSnapshotAPI defines the interface for RDS Snapshot operations.

type RedshiftClustersAPI added in v0.38.0

type RedshiftClustersAPI interface {
	DescribeClusters(ctx context.Context, params *redshift.DescribeClustersInput, optFns ...func(*redshift.Options)) (*redshift.DescribeClustersOutput, error)
	DeleteCluster(ctx context.Context, params *redshift.DeleteClusterInput, optFns ...func(*redshift.Options)) (*redshift.DeleteClusterOutput, error)
}

RedshiftClustersAPI defines the interface for Redshift Cluster operations.

type RedshiftSnapshotCopyGrantsAPI added in v0.46.0

type RedshiftSnapshotCopyGrantsAPI interface {
	DescribeSnapshotCopyGrants(ctx context.Context, params *redshift.DescribeSnapshotCopyGrantsInput, optFns ...func(*redshift.Options)) (*redshift.DescribeSnapshotCopyGrantsOutput, error)
	DeleteSnapshotCopyGrant(ctx context.Context, params *redshift.DeleteSnapshotCopyGrantInput, optFns ...func(*redshift.Options)) (*redshift.DeleteSnapshotCopyGrantOutput, error)
}

RedshiftSnapshotCopyGrantsAPI defines the interface for Redshift Snapshot Copy Grant operations.

type Route53CidrCollectionAPI added in v0.38.0

type Route53CidrCollectionAPI interface {
	ListCidrCollections(ctx context.Context, params *route53.ListCidrCollectionsInput, optFns ...func(*route53.Options)) (*route53.ListCidrCollectionsOutput, error)
	ListCidrBlocks(ctx context.Context, params *route53.ListCidrBlocksInput, optFns ...func(*route53.Options)) (*route53.ListCidrBlocksOutput, error)
	ChangeCidrCollection(ctx context.Context, params *route53.ChangeCidrCollectionInput, optFns ...func(*route53.Options)) (*route53.ChangeCidrCollectionOutput, error)
	DeleteCidrCollection(ctx context.Context, params *route53.DeleteCidrCollectionInput, optFns ...func(*route53.Options)) (*route53.DeleteCidrCollectionOutput, error)
}

Route53CidrCollectionAPI defines the interface for Route53 CIDR Collection operations.

type Route53HostedZoneAPI added in v0.38.0

type Route53HostedZoneAPI interface {
	ListHostedZones(ctx context.Context, params *route53.ListHostedZonesInput, optFns ...func(*route53.Options)) (*route53.ListHostedZonesOutput, error)
	ListTagsForResources(ctx context.Context, params *route53.ListTagsForResourcesInput, optFns ...func(*route53.Options)) (*route53.ListTagsForResourcesOutput, error)
	ListResourceRecordSets(ctx context.Context, params *route53.ListResourceRecordSetsInput, optFns ...func(*route53.Options)) (*route53.ListResourceRecordSetsOutput, error)
	ChangeResourceRecordSets(ctx context.Context, params *route53.ChangeResourceRecordSetsInput, optFns ...func(*route53.Options)) (*route53.ChangeResourceRecordSetsOutput, error)
	DeleteHostedZone(ctx context.Context, params *route53.DeleteHostedZoneInput, optFns ...func(*route53.Options)) (*route53.DeleteHostedZoneOutput, error)
	DeleteTrafficPolicyInstance(ctx context.Context, params *route53.DeleteTrafficPolicyInstanceInput, optFns ...func(*route53.Options)) (*route53.DeleteTrafficPolicyInstanceOutput, error)
}

Route53HostedZoneAPI defines the interface for Route53 hosted zone operations.

type Route53TrafficPolicyAPI added in v0.38.0

type Route53TrafficPolicyAPI interface {
	ListTrafficPolicies(ctx context.Context, params *route53.ListTrafficPoliciesInput, optFns ...func(*route53.Options)) (*route53.ListTrafficPoliciesOutput, error)
	DeleteTrafficPolicy(ctx context.Context, params *route53.DeleteTrafficPolicyInput, optFns ...func(*route53.Options)) (*route53.DeleteTrafficPolicyOutput, error)
}

Route53TrafficPolicyAPI defines the interface for Route53 Traffic Policy operations.

type RouteTableAPI added in v0.47.0

type RouteTableAPI interface {
	DescribeRouteTables(ctx context.Context, params *ec2.DescribeRouteTablesInput, optFns ...func(*ec2.Options)) (*ec2.DescribeRouteTablesOutput, error)
	DisassociateRouteTable(ctx context.Context, params *ec2.DisassociateRouteTableInput, optFns ...func(*ec2.Options)) (*ec2.DisassociateRouteTableOutput, error)
	DeleteRouteTable(ctx context.Context, params *ec2.DeleteRouteTableInput, optFns ...func(*ec2.Options)) (*ec2.DeleteRouteTableOutput, error)
	DescribeVpcs(ctx context.Context, params *ec2.DescribeVpcsInput, optFns ...func(*ec2.Options)) (*ec2.DescribeVpcsOutput, error)
	CreateTags(ctx context.Context, params *ec2.CreateTagsInput, optFns ...func(*ec2.Options)) (*ec2.CreateTagsOutput, error)
}

RouteTableAPI defines the interface for Route Table operations.

type S3API added in v0.38.0

type S3API interface {
	GetBucketLocation(ctx context.Context, params *s3.GetBucketLocationInput, optFns ...func(*s3.Options)) (*s3.GetBucketLocationOutput, error)
	GetBucketTagging(ctx context.Context, params *s3.GetBucketTaggingInput, optFns ...func(*s3.Options)) (*s3.GetBucketTaggingOutput, error)
	ListBuckets(ctx context.Context, params *s3.ListBucketsInput, optFns ...func(*s3.Options)) (*s3.ListBucketsOutput, error)
	ListObjectVersions(ctx context.Context, params *s3.ListObjectVersionsInput, optFns ...func(*s3.Options)) (*s3.ListObjectVersionsOutput, error)
	ListObjectsV2(ctx context.Context, params *s3.ListObjectsV2Input, optFns ...func(*s3.Options)) (*s3.ListObjectsV2Output, error)
	DeleteObjects(ctx context.Context, params *s3.DeleteObjectsInput, optFns ...func(*s3.Options)) (*s3.DeleteObjectsOutput, error)
	DeleteBucket(ctx context.Context, params *s3.DeleteBucketInput, optFns ...func(*s3.Options)) (*s3.DeleteBucketOutput, error)
	DeleteBucketPolicy(ctx context.Context, params *s3.DeleteBucketPolicyInput, optFns ...func(*s3.Options)) (*s3.DeleteBucketPolicyOutput, error)
	DeleteBucketLifecycle(ctx context.Context, params *s3.DeleteBucketLifecycleInput, optFns ...func(*s3.Options)) (*s3.DeleteBucketLifecycleOutput, error)
	HeadBucket(ctx context.Context, params *s3.HeadBucketInput, optFns ...func(*s3.Options)) (*s3.HeadBucketOutput, error)
}

S3API defines the interface for S3 operations.

type S3ControlAccessPointAPI added in v0.38.0

type S3ControlAccessPointAPI interface {
	ListAccessPoints(ctx context.Context, params *s3control.ListAccessPointsInput, optFns ...func(*s3control.Options)) (*s3control.ListAccessPointsOutput, error)
	DeleteAccessPoint(ctx context.Context, params *s3control.DeleteAccessPointInput, optFns ...func(*s3control.Options)) (*s3control.DeleteAccessPointOutput, error)
}

S3ControlAccessPointAPI defines the interface for S3 Control Access Point operations.

type S3ControlMultiRegionAPI added in v0.38.0

type S3ControlMultiRegionAPI interface {
	ListMultiRegionAccessPoints(ctx context.Context, params *s3control.ListMultiRegionAccessPointsInput, optFns ...func(*s3control.Options)) (*s3control.ListMultiRegionAccessPointsOutput, error)
	DeleteMultiRegionAccessPoint(ctx context.Context, params *s3control.DeleteMultiRegionAccessPointInput, optFns ...func(*s3control.Options)) (*s3control.DeleteMultiRegionAccessPointOutput, error)
}

S3ControlMultiRegionAPI defines the interface for S3 Multi-Region Access Point operations.

type S3ObjectLambdaAccessPointAPI added in v0.47.0

type S3ObjectLambdaAccessPointAPI interface {
	ListAccessPointsForObjectLambda(ctx context.Context, params *s3control.ListAccessPointsForObjectLambdaInput, optFns ...func(*s3control.Options)) (*s3control.ListAccessPointsForObjectLambdaOutput, error)
	DeleteAccessPointForObjectLambda(ctx context.Context, params *s3control.DeleteAccessPointForObjectLambdaInput, optFns ...func(*s3control.Options)) (*s3control.DeleteAccessPointForObjectLambdaOutput, error)
}

S3ObjectLambdaAccessPointAPI defines the interface for S3 Object Lambda Access Point operations.

type SESIdentityAPI added in v0.38.0

type SESIdentityAPI interface {
	ListIdentities(ctx context.Context, params *ses.ListIdentitiesInput, optFns ...func(*ses.Options)) (*ses.ListIdentitiesOutput, error)
	DeleteIdentity(ctx context.Context, params *ses.DeleteIdentityInput, optFns ...func(*ses.Options)) (*ses.DeleteIdentityOutput, error)
}

SESIdentityAPI defines the interface for SES Identity operations.

type SESReceiptFilterAPI added in v0.47.0

type SESReceiptFilterAPI interface {
	ListReceiptFilters(ctx context.Context, params *ses.ListReceiptFiltersInput, optFns ...func(*ses.Options)) (*ses.ListReceiptFiltersOutput, error)
	DeleteReceiptFilter(ctx context.Context, params *ses.DeleteReceiptFilterInput, optFns ...func(*ses.Options)) (*ses.DeleteReceiptFilterOutput, error)
}

SESReceiptFilterAPI defines the interface for SES Receipt Filter operations.

type SESReceiptRuleSetAPI added in v0.47.0

type SESReceiptRuleSetAPI interface {
	DescribeActiveReceiptRuleSet(ctx context.Context, params *ses.DescribeActiveReceiptRuleSetInput, optFns ...func(*ses.Options)) (*ses.DescribeActiveReceiptRuleSetOutput, error)
	ListReceiptRuleSets(ctx context.Context, params *ses.ListReceiptRuleSetsInput, optFns ...func(*ses.Options)) (*ses.ListReceiptRuleSetsOutput, error)
	DeleteReceiptRuleSet(ctx context.Context, params *ses.DeleteReceiptRuleSetInput, optFns ...func(*ses.Options)) (*ses.DeleteReceiptRuleSetOutput, error)
}

SESReceiptRuleSetAPI defines the interface for SES Receipt Rule Set operations.

type SNSTopicAPI added in v0.38.0

type SNSTopicAPI interface {
	DeleteTopic(ctx context.Context, params *sns.DeleteTopicInput, optFns ...func(*sns.Options)) (*sns.DeleteTopicOutput, error)
	ListTopics(ctx context.Context, params *sns.ListTopicsInput, optFns ...func(*sns.Options)) (*sns.ListTopicsOutput, error)
	ListTagsForResource(ctx context.Context, params *sns.ListTagsForResourceInput, optFns ...func(*sns.Options)) (*sns.ListTagsForResourceOutput, error)
	TagResource(ctx context.Context, params *sns.TagResourceInput, optFns ...func(*sns.Options)) (*sns.TagResourceOutput, error)
}

SNSTopicAPI defines the interface for SNS Topic operations.

type SSMParameterAPI added in v0.48.0

type SSMParameterAPI interface {
	DescribeParameters(ctx context.Context, params *ssm.DescribeParametersInput, optFns ...func(*ssm.Options)) (*ssm.DescribeParametersOutput, error)
	ListTagsForResource(ctx context.Context, params *ssm.ListTagsForResourceInput, optFns ...func(*ssm.Options)) (*ssm.ListTagsForResourceOutput, error)
	DeleteParameter(ctx context.Context, params *ssm.DeleteParameterInput, optFns ...func(*ssm.Options)) (*ssm.DeleteParameterOutput, error)
}

SSMParameterAPI defines the interface for SSM Parameter Store operations.

type SageMakerEndpointAPI added in v0.47.0

type SageMakerEndpointAPI interface {
	ListEndpoints(ctx context.Context, params *sagemaker.ListEndpointsInput, optFns ...func(*sagemaker.Options)) (*sagemaker.ListEndpointsOutput, error)
	DeleteEndpoint(ctx context.Context, params *sagemaker.DeleteEndpointInput, optFns ...func(*sagemaker.Options)) (*sagemaker.DeleteEndpointOutput, error)
	ListTags(ctx context.Context, params *sagemaker.ListTagsInput, optFns ...func(*sagemaker.Options)) (*sagemaker.ListTagsOutput, error)
}

SageMakerEndpointAPI defines the interface for SageMaker Endpoint operations.

type SageMakerEndpointConfigAPI added in v0.41.0

type SageMakerEndpointConfigAPI interface {
	ListEndpointConfigs(ctx context.Context, params *sagemaker.ListEndpointConfigsInput, optFns ...func(*sagemaker.Options)) (*sagemaker.ListEndpointConfigsOutput, error)
	DeleteEndpointConfig(ctx context.Context, params *sagemaker.DeleteEndpointConfigInput, optFns ...func(*sagemaker.Options)) (*sagemaker.DeleteEndpointConfigOutput, error)
	ListTags(ctx context.Context, params *sagemaker.ListTagsInput, optFns ...func(*sagemaker.Options)) (*sagemaker.ListTagsOutput, error)
}

SageMakerEndpointConfigAPI defines the interface for SageMaker Endpoint Config operations.

type SageMakerNotebookInstancesAPI added in v0.38.0

type SageMakerNotebookInstancesAPI interface {
	ListNotebookInstances(ctx context.Context, params *sagemaker.ListNotebookInstancesInput, optFns ...func(*sagemaker.Options)) (*sagemaker.ListNotebookInstancesOutput, error)
	StopNotebookInstance(ctx context.Context, params *sagemaker.StopNotebookInstanceInput, optFns ...func(*sagemaker.Options)) (*sagemaker.StopNotebookInstanceOutput, error)
	DeleteNotebookInstance(ctx context.Context, params *sagemaker.DeleteNotebookInstanceInput, optFns ...func(*sagemaker.Options)) (*sagemaker.DeleteNotebookInstanceOutput, error)
	DescribeNotebookInstance(ctx context.Context, params *sagemaker.DescribeNotebookInstanceInput, optFns ...func(*sagemaker.Options)) (*sagemaker.DescribeNotebookInstanceOutput, error)
}

SageMakerNotebookInstancesAPI defines the interface for SageMaker Notebook Instance operations.

type SageMakerStudioAPI added in v0.38.3

type SageMakerStudioAPI interface {
	// Domain operations
	ListDomains(ctx context.Context, params *sagemaker.ListDomainsInput, optFns ...func(*sagemaker.Options)) (*sagemaker.ListDomainsOutput, error)
	DescribeDomain(ctx context.Context, params *sagemaker.DescribeDomainInput, optFns ...func(*sagemaker.Options)) (*sagemaker.DescribeDomainOutput, error)
	DeleteDomain(ctx context.Context, params *sagemaker.DeleteDomainInput, optFns ...func(*sagemaker.Options)) (*sagemaker.DeleteDomainOutput, error)

	// UserProfile operations
	ListUserProfiles(ctx context.Context, params *sagemaker.ListUserProfilesInput, optFns ...func(*sagemaker.Options)) (*sagemaker.ListUserProfilesOutput, error)
	DeleteUserProfile(ctx context.Context, params *sagemaker.DeleteUserProfileInput, optFns ...func(*sagemaker.Options)) (*sagemaker.DeleteUserProfileOutput, error)

	// App operations
	ListApps(ctx context.Context, params *sagemaker.ListAppsInput, optFns ...func(*sagemaker.Options)) (*sagemaker.ListAppsOutput, error)
	DeleteApp(ctx context.Context, params *sagemaker.DeleteAppInput, optFns ...func(*sagemaker.Options)) (*sagemaker.DeleteAppOutput, error)

	// Space operations
	ListSpaces(ctx context.Context, params *sagemaker.ListSpacesInput, optFns ...func(*sagemaker.Options)) (*sagemaker.ListSpacesOutput, error)
	DeleteSpace(ctx context.Context, params *sagemaker.DeleteSpaceInput, optFns ...func(*sagemaker.Options)) (*sagemaker.DeleteSpaceOutput, error)

	// MLflow tracking server operations
	ListMlflowTrackingServers(ctx context.Context, params *sagemaker.ListMlflowTrackingServersInput, optFns ...func(*sagemaker.Options)) (*sagemaker.ListMlflowTrackingServersOutput, error)
	DeleteMlflowTrackingServer(ctx context.Context, params *sagemaker.DeleteMlflowTrackingServerInput, optFns ...func(*sagemaker.Options)) (*sagemaker.DeleteMlflowTrackingServerOutput, error)
}

SageMakerStudioAPI defines the interface for SageMaker Studio operations.

type SecretsManagerAPI added in v0.47.0

SecretsManagerAPI defines the interface for Secrets Manager operations.

type SecurityGroupAPI added in v0.38.0

type SecurityGroupAPI interface {
	DescribeSecurityGroups(ctx context.Context, input *ec2.DescribeSecurityGroupsInput, optFns ...func(*ec2.Options)) (*ec2.DescribeSecurityGroupsOutput, error)
	DeleteSecurityGroup(ctx context.Context, input *ec2.DeleteSecurityGroupInput, optFns ...func(*ec2.Options)) (*ec2.DeleteSecurityGroupOutput, error)
	RevokeSecurityGroupIngress(ctx context.Context, input *ec2.RevokeSecurityGroupIngressInput, optFns ...func(*ec2.Options)) (*ec2.RevokeSecurityGroupIngressOutput, error)
	RevokeSecurityGroupEgress(ctx context.Context, input *ec2.RevokeSecurityGroupEgressInput, optFns ...func(*ec2.Options)) (*ec2.RevokeSecurityGroupEgressOutput, error)
	DescribeInstances(ctx context.Context, input *ec2.DescribeInstancesInput, optFns ...func(*ec2.Options)) (*ec2.DescribeInstancesOutput, error)
	TerminateInstances(ctx context.Context, input *ec2.TerminateInstancesInput, optFns ...func(*ec2.Options)) (*ec2.TerminateInstancesOutput, error)
	DescribeAddresses(ctx context.Context, input *ec2.DescribeAddressesInput, optFns ...func(*ec2.Options)) (*ec2.DescribeAddressesOutput, error)
	ReleaseAddress(ctx context.Context, params *ec2.ReleaseAddressInput, optFns ...func(*ec2.Options)) (*ec2.ReleaseAddressOutput, error)
}

SecurityGroupAPI defines the interface for Security Group operations.

type SecurityHubAPI added in v0.38.0

SecurityHubAPI defines the interface for Security Hub operations.

type SesConfigurationSetAPI added in v0.47.0

type SesConfigurationSetAPI interface {
	ListConfigurationSets(ctx context.Context, params *ses.ListConfigurationSetsInput, optFns ...func(*ses.Options)) (*ses.ListConfigurationSetsOutput, error)
	DeleteConfigurationSet(ctx context.Context, params *ses.DeleteConfigurationSetInput, optFns ...func(*ses.Options)) (*ses.DeleteConfigurationSetOutput, error)
}

SesConfigurationSetAPI defines the interface for SES Configuration Set operations.

type SesEmailTemplatesAPI added in v0.47.0

type SesEmailTemplatesAPI interface {
	ListTemplates(ctx context.Context, params *ses.ListTemplatesInput, optFns ...func(*ses.Options)) (*ses.ListTemplatesOutput, error)
	DeleteTemplate(ctx context.Context, params *ses.DeleteTemplateInput, optFns ...func(*ses.Options)) (*ses.DeleteTemplateOutput, error)
}

SesEmailTemplatesAPI defines the interface for SES Email Templates operations.

type SnapshotsAPI added in v0.47.0

type SnapshotsAPI interface {
	DeleteSnapshot(ctx context.Context, params *ec2.DeleteSnapshotInput, optFns ...func(*ec2.Options)) (*ec2.DeleteSnapshotOutput, error)
	DeregisterImage(ctx context.Context, params *ec2.DeregisterImageInput, optFns ...func(*ec2.Options)) (*ec2.DeregisterImageOutput, error)
	DescribeImages(ctx context.Context, params *ec2.DescribeImagesInput, optFns ...func(*ec2.Options)) (*ec2.DescribeImagesOutput, error)
	DescribeSnapshots(ctx context.Context, params *ec2.DescribeSnapshotsInput, optFns ...func(*ec2.Options)) (*ec2.DescribeSnapshotsOutput, error)
}

SnapshotsAPI defines the interface for EBS Snapshot operations.

type SqsQueueAPI added in v0.38.0

type SqsQueueAPI interface {
	ListQueues(ctx context.Context, params *sqs.ListQueuesInput, optFns ...func(*sqs.Options)) (*sqs.ListQueuesOutput, error)
	GetQueueAttributes(ctx context.Context, params *sqs.GetQueueAttributesInput, optFns ...func(*sqs.Options)) (*sqs.GetQueueAttributesOutput, error)
	DeleteQueue(ctx context.Context, params *sqs.DeleteQueueInput, optFns ...func(*sqs.Options)) (*sqs.DeleteQueueOutput, error)
}

SqsQueueAPI defines the interface for SQS Queue operations.

type TransitGatewayPeeringAttachmentAPI added in v0.38.0

type TransitGatewayPeeringAttachmentAPI interface {
	DescribeTransitGatewayPeeringAttachments(ctx context.Context, params *ec2.DescribeTransitGatewayPeeringAttachmentsInput, optFns ...func(*ec2.Options)) (*ec2.DescribeTransitGatewayPeeringAttachmentsOutput, error)
	DeleteTransitGatewayPeeringAttachment(ctx context.Context, params *ec2.DeleteTransitGatewayPeeringAttachmentInput, optFns ...func(*ec2.Options)) (*ec2.DeleteTransitGatewayPeeringAttachmentOutput, error)
}

TransitGatewayPeeringAttachmentAPI defines the interface for Transit Gateway Peering Attachment operations.

type TransitGatewaysAPI added in v0.47.0

type TransitGatewaysAPI interface {
	DescribeTransitGateways(ctx context.Context, params *ec2.DescribeTransitGatewaysInput, optFns ...func(*ec2.Options)) (*ec2.DescribeTransitGatewaysOutput, error)
	DeleteTransitGateway(ctx context.Context, params *ec2.DeleteTransitGatewayInput, optFns ...func(*ec2.Options)) (*ec2.DeleteTransitGatewayOutput, error)
	DescribeTransitGatewayAttachments(ctx context.Context, params *ec2.DescribeTransitGatewayAttachmentsInput, optFns ...func(*ec2.Options)) (*ec2.DescribeTransitGatewayAttachmentsOutput, error)
	DeleteTransitGatewayPeeringAttachment(ctx context.Context, params *ec2.DeleteTransitGatewayPeeringAttachmentInput, optFns ...func(*ec2.Options)) (*ec2.DeleteTransitGatewayPeeringAttachmentOutput, error)
	DeleteTransitGatewayVpcAttachment(ctx context.Context, params *ec2.DeleteTransitGatewayVpcAttachmentInput, optFns ...func(*ec2.Options)) (*ec2.DeleteTransitGatewayVpcAttachmentOutput, error)
	DeleteTransitGatewayConnect(ctx context.Context, params *ec2.DeleteTransitGatewayConnectInput, optFns ...func(*ec2.Options)) (*ec2.DeleteTransitGatewayConnectOutput, error)
}

TransitGatewaysAPI defines the interface for Transit Gateway operations.

type TransitGatewaysRouteTablesAPI added in v0.38.0

type TransitGatewaysRouteTablesAPI interface {
	DescribeTransitGatewayRouteTables(ctx context.Context, params *ec2.DescribeTransitGatewayRouteTablesInput, optFns ...func(*ec2.Options)) (*ec2.DescribeTransitGatewayRouteTablesOutput, error)
	DeleteTransitGatewayRouteTable(ctx context.Context, params *ec2.DeleteTransitGatewayRouteTableInput, optFns ...func(*ec2.Options)) (*ec2.DeleteTransitGatewayRouteTableOutput, error)
}

TransitGatewaysRouteTablesAPI defines the interface for Transit Gateway Route Tables operations.

type TransitGatewaysVpcAttachmentAPI added in v0.47.0

type TransitGatewaysVpcAttachmentAPI interface {
	DeleteTransitGatewayVpcAttachment(ctx context.Context, params *ec2.DeleteTransitGatewayVpcAttachmentInput, optFns ...func(*ec2.Options)) (*ec2.DeleteTransitGatewayVpcAttachmentOutput, error)
	DescribeTransitGatewayVpcAttachments(ctx context.Context, params *ec2.DescribeTransitGatewayVpcAttachmentsInput, optFns ...func(*ec2.Options)) (*ec2.DescribeTransitGatewayVpcAttachmentsOutput, error)
}

TransitGatewaysVpcAttachmentAPI defines the interface for TransitGateway VPC Attachment operations.

type VPCLatticeServiceAPI added in v0.38.0

type VPCLatticeServiceAPI interface {
	ListServices(ctx context.Context, params *vpclattice.ListServicesInput, optFns ...func(*vpclattice.Options)) (*vpclattice.ListServicesOutput, error)
	DeleteService(ctx context.Context, params *vpclattice.DeleteServiceInput, optFns ...func(*vpclattice.Options)) (*vpclattice.DeleteServiceOutput, error)
	ListServiceNetworkServiceAssociations(ctx context.Context, params *vpclattice.ListServiceNetworkServiceAssociationsInput, optFns ...func(*vpclattice.Options)) (*vpclattice.ListServiceNetworkServiceAssociationsOutput, error)
	DeleteServiceNetworkServiceAssociation(ctx context.Context, params *vpclattice.DeleteServiceNetworkServiceAssociationInput, optFns ...func(*vpclattice.Options)) (*vpclattice.DeleteServiceNetworkServiceAssociationOutput, error)
}

VPCLatticeServiceAPI defines the interface for VPC Lattice Service operations.

type VPCLatticeServiceNetworkAPI added in v0.38.0

type VPCLatticeServiceNetworkAPI interface {
	ListServiceNetworks(ctx context.Context, params *vpclattice.ListServiceNetworksInput, optFns ...func(*vpclattice.Options)) (*vpclattice.ListServiceNetworksOutput, error)
	DeleteServiceNetwork(ctx context.Context, params *vpclattice.DeleteServiceNetworkInput, optFns ...func(*vpclattice.Options)) (*vpclattice.DeleteServiceNetworkOutput, error)
	ListServiceNetworkServiceAssociations(ctx context.Context, params *vpclattice.ListServiceNetworkServiceAssociationsInput, optFns ...func(*vpclattice.Options)) (*vpclattice.ListServiceNetworkServiceAssociationsOutput, error)
	DeleteServiceNetworkServiceAssociation(ctx context.Context, params *vpclattice.DeleteServiceNetworkServiceAssociationInput, optFns ...func(*vpclattice.Options)) (*vpclattice.DeleteServiceNetworkServiceAssociationOutput, error)
}

VPCLatticeServiceNetworkAPI defines the interface for VPC Lattice Service Network operations.

type VPCLatticeTargetGroupAPI added in v0.47.0

type VPCLatticeTargetGroupAPI interface {
	ListTargetGroups(ctx context.Context, params *vpclattice.ListTargetGroupsInput, optFns ...func(*vpclattice.Options)) (*vpclattice.ListTargetGroupsOutput, error)
	ListTargets(ctx context.Context, params *vpclattice.ListTargetsInput, optFns ...func(*vpclattice.Options)) (*vpclattice.ListTargetsOutput, error)
	DeregisterTargets(ctx context.Context, params *vpclattice.DeregisterTargetsInput, optFns ...func(*vpclattice.Options)) (*vpclattice.DeregisterTargetsOutput, error)
	DeleteTargetGroup(ctx context.Context, params *vpclattice.DeleteTargetGroupInput, optFns ...func(*vpclattice.Options)) (*vpclattice.DeleteTargetGroupOutput, error)
}

VPCLatticeTargetGroupAPI defines the interface for VPC Lattice Target Group operations.

type VPCPeeringAPI added in v0.47.0

type VPCPeeringAPI interface {
	DescribeVpcPeeringConnections(ctx context.Context, params *ec2.DescribeVpcPeeringConnectionsInput, optFns ...func(*ec2.Options)) (*ec2.DescribeVpcPeeringConnectionsOutput, error)
	DeleteVpcPeeringConnection(ctx context.Context, params *ec2.DeleteVpcPeeringConnectionInput, optFns ...func(*ec2.Options)) (*ec2.DeleteVpcPeeringConnectionOutput, error)
	CreateTags(ctx context.Context, params *ec2.CreateTagsInput, optFns ...func(*ec2.Options)) (*ec2.CreateTagsOutput, error)
}

VPCPeeringAPI defines the interface for VPC Peering Connection operations.

Source Files

Jump to

Keyboard shortcuts

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