github.com/aquasecurity/trivy-iac@v0.8.1-0.20240127024015-3d8e412cf0ab/internal/adapters/terraform/aws/adapt.go (about)

     1  package aws
     2  
     3  import (
     4  	"github.com/aquasecurity/defsec/pkg/providers/aws"
     5  	"github.com/aquasecurity/defsec/pkg/terraform"
     6  	"github.com/aquasecurity/trivy-iac/internal/adapters/terraform/aws/apigateway"
     7  	"github.com/aquasecurity/trivy-iac/internal/adapters/terraform/aws/athena"
     8  	"github.com/aquasecurity/trivy-iac/internal/adapters/terraform/aws/cloudfront"
     9  	"github.com/aquasecurity/trivy-iac/internal/adapters/terraform/aws/cloudtrail"
    10  	"github.com/aquasecurity/trivy-iac/internal/adapters/terraform/aws/cloudwatch"
    11  	"github.com/aquasecurity/trivy-iac/internal/adapters/terraform/aws/codebuild"
    12  	"github.com/aquasecurity/trivy-iac/internal/adapters/terraform/aws/config"
    13  	"github.com/aquasecurity/trivy-iac/internal/adapters/terraform/aws/documentdb"
    14  	"github.com/aquasecurity/trivy-iac/internal/adapters/terraform/aws/dynamodb"
    15  	"github.com/aquasecurity/trivy-iac/internal/adapters/terraform/aws/ec2"
    16  	"github.com/aquasecurity/trivy-iac/internal/adapters/terraform/aws/ecr"
    17  	"github.com/aquasecurity/trivy-iac/internal/adapters/terraform/aws/ecs"
    18  	"github.com/aquasecurity/trivy-iac/internal/adapters/terraform/aws/efs"
    19  	"github.com/aquasecurity/trivy-iac/internal/adapters/terraform/aws/eks"
    20  	"github.com/aquasecurity/trivy-iac/internal/adapters/terraform/aws/elasticache"
    21  	"github.com/aquasecurity/trivy-iac/internal/adapters/terraform/aws/elasticsearch"
    22  	"github.com/aquasecurity/trivy-iac/internal/adapters/terraform/aws/elb"
    23  	"github.com/aquasecurity/trivy-iac/internal/adapters/terraform/aws/emr"
    24  	"github.com/aquasecurity/trivy-iac/internal/adapters/terraform/aws/iam"
    25  	"github.com/aquasecurity/trivy-iac/internal/adapters/terraform/aws/kinesis"
    26  	"github.com/aquasecurity/trivy-iac/internal/adapters/terraform/aws/kms"
    27  	"github.com/aquasecurity/trivy-iac/internal/adapters/terraform/aws/lambda"
    28  	"github.com/aquasecurity/trivy-iac/internal/adapters/terraform/aws/mq"
    29  	"github.com/aquasecurity/trivy-iac/internal/adapters/terraform/aws/msk"
    30  	"github.com/aquasecurity/trivy-iac/internal/adapters/terraform/aws/neptune"
    31  	"github.com/aquasecurity/trivy-iac/internal/adapters/terraform/aws/provider"
    32  	"github.com/aquasecurity/trivy-iac/internal/adapters/terraform/aws/rds"
    33  	"github.com/aquasecurity/trivy-iac/internal/adapters/terraform/aws/redshift"
    34  	"github.com/aquasecurity/trivy-iac/internal/adapters/terraform/aws/s3"
    35  	"github.com/aquasecurity/trivy-iac/internal/adapters/terraform/aws/sns"
    36  	"github.com/aquasecurity/trivy-iac/internal/adapters/terraform/aws/sqs"
    37  	"github.com/aquasecurity/trivy-iac/internal/adapters/terraform/aws/ssm"
    38  	"github.com/aquasecurity/trivy-iac/internal/adapters/terraform/aws/workspaces"
    39  )
    40  
    41  func Adapt(modules terraform.Modules) aws.AWS {
    42  	return aws.AWS{
    43  		Meta: aws.Meta{
    44  			TFProviders: provider.Adapt(modules),
    45  		},
    46  		APIGateway:    apigateway.Adapt(modules),
    47  		Athena:        athena.Adapt(modules),
    48  		Cloudfront:    cloudfront.Adapt(modules),
    49  		CloudTrail:    cloudtrail.Adapt(modules),
    50  		CloudWatch:    cloudwatch.Adapt(modules),
    51  		CodeBuild:     codebuild.Adapt(modules),
    52  		Config:        config.Adapt(modules),
    53  		DocumentDB:    documentdb.Adapt(modules),
    54  		DynamoDB:      dynamodb.Adapt(modules),
    55  		EC2:           ec2.Adapt(modules),
    56  		ECR:           ecr.Adapt(modules),
    57  		ECS:           ecs.Adapt(modules),
    58  		EFS:           efs.Adapt(modules),
    59  		EKS:           eks.Adapt(modules),
    60  		ElastiCache:   elasticache.Adapt(modules),
    61  		Elasticsearch: elasticsearch.Adapt(modules),
    62  		ELB:           elb.Adapt(modules),
    63  		EMR:           emr.Adapt(modules),
    64  		IAM:           iam.Adapt(modules),
    65  		Kinesis:       kinesis.Adapt(modules),
    66  		KMS:           kms.Adapt(modules),
    67  		Lambda:        lambda.Adapt(modules),
    68  		MQ:            mq.Adapt(modules),
    69  		MSK:           msk.Adapt(modules),
    70  		Neptune:       neptune.Adapt(modules),
    71  		RDS:           rds.Adapt(modules),
    72  		Redshift:      redshift.Adapt(modules),
    73  		S3:            s3.Adapt(modules),
    74  		SNS:           sns.Adapt(modules),
    75  		SQS:           sqs.Adapt(modules),
    76  		SSM:           ssm.Adapt(modules),
    77  		WorkSpaces:    workspaces.Adapt(modules),
    78  	}
    79  }