├── .github └── workflows │ └── release.yml ├── .gitignore ├── .goreleaser.yml ├── .travis.yml ├── LICENSE.md ├── Makefile ├── README.md ├── aws ├── aws_accessanalyzer_analyzer.go ├── aws_acm_certificate.go ├── aws_alb_target_group.go ├── aws_ami.go ├── aws_api_gateway_api_key.go ├── aws_api_gateway_client_certificate.go ├── aws_api_gateway_domain_name.go ├── aws_api_gateway_rest_api.go ├── aws_api_gateway_usage_plan.go ├── aws_api_gateway_vpc_link.go ├── aws_apigatewayv2_api.go ├── aws_apigatewayv2_domain_name.go ├── aws_apigatewayv2_vpc_link.go ├── aws_appmesh_mesh.go ├── aws_appsync_graphql_api.go ├── aws_athena_named_query.go ├── aws_athena_workgroup.go ├── aws_autoscaling_group.go ├── aws_backup_plan.go ├── aws_backup_vault.go ├── aws_batch_compute_environment.go ├── aws_batch_job_definition.go ├── aws_batch_job_queue.go ├── aws_cloudformation_stack.go ├── aws_cloudformation_stack_set.go ├── aws_cloudformation_type.go ├── aws_cloudhsm_v2_cluster.go ├── aws_cloudtrail.go ├── aws_cloudwatch_dashboard.go ├── aws_cloudwatch_event_archive.go ├── aws_cloudwatch_event_bus.go ├── aws_cloudwatch_log_destination.go ├── aws_cloudwatch_log_group.go ├── aws_cloudwatch_log_resource_policy.go ├── aws_cloudwatch_query_definition.go ├── aws_codeartifact_domain.go ├── aws_codeartifact_repository.go ├── aws_codebuild_project.go ├── aws_codebuild_report_group.go ├── aws_codebuild_source_credential.go ├── aws_codecommit_repository.go ├── aws_codedeploy_deployment_config.go ├── aws_codepipeline_webhook.go ├── aws_codestarconnections_connection.go ├── aws_codestarconnections_host.go ├── aws_codestarnotifications_notification_rule.go ├── aws_config_config_rule.go ├── aws_config_configuration_aggregator.go ├── aws_config_configuration_recorder.go ├── aws_config_conformance_pack.go ├── aws_config_delivery_channel.go ├── aws_cur_report_definition.go ├── aws_datasync_agent.go ├── aws_datasync_task.go ├── aws_dax_parameter_group.go ├── aws_dax_subnet_group.go ├── aws_db_event_subscription.go ├── aws_db_instance.go ├── aws_db_parameter_group.go ├── aws_db_proxy.go ├── aws_db_security_group.go ├── aws_db_snapshot.go ├── aws_db_subnet_group.go ├── aws_devicefarm_project.go ├── aws_dlm_lifecycle_policy.go ├── aws_dms_certificate.go ├── aws_dms_endpoint.go ├── aws_dms_replication_subnet_group.go ├── aws_dms_replication_task.go ├── aws_dx_connection.go ├── aws_dx_hosted_private_virtual_interface.go ├── aws_dx_hosted_public_virtual_interface.go ├── aws_dx_hosted_transit_virtual_interface.go ├── aws_dx_lag.go ├── aws_dx_private_virtual_interface.go ├── aws_dx_public_virtual_interface.go ├── aws_dx_transit_virtual_interface.go ├── aws_dynamodb_global_table.go ├── aws_dynamodb_table.go ├── aws_ebs_snapshot.go ├── aws_ebs_volume.go ├── aws_ec2_capacity_reservation.go ├── aws_ec2_carrier_gateway.go ├── aws_ec2_client_vpn_endpoint.go ├── aws_ec2_fleet.go ├── aws_ec2_local_gateway_route_table_vpc_association.go ├── aws_ec2_managed_prefix_list.go ├── aws_ec2_traffic_mirror_filter.go ├── aws_ec2_traffic_mirror_session.go ├── aws_ec2_traffic_mirror_target.go ├── aws_ec2_transit_gateway.go ├── aws_ec2_transit_gateway_peering_attachment.go ├── aws_ec2_transit_gateway_route_table.go ├── aws_ec2_transit_gateway_vpc_attachment.go ├── aws_ecr_repository.go ├── aws_ecrpublic_repository.go ├── aws_ecs_cluster.go ├── aws_ecs_task_definition.go ├── aws_efs_access_point.go ├── aws_efs_file_system.go ├── aws_egress_only_internet_gateway.go ├── aws_eip.go ├── aws_eks_cluster.go ├── aws_elastic_beanstalk_application.go ├── aws_elastic_beanstalk_application_version.go ├── aws_elastic_beanstalk_environment.go ├── aws_elasticache_global_replication_group.go ├── aws_elasticache_replication_group.go ├── aws_elastictranscoder_pipeline.go ├── aws_elastictranscoder_preset.go ├── aws_elb.go ├── aws_emr_security_configuration.go ├── aws_fms_policy.go ├── aws_fsx_lustre_file_system.go ├── aws_fsx_windows_file_system.go ├── aws_gamelift_alias.go ├── aws_gamelift_build.go ├── aws_gamelift_fleet.go ├── aws_gamelift_game_session_queue.go ├── aws_globalaccelerator_accelerator.go ├── aws_glue_crawler.go ├── aws_glue_dev_endpoint.go ├── aws_glue_job.go ├── aws_glue_ml_transform.go ├── aws_glue_registry.go ├── aws_glue_schema.go ├── aws_glue_security_configuration.go ├── aws_glue_trigger.go ├── aws_glue_workflow.go ├── aws_guardduty_detector.go ├── aws_iam_access_key.go ├── aws_iam_account_alias.go ├── aws_iam_group.go ├── aws_iam_instance_profile.go ├── aws_iam_policy.go ├── aws_iam_role.go ├── aws_iam_server_certificate.go ├── aws_iam_service_linked_role.go ├── aws_iam_user.go ├── aws_imagebuilder_component.go ├── aws_imagebuilder_distribution_configuration.go ├── aws_imagebuilder_image.go ├── aws_imagebuilder_image_pipeline.go ├── aws_imagebuilder_image_recipe.go ├── aws_imagebuilder_infrastructure_configuration.go ├── aws_instance.go ├── aws_internet_gateway.go ├── aws_iot_certificate.go ├── aws_iot_policy.go ├── aws_iot_role_alias.go ├── aws_iot_thing.go ├── aws_iot_thing_type.go ├── aws_iot_topic_rule.go ├── aws_key_pair.go ├── aws_kinesis_analytics_application.go ├── aws_kinesis_firehose_delivery_stream.go ├── aws_kinesis_stream.go ├── aws_kinesisanalyticsv2_application.go ├── aws_kms_external_key.go ├── aws_kms_key.go ├── aws_lambda_code_signing_config.go ├── aws_lambda_event_source_mapping.go ├── aws_lambda_function.go ├── aws_launch_configuration.go ├── aws_launch_template.go ├── aws_lb.go ├── aws_lb_target_group.go ├── aws_lex_bot.go ├── aws_lex_intent.go ├── aws_lex_slot_type.go ├── aws_licensemanager_license_configuration.go ├── aws_lightsail_domain.go ├── aws_lightsail_instance.go ├── aws_lightsail_key_pair.go ├── aws_lightsail_static_ip.go ├── aws_macie2_classification_job.go ├── aws_macie2_custom_data_identifier.go ├── aws_macie2_findings_filter.go ├── aws_media_convert_queue.go ├── aws_media_package_channel.go ├── aws_media_store_container.go ├── aws_mq_broker.go ├── aws_mq_configuration.go ├── aws_msk_cluster.go ├── aws_msk_configuration.go ├── aws_mwaa_environment.go ├── aws_nat_gateway.go ├── aws_neptune_event_subscription.go ├── aws_network_acl.go ├── aws_network_interface.go ├── aws_networkfirewall_firewall.go ├── aws_networkfirewall_firewall_policy.go ├── aws_networkfirewall_rule_group.go ├── aws_opsworks_stack.go ├── aws_opsworks_user_profile.go ├── aws_placement_group.go ├── aws_qldb_ledger.go ├── aws_rds_cluster.go ├── aws_rds_cluster_endpoint.go ├── aws_rds_cluster_parameter_group.go ├── aws_rds_global_cluster.go ├── aws_redshift_cluster.go ├── aws_redshift_event_subscription.go ├── aws_redshift_parameter_group.go ├── aws_redshift_security_group.go ├── aws_redshift_snapshot_copy_grant.go ├── aws_redshift_snapshot_schedule.go ├── aws_redshift_subnet_group.go ├── aws_route53_health_check.go ├── aws_route53_resolver_endpoint.go ├── aws_route53_resolver_query_log_config.go ├── aws_route53_resolver_query_log_config_association.go ├── aws_route53_resolver_rule.go ├── aws_route53_resolver_rule_association.go ├── aws_route53_zone.go ├── aws_route_table.go ├── aws_s3_bucket.go ├── aws_s3outposts_endpoint.go ├── aws_sagemaker_app_image_config.go ├── aws_sagemaker_code_repository.go ├── aws_sagemaker_endpoint.go ├── aws_sagemaker_feature_group.go ├── aws_sagemaker_model.go ├── aws_sagemaker_model_package_group.go ├── aws_secretsmanager_secret.go ├── aws_security_group.go ├── aws_securityhub_action_target.go ├── aws_securityhub_insight.go ├── aws_service_discovery_service.go ├── aws_servicecatalog_portfolio.go ├── aws_servicecatalog_service_action.go ├── aws_servicecatalog_tag_option.go ├── aws_ses_active_receipt_rule_set.go ├── aws_ses_configuration_set.go ├── aws_ses_domain_identity.go ├── aws_ses_email_identity.go ├── aws_ses_receipt_filter.go ├── aws_ses_receipt_rule_set.go ├── aws_ses_template.go ├── aws_sfn_activity.go ├── aws_sfn_state_machine.go ├── aws_signer_signing_job.go ├── aws_signer_signing_profile.go ├── aws_sns_platform_application.go ├── aws_sns_topic.go ├── aws_sns_topic_subscription.go ├── aws_spot_fleet_request.go ├── aws_spot_instance_request.go ├── aws_sqs_queue.go ├── aws_ssm_activation.go ├── aws_ssm_association.go ├── aws_ssm_document.go ├── aws_ssm_maintenance_window.go ├── aws_ssm_parameter.go ├── aws_ssm_patch_baseline.go ├── aws_ssm_patch_group.go ├── aws_ssm_resource_data_sync.go ├── aws_storagegateway_gateway.go ├── aws_storagegateway_tape_pool.go ├── aws_subnet.go ├── aws_synthetics_canary.go ├── aws_timestreamwrite_database.go ├── aws_transfer_server.go ├── aws_vpc.go ├── aws_vpc_endpoint.go ├── aws_vpc_endpoint_connection_notification.go ├── aws_vpc_endpoint_service.go ├── aws_vpc_peering_connection.go ├── aws_vpn_gateway.go ├── aws_waf_byte_match_set.go ├── aws_waf_geo_match_set.go ├── aws_waf_ipset.go ├── aws_waf_rate_based_rule.go ├── aws_waf_regex_match_set.go ├── aws_waf_regex_pattern_set.go ├── aws_waf_rule.go ├── aws_waf_rule_group.go ├── aws_waf_size_constraint_set.go ├── aws_waf_sql_injection_match_set.go ├── aws_waf_web_acl.go ├── aws_waf_xss_match_set.go ├── aws_wafregional_byte_match_set.go ├── aws_wafregional_geo_match_set.go ├── aws_wafregional_ipset.go ├── aws_wafregional_rate_based_rule.go ├── aws_wafregional_regex_match_set.go ├── aws_wafregional_regex_pattern_set.go ├── aws_wafregional_rule.go ├── aws_wafregional_rule_group.go ├── aws_wafregional_size_constraint_set.go ├── aws_wafregional_sql_injection_match_set.go ├── aws_wafregional_web_acl.go ├── aws_wafregional_xss_match_set.go ├── aws_wafv2_web_acl_logging_configuration.go ├── aws_worklink_fleet.go ├── aws_workspaces_directory.go ├── aws_workspaces_ip_group.go ├── aws_workspaces_workspace.go ├── aws_xray_group.go └── list.go ├── before_ci.sh ├── gen ├── README.md ├── aws │ ├── README.tpl.md │ ├── api.go │ ├── list.go │ ├── manual_mapping.go │ ├── readme.go │ ├── service.go │ ├── supported.go │ ├── util.go │ └── util_test.go ├── generate.go ├── terraform │ ├── list_resources.go │ ├── manual_mapping.go │ ├── resource_filename.go │ ├── resource_id.go │ ├── resource_service.go │ ├── resource_type.go │ └── tags.go └── util │ └── util.go ├── go.mod ├── go.sum ├── img ├── iam.gif ├── instance.gif └── multi-profiles-and-regions.gif ├── install.sh ├── internal ├── list_flag.go ├── semaphore.go ├── version.go └── version_test.go ├── main.go ├── resource ├── ids.go ├── list.go ├── print.go ├── services.go ├── supported.go ├── tags.go ├── types.go ├── utils.go └── utils_test.go ├── signal_unix.go ├── signal_windows.go └── test ├── acc_test.go ├── helper.go └── test-fixtures ├── aws-config ├── multiple-profiles-and-regions ├── main.tf └── variables.tf ├── multiple-resource-types ├── main.tf ├── outputs.tf └── variables.tf └── tag-attributes ├── main.tf ├── outputs.tf └── variables.tf /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: goreleaser 2 | 3 | on: 4 | push: 5 | tags: 6 | - '*' 7 | 8 | jobs: 9 | goreleaser: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - name: Checkout 13 | uses: actions/checkout@v2 14 | - name: Set up Go 15 | uses: actions/setup-go@v2 16 | with: 17 | go-version: 1.17.x 18 | - name: Run GoReleaser 19 | uses: goreleaser/goreleaser-action@v2 20 | with: 21 | version: latest 22 | args: release --rm-dist --timeout 60m 23 | env: 24 | GITHUB_TOKEN: ${{ secrets.GO_RELEASER }} 25 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.backup 2 | *.tfstate 3 | .awsls/ 4 | .terraform/ 5 | bin/ 6 | coverage.txt 7 | awsls 8 | dist/ 9 | -------------------------------------------------------------------------------- /.goreleaser.yml: -------------------------------------------------------------------------------- 1 | builds: 2 | - goos: 3 | - darwin 4 | - windows 5 | - linux 6 | - freebsd 7 | env: 8 | - CGO_ENABLED=0 9 | goarch: 10 | - amd64 11 | - arm64 12 | - arm 13 | goarm: 14 | - 6 15 | - 7 16 | ldflags: -s -w -X github.com/jckuester/awsls/internal.version={{.Version}} -X github.com/jckuester/awsls/internal.commit={{.ShortCommit}} -X github.com/jckuester/awsls/internal.date={{.Date}} 17 | 18 | archives: 19 | - format: tar.gz 20 | format_overrides: 21 | - goos: windows 22 | format: zip 23 | 24 | brews: 25 | - tap: 26 | owner: jckuester 27 | name: homebrew-tap 28 | homepage: "https://github.com/jckuester/awsls" 29 | description: "A list command for AWS resources" 30 | folder: Formula 31 | 32 | checksum: 33 | name_template: 'checksums.txt' 34 | 35 | changelog: 36 | sort: asc 37 | filters: 38 | exclude: 39 | - '^docs:' 40 | - '^test:' 41 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | dist: bionic 2 | 3 | language: go 4 | 5 | go: 6 | - 1.17.x 7 | 8 | env: 9 | global: 10 | - GO111MODULE=on 11 | 12 | before_install: 13 | - ./before_ci.sh 14 | 15 | install: 16 | - make setup 17 | 18 | script: 19 | - make ci 20 | 21 | after_success: 22 | - bash <(curl -s https://codecov.io/bash) 23 | -------------------------------------------------------------------------------- /aws/aws_acm_certificate.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/acm" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListAcmCertificate(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := acm.NewListCertificatesPaginator(client.Acmconn, &acm.ListCertificatesInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.CertificateSummaryList { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_acm_certificate", 27 | ID: *r.CertificateArn, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_alb_target_group.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListAlbTargetGroup(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := elasticloadbalancingv2.NewDescribeTargetGroupsPaginator(client.Elasticloadbalancingv2conn, &elasticloadbalancingv2.DescribeTargetGroupsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.TargetGroups { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_alb_target_group", 27 | ID: *r.TargetGroupArn, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_apigatewayv2_api.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/apigatewayv2" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListApigatewayv2Api(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Apigatewayv2conn.GetApis(ctx, &apigatewayv2.GetApisInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.Items) > 0 { 22 | 23 | for _, r := range resp.Items { 24 | 25 | tags := map[string]string{} 26 | for k, v := range r.Tags { 27 | tags[k] = v 28 | } 29 | 30 | result = append(result, terraform.Resource{ 31 | Type: "aws_apigatewayv2_api", 32 | ID: *r.ApiId, 33 | Profile: client.Profile, 34 | Region: client.Region, 35 | AccountID: client.AccountID, 36 | Tags: tags, 37 | }) 38 | } 39 | } 40 | 41 | return result, nil 42 | } 43 | -------------------------------------------------------------------------------- /aws/aws_appmesh_mesh.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/appmesh" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListAppmeshMesh(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := appmesh.NewListMeshesPaginator(client.Appmeshconn, &appmesh.ListMeshesInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Meshes { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_appmesh_mesh", 27 | ID: *r.MeshName, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_appsync_graphql_api.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/appsync" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListAppsyncGraphqlApi(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Appsyncconn.ListGraphqlApis(ctx, &appsync.ListGraphqlApisInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.GraphqlApis) > 0 { 22 | 23 | for _, r := range resp.GraphqlApis { 24 | 25 | tags := map[string]string{} 26 | for k, v := range r.Tags { 27 | tags[k] = v 28 | } 29 | 30 | result = append(result, terraform.Resource{ 31 | Type: "aws_appsync_graphql_api", 32 | ID: *r.ApiId, 33 | Profile: client.Profile, 34 | Region: client.Region, 35 | AccountID: client.AccountID, 36 | Tags: tags, 37 | }) 38 | } 39 | } 40 | 41 | return result, nil 42 | } 43 | -------------------------------------------------------------------------------- /aws/aws_athena_named_query.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/athena" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListAthenaNamedQuery(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := athena.NewListNamedQueriesPaginator(client.Athenaconn, &athena.ListNamedQueriesInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.NamedQueryIds { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_athena_named_query", 27 | ID: r, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_athena_workgroup.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/athena" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListAthenaWorkgroup(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := athena.NewListWorkGroupsPaginator(client.Athenaconn, &athena.ListWorkGroupsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.WorkGroups { 24 | 25 | t := *r.CreationTime 26 | result = append(result, terraform.Resource{ 27 | Type: "aws_athena_workgroup", 28 | ID: *r.Name, 29 | Profile: client.Profile, 30 | Region: client.Region, 31 | AccountID: client.AccountID, 32 | 33 | CreatedAt: &t, 34 | }) 35 | } 36 | } 37 | 38 | return result, nil 39 | } 40 | -------------------------------------------------------------------------------- /aws/aws_backup_plan.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/backup" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListBackupPlan(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := backup.NewListBackupPlansPaginator(client.Backupconn, &backup.ListBackupPlansInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.BackupPlansList { 24 | 25 | t := *r.CreationDate 26 | result = append(result, terraform.Resource{ 27 | Type: "aws_backup_plan", 28 | ID: *r.BackupPlanId, 29 | Profile: client.Profile, 30 | Region: client.Region, 31 | AccountID: client.AccountID, 32 | 33 | CreatedAt: &t, 34 | }) 35 | } 36 | } 37 | 38 | return result, nil 39 | } 40 | -------------------------------------------------------------------------------- /aws/aws_backup_vault.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/backup" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListBackupVault(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := backup.NewListBackupVaultsPaginator(client.Backupconn, &backup.ListBackupVaultsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.BackupVaultList { 24 | 25 | t := *r.CreationDate 26 | result = append(result, terraform.Resource{ 27 | Type: "aws_backup_vault", 28 | ID: *r.BackupVaultName, 29 | Profile: client.Profile, 30 | Region: client.Region, 31 | AccountID: client.AccountID, 32 | 33 | CreatedAt: &t, 34 | }) 35 | } 36 | } 37 | 38 | return result, nil 39 | } 40 | -------------------------------------------------------------------------------- /aws/aws_batch_job_queue.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/batch" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListBatchJobQueue(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := batch.NewDescribeJobQueuesPaginator(client.Batchconn, &batch.DescribeJobQueuesInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.JobQueues { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_batch_job_queue", 27 | ID: *r.JobQueueArn, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_cloudformation_stack_set.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/cloudformation" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListCloudformationStackSet(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := cloudformation.NewListStackSetsPaginator(client.Cloudformationconn, &cloudformation.ListStackSetsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Summaries { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_cloudformation_stack_set", 27 | ID: *r.StackSetName, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_cloudformation_type.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/cloudformation" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListCloudformationType(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := cloudformation.NewListTypesPaginator(client.Cloudformationconn, &cloudformation.ListTypesInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.TypeSummaries { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_cloudformation_type", 27 | ID: *r.TypeArn, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_cloudhsm_v2_cluster.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/cloudhsmv2" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListCloudhsmV2Cluster(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := cloudhsmv2.NewDescribeClustersPaginator(client.Cloudhsmv2conn, &cloudhsmv2.DescribeClustersInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Clusters { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_cloudhsm_v2_cluster", 27 | ID: *r.ClusterId, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_cloudtrail.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/cloudtrail" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListCloudtrail(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Cloudtrailconn.DescribeTrails(ctx, &cloudtrail.DescribeTrailsInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.TrailList) > 0 { 22 | 23 | for _, r := range resp.TrailList { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_cloudtrail", 27 | ID: *r.Name, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_cloudwatch_dashboard.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/cloudwatch" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListCloudwatchDashboard(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := cloudwatch.NewListDashboardsPaginator(client.Cloudwatchconn, &cloudwatch.ListDashboardsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.DashboardEntries { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_cloudwatch_dashboard", 27 | ID: *r.DashboardName, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_cloudwatch_event_archive.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/cloudwatchevents" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListCloudwatchEventArchive(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Cloudwatcheventsconn.ListArchives(ctx, &cloudwatchevents.ListArchivesInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.Archives) > 0 { 22 | 23 | for _, r := range resp.Archives { 24 | 25 | t := *r.CreationTime 26 | result = append(result, terraform.Resource{ 27 | Type: "aws_cloudwatch_event_archive", 28 | ID: *r.ArchiveName, 29 | Profile: client.Profile, 30 | Region: client.Region, 31 | AccountID: client.AccountID, 32 | 33 | CreatedAt: &t, 34 | }) 35 | } 36 | } 37 | 38 | return result, nil 39 | } 40 | -------------------------------------------------------------------------------- /aws/aws_cloudwatch_event_bus.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/cloudwatchevents" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListCloudwatchEventBus(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Cloudwatcheventsconn.ListEventBuses(ctx, &cloudwatchevents.ListEventBusesInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.EventBuses) > 0 { 22 | 23 | for _, r := range resp.EventBuses { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_cloudwatch_event_bus", 27 | ID: *r.Name, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_cloudwatch_log_resource_policy.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListCloudwatchLogResourcePolicy(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Cloudwatchlogsconn.DescribeResourcePolicies(ctx, &cloudwatchlogs.DescribeResourcePoliciesInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.ResourcePolicies) > 0 { 22 | 23 | for _, r := range resp.ResourcePolicies { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_cloudwatch_log_resource_policy", 27 | ID: *r.PolicyName, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_cloudwatch_query_definition.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListCloudwatchQueryDefinition(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Cloudwatchlogsconn.DescribeQueryDefinitions(ctx, &cloudwatchlogs.DescribeQueryDefinitionsInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.QueryDefinitions) > 0 { 22 | 23 | for _, r := range resp.QueryDefinitions { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_cloudwatch_query_definition", 27 | ID: *r.QueryDefinitionId, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_codeartifact_domain.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/codeartifact" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListCodeartifactDomain(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := codeartifact.NewListDomainsPaginator(client.Codeartifactconn, &codeartifact.ListDomainsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Domains { 24 | 25 | t := *r.CreatedTime 26 | result = append(result, terraform.Resource{ 27 | Type: "aws_codeartifact_domain", 28 | ID: *r.Arn, 29 | Profile: client.Profile, 30 | Region: client.Region, 31 | AccountID: client.AccountID, 32 | 33 | CreatedAt: &t, 34 | }) 35 | } 36 | } 37 | 38 | return result, nil 39 | } 40 | -------------------------------------------------------------------------------- /aws/aws_codeartifact_repository.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/codeartifact" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListCodeartifactRepository(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := codeartifact.NewListRepositoriesPaginator(client.Codeartifactconn, &codeartifact.ListRepositoriesInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Repositories { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_codeartifact_repository", 27 | ID: *r.Arn, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_codebuild_project.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/codebuild" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListCodebuildProject(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := codebuild.NewListProjectsPaginator(client.Codebuildconn, &codebuild.ListProjectsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Projects { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_codebuild_project", 27 | ID: r, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_codebuild_report_group.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/codebuild" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListCodebuildReportGroup(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := codebuild.NewListReportGroupsPaginator(client.Codebuildconn, &codebuild.ListReportGroupsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.ReportGroups { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_codebuild_report_group", 27 | ID: r, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_codebuild_source_credential.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/codebuild" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListCodebuildSourceCredential(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Codebuildconn.ListSourceCredentials(ctx, &codebuild.ListSourceCredentialsInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.SourceCredentialsInfos) > 0 { 22 | 23 | for _, r := range resp.SourceCredentialsInfos { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_codebuild_source_credential", 27 | ID: *r.Arn, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_codecommit_repository.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/codecommit" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListCodecommitRepository(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := codecommit.NewListRepositoriesPaginator(client.Codecommitconn, &codecommit.ListRepositoriesInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Repositories { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_codecommit_repository", 27 | ID: *r.RepositoryName, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_codedeploy_deployment_config.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/codedeploy" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListCodedeployDeploymentConfig(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := codedeploy.NewListDeploymentConfigsPaginator(client.Codedeployconn, &codedeploy.ListDeploymentConfigsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.DeploymentConfigsList { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_codedeploy_deployment_config", 27 | ID: r, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_codestarconnections_connection.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/codestarconnections" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListCodestarconnectionsConnection(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := codestarconnections.NewListConnectionsPaginator(client.Codestarconnectionsconn, &codestarconnections.ListConnectionsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Connections { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_codestarconnections_connection", 27 | ID: *r.ConnectionArn, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_codestarconnections_host.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/codestarconnections" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListCodestarconnectionsHost(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := codestarconnections.NewListHostsPaginator(client.Codestarconnectionsconn, &codestarconnections.ListHostsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Hosts { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_codestarconnections_host", 27 | ID: *r.HostArn, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_config_config_rule.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/configservice" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListConfigConfigRule(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Configserviceconn.DescribeConfigRules(ctx, &configservice.DescribeConfigRulesInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.ConfigRules) > 0 { 22 | 23 | for _, r := range resp.ConfigRules { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_config_config_rule", 27 | ID: *r.ConfigRuleName, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_config_configuration_recorder.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/configservice" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListConfigConfigurationRecorder(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Configserviceconn.DescribeConfigurationRecorders(ctx, &configservice.DescribeConfigurationRecordersInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.ConfigurationRecorders) > 0 { 22 | 23 | for _, r := range resp.ConfigurationRecorders { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_config_configuration_recorder", 27 | ID: *r.Name, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_config_conformance_pack.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/configservice" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListConfigConformancePack(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Configserviceconn.DescribeConformancePacks(ctx, &configservice.DescribeConformancePacksInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.ConformancePackDetails) > 0 { 22 | 23 | for _, r := range resp.ConformancePackDetails { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_config_conformance_pack", 27 | ID: *r.ConformancePackName, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_config_delivery_channel.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/configservice" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListConfigDeliveryChannel(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Configserviceconn.DescribeDeliveryChannels(ctx, &configservice.DescribeDeliveryChannelsInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.DeliveryChannels) > 0 { 22 | 23 | for _, r := range resp.DeliveryChannels { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_config_delivery_channel", 27 | ID: *r.Name, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_datasync_agent.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/datasync" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListDatasyncAgent(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := datasync.NewListAgentsPaginator(client.Datasyncconn, &datasync.ListAgentsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Agents { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_datasync_agent", 27 | ID: *r.AgentArn, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_datasync_task.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/datasync" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListDatasyncTask(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := datasync.NewListTasksPaginator(client.Datasyncconn, &datasync.ListTasksInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Tasks { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_datasync_task", 27 | ID: *r.TaskArn, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_dax_parameter_group.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/dax" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListDaxParameterGroup(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Daxconn.DescribeParameterGroups(ctx, &dax.DescribeParameterGroupsInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.ParameterGroups) > 0 { 22 | 23 | for _, r := range resp.ParameterGroups { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_dax_parameter_group", 27 | ID: *r.ParameterGroupName, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_dax_subnet_group.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/dax" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListDaxSubnetGroup(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Daxconn.DescribeSubnetGroups(ctx, &dax.DescribeSubnetGroupsInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.SubnetGroups) > 0 { 22 | 23 | for _, r := range resp.SubnetGroups { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_dax_subnet_group", 27 | ID: *r.SubnetGroupName, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_db_event_subscription.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/rds" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListDbEventSubscription(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := rds.NewDescribeEventSubscriptionsPaginator(client.Rdsconn, &rds.DescribeEventSubscriptionsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.EventSubscriptionsList { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_db_event_subscription", 27 | ID: *r.CustSubscriptionId, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_db_instance.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/rds" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListDbInstance(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := rds.NewDescribeDBInstancesPaginator(client.Rdsconn, &rds.DescribeDBInstancesInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.DBInstances { 24 | 25 | t := *r.InstanceCreateTime 26 | result = append(result, terraform.Resource{ 27 | Type: "aws_db_instance", 28 | ID: *r.DBInstanceIdentifier, 29 | Profile: client.Profile, 30 | Region: client.Region, 31 | AccountID: client.AccountID, 32 | 33 | CreatedAt: &t, 34 | }) 35 | } 36 | } 37 | 38 | return result, nil 39 | } 40 | -------------------------------------------------------------------------------- /aws/aws_db_parameter_group.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/rds" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListDbParameterGroup(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := rds.NewDescribeDBParameterGroupsPaginator(client.Rdsconn, &rds.DescribeDBParameterGroupsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.DBParameterGroups { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_db_parameter_group", 27 | ID: *r.DBParameterGroupName, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_db_proxy.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/rds" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListDbProxy(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := rds.NewDescribeDBProxiesPaginator(client.Rdsconn, &rds.DescribeDBProxiesInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.DBProxies { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_db_proxy", 27 | ID: *r.DBProxyName, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_db_security_group.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/rds" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListDbSecurityGroup(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := rds.NewDescribeDBSecurityGroupsPaginator(client.Rdsconn, &rds.DescribeDBSecurityGroupsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.DBSecurityGroups { 24 | if *r.OwnerId != client.AccountID { 25 | continue 26 | } 27 | 28 | result = append(result, terraform.Resource{ 29 | Type: "aws_db_security_group", 30 | ID: *r.DBSecurityGroupName, 31 | Profile: client.Profile, 32 | Region: client.Region, 33 | AccountID: client.AccountID, 34 | }) 35 | } 36 | } 37 | 38 | return result, nil 39 | } 40 | -------------------------------------------------------------------------------- /aws/aws_db_snapshot.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/rds" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListDbSnapshot(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := rds.NewDescribeDBSnapshotsPaginator(client.Rdsconn, &rds.DescribeDBSnapshotsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.DBSnapshots { 24 | 25 | t := *r.InstanceCreateTime 26 | result = append(result, terraform.Resource{ 27 | Type: "aws_db_snapshot", 28 | ID: *r.DBSnapshotIdentifier, 29 | Profile: client.Profile, 30 | Region: client.Region, 31 | AccountID: client.AccountID, 32 | 33 | CreatedAt: &t, 34 | }) 35 | } 36 | } 37 | 38 | return result, nil 39 | } 40 | -------------------------------------------------------------------------------- /aws/aws_db_subnet_group.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/rds" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListDbSubnetGroup(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := rds.NewDescribeDBSubnetGroupsPaginator(client.Rdsconn, &rds.DescribeDBSubnetGroupsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.DBSubnetGroups { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_db_subnet_group", 27 | ID: *r.DBSubnetGroupName, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_devicefarm_project.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/devicefarm" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListDevicefarmProject(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := devicefarm.NewListProjectsPaginator(client.Devicefarmconn, &devicefarm.ListProjectsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Projects { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_devicefarm_project", 27 | ID: *r.Arn, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_dlm_lifecycle_policy.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/dlm" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListDlmLifecyclePolicy(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Dlmconn.GetLifecyclePolicies(ctx, &dlm.GetLifecyclePoliciesInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.Policies) > 0 { 22 | 23 | for _, r := range resp.Policies { 24 | 25 | tags := map[string]string{} 26 | for k, v := range r.Tags { 27 | tags[k] = v 28 | } 29 | 30 | result = append(result, terraform.Resource{ 31 | Type: "aws_dlm_lifecycle_policy", 32 | ID: *r.PolicyId, 33 | Profile: client.Profile, 34 | Region: client.Region, 35 | AccountID: client.AccountID, 36 | Tags: tags, 37 | }) 38 | } 39 | } 40 | 41 | return result, nil 42 | } 43 | -------------------------------------------------------------------------------- /aws/aws_dms_certificate.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/databasemigrationservice" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListDmsCertificate(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := databasemigrationservice.NewDescribeCertificatesPaginator(client.Databasemigrationserviceconn, &databasemigrationservice.DescribeCertificatesInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Certificates { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_dms_certificate", 27 | ID: *r.CertificateIdentifier, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_dms_endpoint.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/databasemigrationservice" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListDmsEndpoint(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := databasemigrationservice.NewDescribeEndpointsPaginator(client.Databasemigrationserviceconn, &databasemigrationservice.DescribeEndpointsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Endpoints { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_dms_endpoint", 27 | ID: *r.EndpointIdentifier, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_dx_lag.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/directconnect" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListDxLag(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Directconnectconn.DescribeLags(ctx, &directconnect.DescribeLagsInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.Lags) > 0 { 22 | 23 | for _, r := range resp.Lags { 24 | 25 | tags := map[string]string{} 26 | for _, t := range r.Tags { 27 | tags[*t.Key] = *t.Value 28 | } 29 | 30 | result = append(result, terraform.Resource{ 31 | Type: "aws_dx_lag", 32 | ID: *r.LagId, 33 | Profile: client.Profile, 34 | Region: client.Region, 35 | AccountID: client.AccountID, 36 | Tags: tags, 37 | }) 38 | } 39 | } 40 | 41 | return result, nil 42 | } 43 | -------------------------------------------------------------------------------- /aws/aws_dynamodb_global_table.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/dynamodb" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListDynamodbGlobalTable(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Dynamodbconn.ListGlobalTables(ctx, &dynamodb.ListGlobalTablesInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.GlobalTables) > 0 { 22 | 23 | for _, r := range resp.GlobalTables { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_dynamodb_global_table", 27 | ID: *r.GlobalTableName, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_dynamodb_table.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/dynamodb" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListDynamodbTable(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := dynamodb.NewListTablesPaginator(client.Dynamodbconn, &dynamodb.ListTablesInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.TableNames { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_dynamodb_table", 27 | ID: r, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_ecr_repository.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/ecr" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListEcrRepository(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := ecr.NewDescribeRepositoriesPaginator(client.Ecrconn, &ecr.DescribeRepositoriesInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Repositories { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_ecr_repository", 27 | ID: *r.RepositoryName, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_ecrpublic_repository.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/ecrpublic" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListEcrpublicRepository(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := ecrpublic.NewDescribeRepositoriesPaginator(client.Ecrpublicconn, &ecrpublic.DescribeRepositoriesInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Repositories { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_ecrpublic_repository", 27 | ID: *r.RepositoryName, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_ecs_cluster.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/ecs" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListEcsCluster(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := ecs.NewListClustersPaginator(client.Ecsconn, &ecs.ListClustersInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.ClusterArns { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_ecs_cluster", 27 | ID: r, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_ecs_task_definition.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/ecs" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListEcsTaskDefinition(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := ecs.NewListTaskDefinitionsPaginator(client.Ecsconn, &ecs.ListTaskDefinitionsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.TaskDefinitionArns { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_ecs_task_definition", 27 | ID: r, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_eip.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/ec2" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListEip(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Ec2conn.DescribeAddresses(ctx, &ec2.DescribeAddressesInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.Addresses) > 0 { 22 | 23 | for _, r := range resp.Addresses { 24 | 25 | tags := map[string]string{} 26 | for _, t := range r.Tags { 27 | tags[*t.Key] = *t.Value 28 | } 29 | 30 | result = append(result, terraform.Resource{ 31 | Type: "aws_eip", 32 | ID: *r.AllocationId, 33 | Profile: client.Profile, 34 | Region: client.Region, 35 | AccountID: client.AccountID, 36 | Tags: tags, 37 | }) 38 | } 39 | } 40 | 41 | return result, nil 42 | } 43 | -------------------------------------------------------------------------------- /aws/aws_eks_cluster.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/eks" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListEksCluster(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := eks.NewListClustersPaginator(client.Eksconn, &eks.ListClustersInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Clusters { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_eks_cluster", 27 | ID: r, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_elastic_beanstalk_application.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListElasticBeanstalkApplication(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Elasticbeanstalkconn.DescribeApplications(ctx, &elasticbeanstalk.DescribeApplicationsInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.Applications) > 0 { 22 | 23 | for _, r := range resp.Applications { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_elastic_beanstalk_application", 27 | ID: *r.ApplicationName, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_elastic_beanstalk_application_version.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListElasticBeanstalkApplicationVersion(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Elasticbeanstalkconn.DescribeApplicationVersions(ctx, &elasticbeanstalk.DescribeApplicationVersionsInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.ApplicationVersions) > 0 { 22 | 23 | for _, r := range resp.ApplicationVersions { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_elastic_beanstalk_application_version", 27 | ID: *r.ApplicationName, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_elastic_beanstalk_environment.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListElasticBeanstalkEnvironment(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Elasticbeanstalkconn.DescribeEnvironments(ctx, &elasticbeanstalk.DescribeEnvironmentsInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.Environments) > 0 { 22 | 23 | for _, r := range resp.Environments { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_elastic_beanstalk_environment", 27 | ID: *r.EnvironmentId, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_elasticache_replication_group.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/elasticache" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListElasticacheReplicationGroup(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := elasticache.NewDescribeReplicationGroupsPaginator(client.Elasticacheconn, &elasticache.DescribeReplicationGroupsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.ReplicationGroups { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_elasticache_replication_group", 27 | ID: *r.ReplicationGroupId, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_elastictranscoder_pipeline.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/elastictranscoder" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListElastictranscoderPipeline(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := elastictranscoder.NewListPipelinesPaginator(client.Elastictranscoderconn, &elastictranscoder.ListPipelinesInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Pipelines { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_elastictranscoder_pipeline", 27 | ID: *r.Id, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_elastictranscoder_preset.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/elastictranscoder" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListElastictranscoderPreset(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := elastictranscoder.NewListPresetsPaginator(client.Elastictranscoderconn, &elastictranscoder.ListPresetsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Presets { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_elastictranscoder_preset", 27 | ID: *r.Id, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_emr_security_configuration.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/emr" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListEmrSecurityConfiguration(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := emr.NewListSecurityConfigurationsPaginator(client.Emrconn, &emr.ListSecurityConfigurationsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.SecurityConfigurations { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_emr_security_configuration", 27 | ID: *r.Name, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_fms_policy.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/fms" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListFmsPolicy(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := fms.NewListPoliciesPaginator(client.Fmsconn, &fms.ListPoliciesInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.PolicyList { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_fms_policy", 27 | ID: *r.PolicyId, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_gamelift_alias.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/gamelift" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListGameliftAlias(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := gamelift.NewListAliasesPaginator(client.Gameliftconn, &gamelift.ListAliasesInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Aliases { 24 | 25 | t := *r.CreationTime 26 | result = append(result, terraform.Resource{ 27 | Type: "aws_gamelift_alias", 28 | ID: *r.AliasId, 29 | Profile: client.Profile, 30 | Region: client.Region, 31 | AccountID: client.AccountID, 32 | 33 | CreatedAt: &t, 34 | }) 35 | } 36 | } 37 | 38 | return result, nil 39 | } 40 | -------------------------------------------------------------------------------- /aws/aws_gamelift_build.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/gamelift" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListGameliftBuild(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := gamelift.NewListBuildsPaginator(client.Gameliftconn, &gamelift.ListBuildsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Builds { 24 | 25 | t := *r.CreationTime 26 | result = append(result, terraform.Resource{ 27 | Type: "aws_gamelift_build", 28 | ID: *r.BuildId, 29 | Profile: client.Profile, 30 | Region: client.Region, 31 | AccountID: client.AccountID, 32 | 33 | CreatedAt: &t, 34 | }) 35 | } 36 | } 37 | 38 | return result, nil 39 | } 40 | -------------------------------------------------------------------------------- /aws/aws_gamelift_fleet.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/gamelift" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListGameliftFleet(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := gamelift.NewListFleetsPaginator(client.Gameliftconn, &gamelift.ListFleetsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.FleetIds { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_gamelift_fleet", 27 | ID: r, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_gamelift_game_session_queue.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/gamelift" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListGameliftGameSessionQueue(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := gamelift.NewDescribeGameSessionQueuesPaginator(client.Gameliftconn, &gamelift.DescribeGameSessionQueuesInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.GameSessionQueues { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_gamelift_game_session_queue", 27 | ID: *r.Name, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_glue_crawler.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/glue" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListGlueCrawler(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := glue.NewGetCrawlersPaginator(client.Glueconn, &glue.GetCrawlersInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Crawlers { 24 | 25 | t := *r.CreationTime 26 | result = append(result, terraform.Resource{ 27 | Type: "aws_glue_crawler", 28 | ID: *r.Name, 29 | Profile: client.Profile, 30 | Region: client.Region, 31 | AccountID: client.AccountID, 32 | 33 | CreatedAt: &t, 34 | }) 35 | } 36 | } 37 | 38 | return result, nil 39 | } 40 | -------------------------------------------------------------------------------- /aws/aws_glue_dev_endpoint.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/glue" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListGlueDevEndpoint(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := glue.NewGetDevEndpointsPaginator(client.Glueconn, &glue.GetDevEndpointsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.DevEndpoints { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_glue_dev_endpoint", 27 | ID: *r.EndpointName, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_glue_job.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/glue" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListGlueJob(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := glue.NewGetJobsPaginator(client.Glueconn, &glue.GetJobsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Jobs { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_glue_job", 27 | ID: *r.Name, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_glue_ml_transform.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/glue" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListGlueMlTransform(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := glue.NewGetMLTransformsPaginator(client.Glueconn, &glue.GetMLTransformsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Transforms { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_glue_ml_transform", 27 | ID: *r.TransformId, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_glue_security_configuration.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/glue" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListGlueSecurityConfiguration(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := glue.NewGetSecurityConfigurationsPaginator(client.Glueconn, &glue.GetSecurityConfigurationsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.SecurityConfigurations { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_glue_security_configuration", 27 | ID: *r.Name, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_glue_trigger.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/glue" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListGlueTrigger(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := glue.NewGetTriggersPaginator(client.Glueconn, &glue.GetTriggersInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Triggers { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_glue_trigger", 27 | ID: *r.Name, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_glue_workflow.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/glue" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListGlueWorkflow(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := glue.NewListWorkflowsPaginator(client.Glueconn, &glue.ListWorkflowsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Workflows { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_glue_workflow", 27 | ID: r, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_guardduty_detector.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/guardduty" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListGuarddutyDetector(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := guardduty.NewListDetectorsPaginator(client.Guarddutyconn, &guardduty.ListDetectorsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.DetectorIds { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_guardduty_detector", 27 | ID: r, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_iam_access_key.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/iam" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListIamAccessKey(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := iam.NewListAccessKeysPaginator(client.Iamconn, &iam.ListAccessKeysInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.AccessKeyMetadata { 24 | 25 | t := *r.CreateDate 26 | result = append(result, terraform.Resource{ 27 | Type: "aws_iam_access_key", 28 | ID: *r.AccessKeyId, 29 | Profile: client.Profile, 30 | Region: client.Region, 31 | AccountID: client.AccountID, 32 | 33 | CreatedAt: &t, 34 | }) 35 | } 36 | } 37 | 38 | return result, nil 39 | } 40 | -------------------------------------------------------------------------------- /aws/aws_iam_account_alias.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/iam" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListIamAccountAlias(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := iam.NewListAccountAliasesPaginator(client.Iamconn, &iam.ListAccountAliasesInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.AccountAliases { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_iam_account_alias", 27 | ID: r, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_iam_group.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/iam" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListIamGroup(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := iam.NewListGroupsPaginator(client.Iamconn, &iam.ListGroupsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Groups { 24 | 25 | t := *r.CreateDate 26 | result = append(result, terraform.Resource{ 27 | Type: "aws_iam_group", 28 | ID: *r.GroupName, 29 | Profile: client.Profile, 30 | Region: client.Region, 31 | AccountID: client.AccountID, 32 | 33 | CreatedAt: &t, 34 | }) 35 | } 36 | } 37 | 38 | return result, nil 39 | } 40 | -------------------------------------------------------------------------------- /aws/aws_iam_instance_profile.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/iam" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListIamInstanceProfile(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := iam.NewListInstanceProfilesPaginator(client.Iamconn, &iam.ListInstanceProfilesInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.InstanceProfiles { 24 | 25 | t := *r.CreateDate 26 | result = append(result, terraform.Resource{ 27 | Type: "aws_iam_instance_profile", 28 | ID: *r.InstanceProfileName, 29 | Profile: client.Profile, 30 | Region: client.Region, 31 | AccountID: client.AccountID, 32 | CreatedAt: &t, 33 | }) 34 | } 35 | } 36 | 37 | return result, nil 38 | } 39 | -------------------------------------------------------------------------------- /aws/aws_iam_policy.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/iam" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListIamPolicy(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := iam.NewListPoliciesPaginator(client.Iamconn, &iam.ListPoliciesInput{ 17 | Scope: "Local", 18 | }) 19 | for p.HasMorePages() { 20 | resp, err := p.NextPage(ctx) 21 | if err != nil { 22 | return nil, err 23 | } 24 | 25 | for _, r := range resp.Policies { 26 | 27 | t := *r.CreateDate 28 | result = append(result, terraform.Resource{ 29 | Type: "aws_iam_policy", 30 | ID: *r.Arn, 31 | Profile: client.Profile, 32 | Region: client.Region, 33 | AccountID: client.AccountID, 34 | CreatedAt: &t, 35 | }) 36 | } 37 | } 38 | 39 | return result, nil 40 | } 41 | -------------------------------------------------------------------------------- /aws/aws_iam_server_certificate.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/iam" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListIamServerCertificate(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := iam.NewListServerCertificatesPaginator(client.Iamconn, &iam.ListServerCertificatesInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.ServerCertificateMetadataList { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_iam_server_certificate", 27 | ID: *r.ServerCertificateId, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_imagebuilder_component.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/imagebuilder" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListImagebuilderComponent(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Imagebuilderconn.ListComponents(ctx, &imagebuilder.ListComponentsInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.ComponentVersionList) > 0 { 22 | 23 | for _, r := range resp.ComponentVersionList { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_imagebuilder_component", 27 | ID: *r.Arn, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_imagebuilder_image.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/imagebuilder" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListImagebuilderImage(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Imagebuilderconn.ListImages(ctx, &imagebuilder.ListImagesInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.ImageVersionList) > 0 { 22 | 23 | for _, r := range resp.ImageVersionList { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_imagebuilder_image", 27 | ID: *r.Arn, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_iot_certificate.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/iot" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListIotCertificate(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := iot.NewListCertificatesPaginator(client.Iotconn, &iot.ListCertificatesInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Certificates { 24 | 25 | t := *r.CreationDate 26 | result = append(result, terraform.Resource{ 27 | Type: "aws_iot_certificate", 28 | ID: *r.CertificateId, 29 | Profile: client.Profile, 30 | Region: client.Region, 31 | AccountID: client.AccountID, 32 | 33 | CreatedAt: &t, 34 | }) 35 | } 36 | } 37 | 38 | return result, nil 39 | } 40 | -------------------------------------------------------------------------------- /aws/aws_iot_policy.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/iot" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListIotPolicy(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := iot.NewListPoliciesPaginator(client.Iotconn, &iot.ListPoliciesInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Policies { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_iot_policy", 27 | ID: *r.PolicyName, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_iot_role_alias.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/iot" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListIotRoleAlias(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := iot.NewListRoleAliasesPaginator(client.Iotconn, &iot.ListRoleAliasesInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.RoleAliases { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_iot_role_alias", 27 | ID: r, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_iot_thing.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/iot" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListIotThing(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := iot.NewListThingsPaginator(client.Iotconn, &iot.ListThingsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Things { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_iot_thing", 27 | ID: *r.ThingName, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_iot_thing_type.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/iot" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListIotThingType(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := iot.NewListThingTypesPaginator(client.Iotconn, &iot.ListThingTypesInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.ThingTypes { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_iot_thing_type", 27 | ID: *r.ThingTypeName, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_iot_topic_rule.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/iot" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListIotTopicRule(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := iot.NewListTopicRulesPaginator(client.Iotconn, &iot.ListTopicRulesInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Rules { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_iot_topic_rule", 27 | ID: *r.RuleName, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_key_pair.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/ec2" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListKeyPair(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Ec2conn.DescribeKeyPairs(ctx, &ec2.DescribeKeyPairsInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.KeyPairs) > 0 { 22 | 23 | for _, r := range resp.KeyPairs { 24 | 25 | tags := map[string]string{} 26 | for _, t := range r.Tags { 27 | tags[*t.Key] = *t.Value 28 | } 29 | 30 | result = append(result, terraform.Resource{ 31 | Type: "aws_key_pair", 32 | ID: *r.KeyName, 33 | Profile: client.Profile, 34 | Region: client.Region, 35 | AccountID: client.AccountID, 36 | Tags: tags, 37 | }) 38 | } 39 | } 40 | 41 | return result, nil 42 | } 43 | -------------------------------------------------------------------------------- /aws/aws_kinesis_analytics_application.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/kinesisanalytics" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListKinesisAnalyticsApplication(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Kinesisanalyticsconn.ListApplications(ctx, &kinesisanalytics.ListApplicationsInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.ApplicationSummaries) > 0 { 22 | 23 | for _, r := range resp.ApplicationSummaries { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_kinesis_analytics_application", 27 | ID: *r.ApplicationARN, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_kinesis_firehose_delivery_stream.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/firehose" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListKinesisFirehoseDeliveryStream(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Firehoseconn.ListDeliveryStreams(ctx, &firehose.ListDeliveryStreamsInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.DeliveryStreamNames) > 0 { 22 | 23 | for _, r := range resp.DeliveryStreamNames { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_kinesis_firehose_delivery_stream", 27 | ID: r, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_kinesis_stream.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/kinesis" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListKinesisStream(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Kinesisconn.ListStreams(ctx, &kinesis.ListStreamsInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.StreamNames) > 0 { 22 | 23 | for _, r := range resp.StreamNames { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_kinesis_stream", 27 | ID: r, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_kinesisanalyticsv2_application.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListKinesisanalyticsv2Application(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Kinesisanalyticsv2conn.ListApplications(ctx, &kinesisanalyticsv2.ListApplicationsInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.ApplicationSummaries) > 0 { 22 | 23 | for _, r := range resp.ApplicationSummaries { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_kinesisanalyticsv2_application", 27 | ID: *r.ApplicationARN, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_kms_external_key.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/kms" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListKmsExternalKey(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := kms.NewListKeysPaginator(client.Kmsconn, &kms.ListKeysInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Keys { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_kms_external_key", 27 | ID: *r.KeyId, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_kms_key.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/kms" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListKmsKey(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := kms.NewListKeysPaginator(client.Kmsconn, &kms.ListKeysInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Keys { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_kms_key", 27 | ID: *r.KeyId, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_lambda_code_signing_config.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/lambda" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListLambdaCodeSigningConfig(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := lambda.NewListCodeSigningConfigsPaginator(client.Lambdaconn, &lambda.ListCodeSigningConfigsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.CodeSigningConfigs { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_lambda_code_signing_config", 27 | ID: *r.CodeSigningConfigArn, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_lambda_event_source_mapping.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/lambda" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListLambdaEventSourceMapping(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := lambda.NewListEventSourceMappingsPaginator(client.Lambdaconn, &lambda.ListEventSourceMappingsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.EventSourceMappings { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_lambda_event_source_mapping", 27 | ID: *r.UUID, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_lambda_function.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/lambda" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListLambdaFunction(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := lambda.NewListFunctionsPaginator(client.Lambdaconn, &lambda.ListFunctionsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Functions { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_lambda_function", 27 | ID: *r.FunctionName, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_lb.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListLb(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := elasticloadbalancingv2.NewDescribeLoadBalancersPaginator(client.Elasticloadbalancingv2conn, &elasticloadbalancingv2.DescribeLoadBalancersInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.LoadBalancers { 24 | 25 | t := *r.CreatedTime 26 | result = append(result, terraform.Resource{ 27 | Type: "aws_lb", 28 | ID: *r.LoadBalancerArn, 29 | Profile: client.Profile, 30 | Region: client.Region, 31 | AccountID: client.AccountID, 32 | 33 | CreatedAt: &t, 34 | }) 35 | } 36 | } 37 | 38 | return result, nil 39 | } 40 | -------------------------------------------------------------------------------- /aws/aws_lb_target_group.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListLbTargetGroup(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := elasticloadbalancingv2.NewDescribeTargetGroupsPaginator(client.Elasticloadbalancingv2conn, &elasticloadbalancingv2.DescribeTargetGroupsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.TargetGroups { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_lb_target_group", 27 | ID: *r.TargetGroupArn, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_lex_bot.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListLexBot(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := lexmodelbuildingservice.NewGetBotsPaginator(client.Lexmodelbuildingserviceconn, &lexmodelbuildingservice.GetBotsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Bots { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_lex_bot", 27 | ID: *r.Name, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_lex_intent.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListLexIntent(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := lexmodelbuildingservice.NewGetIntentsPaginator(client.Lexmodelbuildingserviceconn, &lexmodelbuildingservice.GetIntentsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Intents { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_lex_intent", 27 | ID: *r.Name, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_lex_slot_type.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListLexSlotType(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := lexmodelbuildingservice.NewGetSlotTypesPaginator(client.Lexmodelbuildingserviceconn, &lexmodelbuildingservice.GetSlotTypesInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.SlotTypes { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_lex_slot_type", 27 | ID: *r.Name, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_licensemanager_license_configuration.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/licensemanager" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListLicensemanagerLicenseConfiguration(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Licensemanagerconn.ListLicenseConfigurations(ctx, &licensemanager.ListLicenseConfigurationsInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.LicenseConfigurations) > 0 { 22 | 23 | for _, r := range resp.LicenseConfigurations { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_licensemanager_license_configuration", 27 | ID: *r.LicenseConfigurationArn, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_lightsail_domain.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/lightsail" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListLightsailDomain(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Lightsailconn.GetDomains(ctx, &lightsail.GetDomainsInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.Domains) > 0 { 22 | 23 | for _, r := range resp.Domains { 24 | 25 | tags := map[string]string{} 26 | for _, t := range r.Tags { 27 | tags[*t.Key] = *t.Value 28 | } 29 | 30 | result = append(result, terraform.Resource{ 31 | Type: "aws_lightsail_domain", 32 | ID: *r.Name, 33 | Profile: client.Profile, 34 | Region: client.Region, 35 | AccountID: client.AccountID, 36 | Tags: tags, 37 | }) 38 | } 39 | } 40 | 41 | return result, nil 42 | } 43 | -------------------------------------------------------------------------------- /aws/aws_lightsail_static_ip.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/lightsail" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListLightsailStaticIp(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Lightsailconn.GetStaticIps(ctx, &lightsail.GetStaticIpsInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.StaticIps) > 0 { 22 | 23 | for _, r := range resp.StaticIps { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_lightsail_static_ip", 27 | ID: *r.Name, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_macie2_classification_job.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/macie2" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListMacie2ClassificationJob(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := macie2.NewListClassificationJobsPaginator(client.Macie2conn, &macie2.ListClassificationJobsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Items { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_macie2_classification_job", 27 | ID: *r.JobId, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_macie2_custom_data_identifier.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/macie2" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListMacie2CustomDataIdentifier(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := macie2.NewListCustomDataIdentifiersPaginator(client.Macie2conn, &macie2.ListCustomDataIdentifiersInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Items { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_macie2_custom_data_identifier", 27 | ID: *r.Id, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_media_convert_queue.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/mediaconvert" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListMediaConvertQueue(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := mediaconvert.NewListQueuesPaginator(client.Mediaconvertconn, &mediaconvert.ListQueuesInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Queues { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_media_convert_queue", 27 | ID: *r.Name, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_media_store_container.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/mediastore" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListMediaStoreContainer(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := mediastore.NewListContainersPaginator(client.Mediastoreconn, &mediastore.ListContainersInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Containers { 24 | 25 | t := *r.CreationTime 26 | result = append(result, terraform.Resource{ 27 | Type: "aws_media_store_container", 28 | ID: *r.Name, 29 | Profile: client.Profile, 30 | Region: client.Region, 31 | AccountID: client.AccountID, 32 | 33 | CreatedAt: &t, 34 | }) 35 | } 36 | } 37 | 38 | return result, nil 39 | } 40 | -------------------------------------------------------------------------------- /aws/aws_mq_broker.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/mq" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListMqBroker(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := mq.NewListBrokersPaginator(client.Mqconn, &mq.ListBrokersInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.BrokerSummaries { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_mq_broker", 27 | ID: *r.BrokerId, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_mq_configuration.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/mq" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListMqConfiguration(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Mqconn.ListConfigurations(ctx, &mq.ListConfigurationsInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.Configurations) > 0 { 22 | 23 | for _, r := range resp.Configurations { 24 | 25 | tags := map[string]string{} 26 | for k, v := range r.Tags { 27 | tags[k] = v 28 | } 29 | 30 | result = append(result, terraform.Resource{ 31 | Type: "aws_mq_configuration", 32 | ID: *r.Id, 33 | Profile: client.Profile, 34 | Region: client.Region, 35 | AccountID: client.AccountID, 36 | Tags: tags, 37 | }) 38 | } 39 | } 40 | 41 | return result, nil 42 | } 43 | -------------------------------------------------------------------------------- /aws/aws_msk_configuration.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/kafka" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListMskConfiguration(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := kafka.NewListConfigurationsPaginator(client.Kafkaconn, &kafka.ListConfigurationsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Configurations { 24 | 25 | t := *r.CreationTime 26 | result = append(result, terraform.Resource{ 27 | Type: "aws_msk_configuration", 28 | ID: *r.Arn, 29 | Profile: client.Profile, 30 | Region: client.Region, 31 | AccountID: client.AccountID, 32 | 33 | CreatedAt: &t, 34 | }) 35 | } 36 | } 37 | 38 | return result, nil 39 | } 40 | -------------------------------------------------------------------------------- /aws/aws_mwaa_environment.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/mwaa" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListMwaaEnvironment(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := mwaa.NewListEnvironmentsPaginator(client.Mwaaconn, &mwaa.ListEnvironmentsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Environments { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_mwaa_environment", 27 | ID: r, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_neptune_event_subscription.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/neptune" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListNeptuneEventSubscription(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := neptune.NewDescribeEventSubscriptionsPaginator(client.Neptuneconn, &neptune.DescribeEventSubscriptionsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.EventSubscriptionsList { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_neptune_event_subscription", 27 | ID: *r.CustSubscriptionId, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_network_interface.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/ec2" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListNetworkInterface(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := ec2.NewDescribeNetworkInterfacesPaginator(client.Ec2conn, &ec2.DescribeNetworkInterfacesInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.NetworkInterfaces { 24 | if *r.OwnerId != client.AccountID { 25 | continue 26 | } 27 | 28 | result = append(result, terraform.Resource{ 29 | Type: "aws_network_interface", 30 | ID: *r.NetworkInterfaceId, 31 | Profile: client.Profile, 32 | Region: client.Region, 33 | AccountID: client.AccountID, 34 | }) 35 | } 36 | } 37 | 38 | return result, nil 39 | } 40 | -------------------------------------------------------------------------------- /aws/aws_networkfirewall_firewall.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/networkfirewall" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListNetworkfirewallFirewall(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := networkfirewall.NewListFirewallsPaginator(client.Networkfirewallconn, &networkfirewall.ListFirewallsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Firewalls { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_networkfirewall_firewall", 27 | ID: *r.FirewallArn, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_networkfirewall_firewall_policy.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/networkfirewall" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListNetworkfirewallFirewallPolicy(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := networkfirewall.NewListFirewallPoliciesPaginator(client.Networkfirewallconn, &networkfirewall.ListFirewallPoliciesInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.FirewallPolicies { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_networkfirewall_firewall_policy", 27 | ID: *r.Arn, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_networkfirewall_rule_group.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/networkfirewall" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListNetworkfirewallRuleGroup(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := networkfirewall.NewListRuleGroupsPaginator(client.Networkfirewallconn, &networkfirewall.ListRuleGroupsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.RuleGroups { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_networkfirewall_rule_group", 27 | ID: *r.Arn, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_opsworks_stack.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/opsworks" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListOpsworksStack(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Opsworksconn.DescribeStacks(ctx, &opsworks.DescribeStacksInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.Stacks) > 0 { 22 | 23 | for _, r := range resp.Stacks { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_opsworks_stack", 27 | ID: *r.StackId, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_opsworks_user_profile.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/opsworks" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListOpsworksUserProfile(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Opsworksconn.DescribeUserProfiles(ctx, &opsworks.DescribeUserProfilesInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.UserProfiles) > 0 { 22 | 23 | for _, r := range resp.UserProfiles { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_opsworks_user_profile", 27 | ID: *r.IamUserArn, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_qldb_ledger.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/qldb" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListQldbLedger(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := qldb.NewListLedgersPaginator(client.Qldbconn, &qldb.ListLedgersInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Ledgers { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_qldb_ledger", 27 | ID: *r.Name, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_rds_cluster.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/rds" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListRdsCluster(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := rds.NewDescribeDBClustersPaginator(client.Rdsconn, &rds.DescribeDBClustersInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.DBClusters { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_rds_cluster", 27 | ID: *r.DBClusterIdentifier, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_rds_cluster_endpoint.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/rds" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListRdsClusterEndpoint(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := rds.NewDescribeDBClusterEndpointsPaginator(client.Rdsconn, &rds.DescribeDBClusterEndpointsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.DBClusterEndpoints { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_rds_cluster_endpoint", 27 | ID: *r.DBClusterEndpointIdentifier, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_rds_cluster_parameter_group.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/rds" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListRdsClusterParameterGroup(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := rds.NewDescribeDBClusterParameterGroupsPaginator(client.Rdsconn, &rds.DescribeDBClusterParameterGroupsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.DBClusterParameterGroups { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_rds_cluster_parameter_group", 27 | ID: *r.DBClusterParameterGroupName, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_rds_global_cluster.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/rds" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListRdsGlobalCluster(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := rds.NewDescribeGlobalClustersPaginator(client.Rdsconn, &rds.DescribeGlobalClustersInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.GlobalClusters { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_rds_global_cluster", 27 | ID: *r.GlobalClusterIdentifier, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_route53_health_check.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/route53" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListRoute53HealthCheck(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := route53.NewListHealthChecksPaginator(client.Route53conn, &route53.ListHealthChecksInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.HealthChecks { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_route53_health_check", 27 | ID: *r.Id, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_route53_zone.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/route53" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListRoute53Zone(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := route53.NewListHostedZonesPaginator(client.Route53conn, &route53.ListHostedZonesInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.HostedZones { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_route53_zone", 27 | ID: *r.Id, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_s3_bucket.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/s3" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListS3Bucket(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.S3conn.ListBuckets(ctx, &s3.ListBucketsInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.Buckets) > 0 { 22 | 23 | for _, r := range resp.Buckets { 24 | 25 | t := *r.CreationDate 26 | result = append(result, terraform.Resource{ 27 | Type: "aws_s3_bucket", 28 | ID: *r.Name, 29 | Profile: client.Profile, 30 | Region: client.Region, 31 | AccountID: client.AccountID, 32 | 33 | CreatedAt: &t, 34 | }) 35 | } 36 | } 37 | 38 | return result, nil 39 | } 40 | -------------------------------------------------------------------------------- /aws/aws_s3outposts_endpoint.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/s3outposts" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListS3outpostsEndpoint(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := s3outposts.NewListEndpointsPaginator(client.S3outpostsconn, &s3outposts.ListEndpointsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Endpoints { 24 | 25 | t := *r.CreationTime 26 | result = append(result, terraform.Resource{ 27 | Type: "aws_s3outposts_endpoint", 28 | ID: *r.EndpointArn, 29 | Profile: client.Profile, 30 | Region: client.Region, 31 | AccountID: client.AccountID, 32 | 33 | CreatedAt: &t, 34 | }) 35 | } 36 | } 37 | 38 | return result, nil 39 | } 40 | -------------------------------------------------------------------------------- /aws/aws_sagemaker_endpoint.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/sagemaker" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListSagemakerEndpoint(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := sagemaker.NewListEndpointsPaginator(client.Sagemakerconn, &sagemaker.ListEndpointsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Endpoints { 24 | 25 | t := *r.CreationTime 26 | result = append(result, terraform.Resource{ 27 | Type: "aws_sagemaker_endpoint", 28 | ID: *r.EndpointName, 29 | Profile: client.Profile, 30 | Region: client.Region, 31 | AccountID: client.AccountID, 32 | 33 | CreatedAt: &t, 34 | }) 35 | } 36 | } 37 | 38 | return result, nil 39 | } 40 | -------------------------------------------------------------------------------- /aws/aws_sagemaker_feature_group.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/sagemaker" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListSagemakerFeatureGroup(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Sagemakerconn.ListFeatureGroups(ctx, &sagemaker.ListFeatureGroupsInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.FeatureGroupSummaries) > 0 { 22 | 23 | for _, r := range resp.FeatureGroupSummaries { 24 | 25 | t := *r.CreationTime 26 | result = append(result, terraform.Resource{ 27 | Type: "aws_sagemaker_feature_group", 28 | ID: *r.FeatureGroupName, 29 | Profile: client.Profile, 30 | Region: client.Region, 31 | AccountID: client.AccountID, 32 | 33 | CreatedAt: &t, 34 | }) 35 | } 36 | } 37 | 38 | return result, nil 39 | } 40 | -------------------------------------------------------------------------------- /aws/aws_sagemaker_model.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/sagemaker" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListSagemakerModel(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := sagemaker.NewListModelsPaginator(client.Sagemakerconn, &sagemaker.ListModelsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Models { 24 | 25 | t := *r.CreationTime 26 | result = append(result, terraform.Resource{ 27 | Type: "aws_sagemaker_model", 28 | ID: *r.ModelName, 29 | Profile: client.Profile, 30 | Region: client.Region, 31 | AccountID: client.AccountID, 32 | 33 | CreatedAt: &t, 34 | }) 35 | } 36 | } 37 | 38 | return result, nil 39 | } 40 | -------------------------------------------------------------------------------- /aws/aws_securityhub_action_target.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/securityhub" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListSecurityhubActionTarget(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := securityhub.NewDescribeActionTargetsPaginator(client.Securityhubconn, &securityhub.DescribeActionTargetsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.ActionTargets { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_securityhub_action_target", 27 | ID: *r.ActionTargetArn, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_securityhub_insight.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/securityhub" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListSecurityhubInsight(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := securityhub.NewGetInsightsPaginator(client.Securityhubconn, &securityhub.GetInsightsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Insights { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_securityhub_insight", 27 | ID: *r.InsightArn, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_servicecatalog_service_action.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/servicecatalog" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListServicecatalogServiceAction(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := servicecatalog.NewListServiceActionsPaginator(client.Servicecatalogconn, &servicecatalog.ListServiceActionsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.ServiceActionSummaries { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_servicecatalog_service_action", 27 | ID: *r.Id, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_servicecatalog_tag_option.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/servicecatalog" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListServicecatalogTagOption(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := servicecatalog.NewListTagOptionsPaginator(client.Servicecatalogconn, &servicecatalog.ListTagOptionsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.TagOptionDetails { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_servicecatalog_tag_option", 27 | ID: *r.Id, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_ses_active_receipt_rule_set.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/ses" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListSesActiveReceiptRuleSet(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Sesconn.ListReceiptRuleSets(ctx, &ses.ListReceiptRuleSetsInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.RuleSets) > 0 { 22 | 23 | for _, r := range resp.RuleSets { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_ses_active_receipt_rule_set", 27 | ID: *r.Name, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_ses_configuration_set.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/ses" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListSesConfigurationSet(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Sesconn.ListConfigurationSets(ctx, &ses.ListConfigurationSetsInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.ConfigurationSets) > 0 { 22 | 23 | for _, r := range resp.ConfigurationSets { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_ses_configuration_set", 27 | ID: *r.Name, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_ses_domain_identity.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/ses" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListSesDomainIdentity(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := ses.NewListIdentitiesPaginator(client.Sesconn, &ses.ListIdentitiesInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Identities { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_ses_domain_identity", 27 | ID: r, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_ses_email_identity.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/ses" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListSesEmailIdentity(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := ses.NewListIdentitiesPaginator(client.Sesconn, &ses.ListIdentitiesInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Identities { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_ses_email_identity", 27 | ID: r, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_ses_receipt_filter.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/ses" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListSesReceiptFilter(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Sesconn.ListReceiptFilters(ctx, &ses.ListReceiptFiltersInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.Filters) > 0 { 22 | 23 | for _, r := range resp.Filters { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_ses_receipt_filter", 27 | ID: *r.Name, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_ses_receipt_rule_set.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/ses" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListSesReceiptRuleSet(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Sesconn.ListReceiptRuleSets(ctx, &ses.ListReceiptRuleSetsInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.RuleSets) > 0 { 22 | 23 | for _, r := range resp.RuleSets { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_ses_receipt_rule_set", 27 | ID: *r.Name, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_ses_template.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/ses" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListSesTemplate(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Sesconn.ListTemplates(ctx, &ses.ListTemplatesInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.TemplatesMetadata) > 0 { 22 | 23 | for _, r := range resp.TemplatesMetadata { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_ses_template", 27 | ID: *r.Name, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_sfn_activity.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/sfn" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListSfnActivity(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := sfn.NewListActivitiesPaginator(client.Sfnconn, &sfn.ListActivitiesInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Activities { 24 | 25 | t := *r.CreationDate 26 | result = append(result, terraform.Resource{ 27 | Type: "aws_sfn_activity", 28 | ID: *r.ActivityArn, 29 | Profile: client.Profile, 30 | Region: client.Region, 31 | AccountID: client.AccountID, 32 | 33 | CreatedAt: &t, 34 | }) 35 | } 36 | } 37 | 38 | return result, nil 39 | } 40 | -------------------------------------------------------------------------------- /aws/aws_sfn_state_machine.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/sfn" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListSfnStateMachine(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := sfn.NewListStateMachinesPaginator(client.Sfnconn, &sfn.ListStateMachinesInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.StateMachines { 24 | 25 | t := *r.CreationDate 26 | result = append(result, terraform.Resource{ 27 | Type: "aws_sfn_state_machine", 28 | ID: *r.StateMachineArn, 29 | Profile: client.Profile, 30 | Region: client.Region, 31 | AccountID: client.AccountID, 32 | 33 | CreatedAt: &t, 34 | }) 35 | } 36 | } 37 | 38 | return result, nil 39 | } 40 | -------------------------------------------------------------------------------- /aws/aws_signer_signing_job.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/signer" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListSignerSigningJob(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := signer.NewListSigningJobsPaginator(client.Signerconn, &signer.ListSigningJobsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Jobs { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_signer_signing_job", 27 | ID: *r.JobId, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_sns_platform_application.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/sns" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListSnsPlatformApplication(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := sns.NewListPlatformApplicationsPaginator(client.Snsconn, &sns.ListPlatformApplicationsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.PlatformApplications { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_sns_platform_application", 27 | ID: *r.PlatformApplicationArn, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_sns_topic.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/sns" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListSnsTopic(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := sns.NewListTopicsPaginator(client.Snsconn, &sns.ListTopicsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Topics { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_sns_topic", 27 | ID: *r.TopicArn, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_sns_topic_subscription.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/sns" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListSnsTopicSubscription(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := sns.NewListSubscriptionsPaginator(client.Snsconn, &sns.ListSubscriptionsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Subscriptions { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_sns_topic_subscription", 27 | ID: *r.SubscriptionArn, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_sqs_queue.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/sqs" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListSqsQueue(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := sqs.NewListQueuesPaginator(client.Sqsconn, &sqs.ListQueuesInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.QueueUrls { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_sqs_queue", 27 | ID: r, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_ssm_association.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/ssm" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListSsmAssociation(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := ssm.NewListAssociationsPaginator(client.Ssmconn, &ssm.ListAssociationsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Associations { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_ssm_association", 27 | ID: *r.AssociationId, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_ssm_maintenance_window.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/ssm" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListSsmMaintenanceWindow(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := ssm.NewDescribeMaintenanceWindowsPaginator(client.Ssmconn, &ssm.DescribeMaintenanceWindowsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.WindowIdentities { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_ssm_maintenance_window", 27 | ID: *r.WindowId, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_ssm_parameter.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/ssm" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListSsmParameter(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := ssm.NewDescribeParametersPaginator(client.Ssmconn, &ssm.DescribeParametersInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Parameters { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_ssm_parameter", 27 | ID: *r.Name, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_ssm_patch_baseline.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/ssm" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListSsmPatchBaseline(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := ssm.NewDescribePatchBaselinesPaginator(client.Ssmconn, &ssm.DescribePatchBaselinesInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.BaselineIdentities { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_ssm_patch_baseline", 27 | ID: *r.BaselineId, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_ssm_patch_group.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/ssm" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListSsmPatchGroup(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := ssm.NewDescribePatchGroupsPaginator(client.Ssmconn, &ssm.DescribePatchGroupsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Mappings { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_ssm_patch_group", 27 | ID: *r.PatchGroup, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_ssm_resource_data_sync.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/ssm" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListSsmResourceDataSync(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := ssm.NewListResourceDataSyncPaginator(client.Ssmconn, &ssm.ListResourceDataSyncInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.ResourceDataSyncItems { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_ssm_resource_data_sync", 27 | ID: *r.SyncName, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_storagegateway_gateway.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/storagegateway" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListStoragegatewayGateway(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := storagegateway.NewListGatewaysPaginator(client.Storagegatewayconn, &storagegateway.ListGatewaysInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Gateways { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_storagegateway_gateway", 27 | ID: *r.GatewayARN, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_storagegateway_tape_pool.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/storagegateway" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListStoragegatewayTapePool(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := storagegateway.NewListTapePoolsPaginator(client.Storagegatewayconn, &storagegateway.ListTapePoolsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.PoolInfos { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_storagegateway_tape_pool", 27 | ID: *r.PoolARN, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_transfer_server.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/transfer" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListTransferServer(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := transfer.NewListServersPaginator(client.Transferconn, &transfer.ListServersInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Servers { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_transfer_server", 27 | ID: *r.ServerId, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_vpn_gateway.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/ec2" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListVpnGateway(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Ec2conn.DescribeVpnGateways(ctx, &ec2.DescribeVpnGatewaysInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.VpnGateways) > 0 { 22 | 23 | for _, r := range resp.VpnGateways { 24 | 25 | tags := map[string]string{} 26 | for _, t := range r.Tags { 27 | tags[*t.Key] = *t.Value 28 | } 29 | 30 | result = append(result, terraform.Resource{ 31 | Type: "aws_vpn_gateway", 32 | ID: *r.VpnGatewayId, 33 | Profile: client.Profile, 34 | Region: client.Region, 35 | AccountID: client.AccountID, 36 | Tags: tags, 37 | }) 38 | } 39 | } 40 | 41 | return result, nil 42 | } 43 | -------------------------------------------------------------------------------- /aws/aws_waf_byte_match_set.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/waf" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListWafByteMatchSet(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Wafconn.ListByteMatchSets(ctx, &waf.ListByteMatchSetsInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.ByteMatchSets) > 0 { 22 | 23 | for _, r := range resp.ByteMatchSets { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_waf_byte_match_set", 27 | ID: *r.ByteMatchSetId, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_waf_geo_match_set.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/waf" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListWafGeoMatchSet(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Wafconn.ListGeoMatchSets(ctx, &waf.ListGeoMatchSetsInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.GeoMatchSets) > 0 { 22 | 23 | for _, r := range resp.GeoMatchSets { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_waf_geo_match_set", 27 | ID: *r.GeoMatchSetId, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_waf_ipset.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/waf" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListWafIpset(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Wafconn.ListIPSets(ctx, &waf.ListIPSetsInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.IPSets) > 0 { 22 | 23 | for _, r := range resp.IPSets { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_waf_ipset", 27 | ID: *r.IPSetId, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_waf_rate_based_rule.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/waf" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListWafRateBasedRule(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Wafconn.ListRateBasedRules(ctx, &waf.ListRateBasedRulesInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.Rules) > 0 { 22 | 23 | for _, r := range resp.Rules { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_waf_rate_based_rule", 27 | ID: *r.RuleId, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_waf_regex_match_set.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/waf" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListWafRegexMatchSet(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Wafconn.ListRegexMatchSets(ctx, &waf.ListRegexMatchSetsInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.RegexMatchSets) > 0 { 22 | 23 | for _, r := range resp.RegexMatchSets { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_waf_regex_match_set", 27 | ID: *r.RegexMatchSetId, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_waf_regex_pattern_set.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/waf" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListWafRegexPatternSet(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Wafconn.ListRegexPatternSets(ctx, &waf.ListRegexPatternSetsInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.RegexPatternSets) > 0 { 22 | 23 | for _, r := range resp.RegexPatternSets { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_waf_regex_pattern_set", 27 | ID: *r.RegexPatternSetId, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_waf_rule.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/waf" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListWafRule(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Wafconn.ListRules(ctx, &waf.ListRulesInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.Rules) > 0 { 22 | 23 | for _, r := range resp.Rules { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_waf_rule", 27 | ID: *r.RuleId, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_waf_rule_group.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/waf" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListWafRuleGroup(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Wafconn.ListRuleGroups(ctx, &waf.ListRuleGroupsInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.RuleGroups) > 0 { 22 | 23 | for _, r := range resp.RuleGroups { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_waf_rule_group", 27 | ID: *r.RuleGroupId, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_waf_size_constraint_set.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/waf" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListWafSizeConstraintSet(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Wafconn.ListSizeConstraintSets(ctx, &waf.ListSizeConstraintSetsInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.SizeConstraintSets) > 0 { 22 | 23 | for _, r := range resp.SizeConstraintSets { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_waf_size_constraint_set", 27 | ID: *r.SizeConstraintSetId, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_waf_sql_injection_match_set.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/waf" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListWafSqlInjectionMatchSet(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Wafconn.ListSqlInjectionMatchSets(ctx, &waf.ListSqlInjectionMatchSetsInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.SqlInjectionMatchSets) > 0 { 22 | 23 | for _, r := range resp.SqlInjectionMatchSets { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_waf_sql_injection_match_set", 27 | ID: *r.SqlInjectionMatchSetId, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_waf_web_acl.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/waf" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListWafWebAcl(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Wafconn.ListWebACLs(ctx, &waf.ListWebACLsInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.WebACLs) > 0 { 22 | 23 | for _, r := range resp.WebACLs { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_waf_web_acl", 27 | ID: *r.WebACLId, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_waf_xss_match_set.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/waf" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListWafXssMatchSet(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Wafconn.ListXssMatchSets(ctx, &waf.ListXssMatchSetsInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.XssMatchSets) > 0 { 22 | 23 | for _, r := range resp.XssMatchSets { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_waf_xss_match_set", 27 | ID: *r.XssMatchSetId, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_wafregional_byte_match_set.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/wafregional" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListWafregionalByteMatchSet(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Wafregionalconn.ListByteMatchSets(ctx, &wafregional.ListByteMatchSetsInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.ByteMatchSets) > 0 { 22 | 23 | for _, r := range resp.ByteMatchSets { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_wafregional_byte_match_set", 27 | ID: *r.ByteMatchSetId, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_wafregional_geo_match_set.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/wafregional" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListWafregionalGeoMatchSet(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Wafregionalconn.ListGeoMatchSets(ctx, &wafregional.ListGeoMatchSetsInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.GeoMatchSets) > 0 { 22 | 23 | for _, r := range resp.GeoMatchSets { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_wafregional_geo_match_set", 27 | ID: *r.GeoMatchSetId, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_wafregional_ipset.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/wafregional" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListWafregionalIpset(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Wafregionalconn.ListIPSets(ctx, &wafregional.ListIPSetsInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.IPSets) > 0 { 22 | 23 | for _, r := range resp.IPSets { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_wafregional_ipset", 27 | ID: *r.IPSetId, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_wafregional_rate_based_rule.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/wafregional" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListWafregionalRateBasedRule(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Wafregionalconn.ListRateBasedRules(ctx, &wafregional.ListRateBasedRulesInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.Rules) > 0 { 22 | 23 | for _, r := range resp.Rules { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_wafregional_rate_based_rule", 27 | ID: *r.RuleId, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_wafregional_regex_match_set.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/wafregional" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListWafregionalRegexMatchSet(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Wafregionalconn.ListRegexMatchSets(ctx, &wafregional.ListRegexMatchSetsInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.RegexMatchSets) > 0 { 22 | 23 | for _, r := range resp.RegexMatchSets { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_wafregional_regex_match_set", 27 | ID: *r.RegexMatchSetId, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_wafregional_regex_pattern_set.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/wafregional" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListWafregionalRegexPatternSet(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Wafregionalconn.ListRegexPatternSets(ctx, &wafregional.ListRegexPatternSetsInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.RegexPatternSets) > 0 { 22 | 23 | for _, r := range resp.RegexPatternSets { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_wafregional_regex_pattern_set", 27 | ID: *r.RegexPatternSetId, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_wafregional_rule.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/wafregional" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListWafregionalRule(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Wafregionalconn.ListRules(ctx, &wafregional.ListRulesInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.Rules) > 0 { 22 | 23 | for _, r := range resp.Rules { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_wafregional_rule", 27 | ID: *r.RuleId, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_wafregional_rule_group.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/wafregional" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListWafregionalRuleGroup(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Wafregionalconn.ListRuleGroups(ctx, &wafregional.ListRuleGroupsInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.RuleGroups) > 0 { 22 | 23 | for _, r := range resp.RuleGroups { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_wafregional_rule_group", 27 | ID: *r.RuleGroupId, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_wafregional_size_constraint_set.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/wafregional" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListWafregionalSizeConstraintSet(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Wafregionalconn.ListSizeConstraintSets(ctx, &wafregional.ListSizeConstraintSetsInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.SizeConstraintSets) > 0 { 22 | 23 | for _, r := range resp.SizeConstraintSets { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_wafregional_size_constraint_set", 27 | ID: *r.SizeConstraintSetId, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_wafregional_sql_injection_match_set.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/wafregional" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListWafregionalSqlInjectionMatchSet(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Wafregionalconn.ListSqlInjectionMatchSets(ctx, &wafregional.ListSqlInjectionMatchSetsInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.SqlInjectionMatchSets) > 0 { 22 | 23 | for _, r := range resp.SqlInjectionMatchSets { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_wafregional_sql_injection_match_set", 27 | ID: *r.SqlInjectionMatchSetId, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_wafregional_web_acl.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/wafregional" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListWafregionalWebAcl(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Wafregionalconn.ListWebACLs(ctx, &wafregional.ListWebACLsInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.WebACLs) > 0 { 22 | 23 | for _, r := range resp.WebACLs { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_wafregional_web_acl", 27 | ID: *r.WebACLId, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_wafregional_xss_match_set.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/wafregional" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListWafregionalXssMatchSet(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Wafregionalconn.ListXssMatchSets(ctx, &wafregional.ListXssMatchSetsInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.XssMatchSets) > 0 { 22 | 23 | for _, r := range resp.XssMatchSets { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_wafregional_xss_match_set", 27 | ID: *r.XssMatchSetId, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_wafv2_web_acl_logging_configuration.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/wafv2" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListWafv2WebAclLoggingConfiguration(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Wafv2conn.ListLoggingConfigurations(ctx, &wafv2.ListLoggingConfigurationsInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.LoggingConfigurations) > 0 { 22 | 23 | for _, r := range resp.LoggingConfigurations { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_wafv2_web_acl_logging_configuration", 27 | ID: *r.ResourceArn, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_workspaces_directory.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/workspaces" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListWorkspacesDirectory(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := workspaces.NewDescribeWorkspaceDirectoriesPaginator(client.Workspacesconn, &workspaces.DescribeWorkspaceDirectoriesInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Directories { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_workspaces_directory", 27 | ID: *r.DirectoryId, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_workspaces_ip_group.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/workspaces" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListWorkspacesIpGroup(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | resp, err := client.Workspacesconn.DescribeIpGroups(ctx, &workspaces.DescribeIpGroupsInput{}) 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | if len(resp.Result) > 0 { 22 | 23 | for _, r := range resp.Result { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_workspaces_ip_group", 27 | ID: *r.GroupId, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_workspaces_workspace.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/workspaces" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListWorkspacesWorkspace(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := workspaces.NewDescribeWorkspacesPaginator(client.Workspacesconn, &workspaces.DescribeWorkspacesInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Workspaces { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_workspaces_workspace", 27 | ID: *r.WorkspaceId, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /aws/aws_xray_group.go: -------------------------------------------------------------------------------- 1 | // Code is generated. DO NOT EDIT. 2 | 3 | package aws 4 | 5 | import ( 6 | "context" 7 | 8 | "github.com/aws/aws-sdk-go-v2/service/xray" 9 | "github.com/jckuester/awstools-lib/aws" 10 | "github.com/jckuester/awstools-lib/terraform" 11 | ) 12 | 13 | func ListXrayGroup(ctx context.Context, client *aws.Client) ([]terraform.Resource, error) { 14 | var result []terraform.Resource 15 | 16 | p := xray.NewGetGroupsPaginator(client.Xrayconn, &xray.GetGroupsInput{}) 17 | for p.HasMorePages() { 18 | resp, err := p.NextPage(ctx) 19 | if err != nil { 20 | return nil, err 21 | } 22 | 23 | for _, r := range resp.Groups { 24 | 25 | result = append(result, terraform.Resource{ 26 | Type: "aws_xray_group", 27 | ID: *r.GroupARN, 28 | Profile: client.Profile, 29 | Region: client.Region, 30 | AccountID: client.AccountID, 31 | }) 32 | } 33 | } 34 | 35 | return result, nil 36 | } 37 | -------------------------------------------------------------------------------- /before_ci.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | mkdir -p ~/.aws 4 | 5 | # create AWS profile from AWS credential environment variables 6 | cat > ~/.aws/credentials << EOL 7 | [myaccount1] 8 | aws_access_key_id = ${AWS_ACCESS_KEY_ID1} 9 | aws_secret_access_key = ${AWS_SECRET_ACCESS_KEY1} 10 | 11 | [myaccount2] 12 | aws_access_key_id = ${AWS_ACCESS_KEY_ID2} 13 | aws_secret_access_key = ${AWS_SECRET_ACCESS_KEY2} 14 | EOL 15 | 16 | cat > ~/.aws/config << EOL 17 | [profile myaccount1] 18 | region = us-west-2 19 | output = json 20 | 21 | [profile myaccount2] 22 | region = us-east-1 23 | output = json 24 | EOL 25 | 26 | # install Terraform 27 | curl -sLo /tmp/terraform.zip https://releases.hashicorp.com/terraform/0.12.21/terraform_0.12.21_linux_amd64.zip 28 | unzip /tmp/terraform.zip -d /tmp 29 | mkdir -p ~/bin 30 | mv /tmp/terraform ~/bin 31 | export PATH="~/bin:$PATH" 32 | -------------------------------------------------------------------------------- /gen/README.md: -------------------------------------------------------------------------------- 1 | # Code Generator 2 | 3 | Generates Go code to list resources in AWS. 4 | 5 | To generate the code, run 6 | 7 | cd ../resource/ 8 | AWS_PROFILE= AWS_DEFAULT_REGION=us-west-2 go generate -------------------------------------------------------------------------------- /gen/aws/api.go: -------------------------------------------------------------------------------- 1 | //go:build codegen 2 | 3 | package aws 4 | 5 | import ( 6 | "fmt" 7 | 8 | "github.com/aws/aws-sdk-go/private/model/api" 9 | "github.com/pkg/errors" 10 | ) 11 | 12 | // APIs returns the AWS API models loaded by API package name. 13 | func APIs(awsSdkRepoPath string) (api.APIs, error) { 14 | globs := []string{fmt.Sprintf("%s/models/apis/*/*/api-2.json", awsSdkRepoPath)} 15 | 16 | modelPaths, err := api.ExpandModelGlobPath(globs...) 17 | if err != nil { 18 | return nil, errors.Wrap(err, "failed to glob file pattern") 19 | } 20 | modelPaths, _ = api.TrimModelServiceVersions(modelPaths) 21 | 22 | loader := api.Loader{ 23 | IgnoreUnsupportedAPIs: false, 24 | } 25 | 26 | apis, err := loader.Load(modelPaths) 27 | if err != nil { 28 | return nil, errors.Wrap(err, "failed to load API models") 29 | } 30 | if len(apis) == 0 { 31 | return nil, fmt.Errorf("no API models found") 32 | } 33 | 34 | delete(apis, "github.com/aws/aws-sdk-go-v2/service/importexport") 35 | 36 | return apis, nil 37 | } 38 | -------------------------------------------------------------------------------- /gen/aws/readme.go: -------------------------------------------------------------------------------- 1 | //go:build codegen 2 | 3 | package aws 4 | 5 | import ( 6 | "bytes" 7 | "io/ioutil" 8 | "path/filepath" 9 | "strings" 10 | "text/template" 11 | ) 12 | 13 | type readmeData struct { 14 | Services []Service 15 | SupportedResourceTypeCount int 16 | } 17 | 18 | func GenerateReadme(outputPath string, services []Service, numOfResourceTypes int) { 19 | err := ioutil.WriteFile(filepath.Join(outputPath, "README.md"), []byte(readmeCode(services, numOfResourceTypes)), 0664) 20 | if err != nil { 21 | panic(err) 22 | } 23 | } 24 | 25 | func readmeCode(services []Service, numOfResourceTypes int) string { 26 | var buf bytes.Buffer 27 | 28 | tpl := template.Must(template.New("README.tpl.md").ParseFiles("../gen/aws/README.tpl.md")) 29 | 30 | err := tpl.Execute(&buf, readmeData{ 31 | Services: services, 32 | SupportedResourceTypeCount: numOfResourceTypes, 33 | }) 34 | 35 | if err != nil { 36 | panic(err) 37 | } 38 | 39 | return strings.TrimSpace(buf.String()) + "\n" 40 | } 41 | -------------------------------------------------------------------------------- /img/iam.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jckuester/awsls/b8a517a4d77fead8155b6756638f714880d65fd1/img/iam.gif -------------------------------------------------------------------------------- /img/instance.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jckuester/awsls/b8a517a4d77fead8155b6756638f714880d65fd1/img/instance.gif -------------------------------------------------------------------------------- /img/multi-profiles-and-regions.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jckuester/awsls/b8a517a4d77fead8155b6756638f714880d65fd1/img/multi-profiles-and-regions.gif -------------------------------------------------------------------------------- /internal/list_flag.go: -------------------------------------------------------------------------------- 1 | package internal 2 | 3 | import ( 4 | "fmt" 5 | "strings" 6 | ) 7 | 8 | type CommaSeparatedListFlag []string 9 | 10 | func (a *CommaSeparatedListFlag) String() string { 11 | return fmt.Sprint(*a) 12 | } 13 | 14 | // Set is the method to set the flag value, part of the flag.Value interface. 15 | // Set's argument is a string to be parsed to set the flag. 16 | // It's a comma-separated list, so we split it. 17 | func (a *CommaSeparatedListFlag) Set(attributes string) error { 18 | if len(*a) > 0 { 19 | return fmt.Errorf("attributes flag already set") 20 | } 21 | 22 | for _, attr := range strings.Split(attributes, ",") { 23 | *a = append(*a, attr) 24 | } 25 | 26 | return nil 27 | } 28 | 29 | func (a *CommaSeparatedListFlag) Type() string { 30 | return "stringSlice" 31 | } 32 | -------------------------------------------------------------------------------- /internal/semaphore.go: -------------------------------------------------------------------------------- 1 | package internal 2 | 3 | // Semaphore is a thin wrapper around a channel for using it as a semaphore. 4 | type Semaphore chan struct{} 5 | 6 | // NewSemaphore creates a semaphore that allows up to a given limit of 7 | // simultaneous acquisitions. 8 | func NewSemaphore(n int) Semaphore { 9 | if n == 0 { 10 | panic("semaphore with limit 0") 11 | } 12 | 13 | ch := make(chan struct{}, n) 14 | return ch 15 | } 16 | 17 | // Acquire is used to acquire an available slot. Blocks until available. 18 | func (s Semaphore) Acquire() { 19 | s <- struct{}{} 20 | } 21 | 22 | // Release is used to return a slot. Acquire must be called as a pre-condition. 23 | func (s Semaphore) Release() { 24 | select { 25 | case <-s: 26 | default: 27 | panic("release without an acquire") 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /internal/version.go: -------------------------------------------------------------------------------- 1 | package internal 2 | 3 | import ( 4 | "fmt" 5 | "runtime" 6 | ) 7 | 8 | //nolint:gochecknoglobals 9 | var ( 10 | version = "dev" 11 | commit = "?" 12 | date = "?" 13 | ) 14 | 15 | func BuildVersionString() string { 16 | var result = fmt.Sprintf("version: %s", version) 17 | 18 | if commit != "" { 19 | result = fmt.Sprintf("%s\ncommit: %s", result, commit) 20 | } 21 | 22 | if date != "" { 23 | result = fmt.Sprintf("%s\nbuilt at: %s", result, date) 24 | } 25 | 26 | result = fmt.Sprintf("%s\nusing: %s", result, runtime.Version()) 27 | 28 | return result 29 | } 30 | -------------------------------------------------------------------------------- /internal/version_test.go: -------------------------------------------------------------------------------- 1 | package internal_test 2 | 3 | import ( 4 | "runtime" 5 | "testing" 6 | 7 | "github.com/jckuester/awsls/internal" 8 | "github.com/stretchr/testify/assert" 9 | ) 10 | 11 | func TestBuildVersionString(t *testing.T) { 12 | actualVersionString := internal.BuildVersionString() 13 | 14 | assert.Equal(t, actualVersionString, "version: dev\ncommit: ?\nbuilt at: ?\nusing: "+runtime.Version()) 15 | } 16 | -------------------------------------------------------------------------------- /signal_unix.go: -------------------------------------------------------------------------------- 1 | //go:build !windows 2 | // +build !windows 3 | 4 | package main 5 | 6 | import ( 7 | "os" 8 | "syscall" 9 | ) 10 | 11 | var ignoreSignals = []os.Signal{os.Interrupt} 12 | var forwardSignals = []os.Signal{syscall.SIGTERM} 13 | -------------------------------------------------------------------------------- /signal_windows.go: -------------------------------------------------------------------------------- 1 | //go:build windows 2 | // +build windows 3 | 4 | package main 5 | 6 | import ( 7 | "os" 8 | ) 9 | 10 | var ignoreSignals = []os.Signal{os.Interrupt} 11 | var forwardSignals []os.Signal 12 | -------------------------------------------------------------------------------- /test/test-fixtures/aws-config: -------------------------------------------------------------------------------- 1 | [profile1] 2 | region=us-test-1 3 | 4 | [profile2] 5 | region=us-test-2 6 | -------------------------------------------------------------------------------- /test/test-fixtures/multiple-profiles-and-regions/variables.tf: -------------------------------------------------------------------------------- 1 | variable "profile1" { 2 | description = "The named profile for 1st AWS account that will be deployed to" 3 | } 4 | 5 | variable "profile2" { 6 | description = "The named profile for 2nd AWS account that will be deployed to" 7 | } 8 | 9 | variable "region1" { 10 | description = "The 1st AWS region to deploy to" 11 | } 12 | 13 | variable "region2" { 14 | description = "The 2nd AWS region to deploy to" 15 | } 16 | -------------------------------------------------------------------------------- /test/test-fixtures/multiple-resource-types/main.tf: -------------------------------------------------------------------------------- 1 | provider "aws" { 2 | version = "~> 2.0" 3 | 4 | profile = var.profile 5 | region = var.region 6 | } 7 | 8 | terraform { 9 | # The configuration for this backend will be filled in by Terragrunt 10 | backend "s3" { 11 | } 12 | } 13 | 14 | resource "aws_vpc" "test" { 15 | cidr_block = "10.0.0.0/16" 16 | 17 | tags = { 18 | awsls = "test-acc" 19 | } 20 | } 21 | 22 | resource "aws_subnet" "test" { 23 | vpc_id = aws_vpc.test.id 24 | cidr_block = "10.0.1.0/16" 25 | 26 | tags = { 27 | awsls = "test-acc" 28 | } 29 | } -------------------------------------------------------------------------------- /test/test-fixtures/multiple-resource-types/outputs.tf: -------------------------------------------------------------------------------- 1 | output "vpc_id" { 2 | value = aws_vpc.test.id 3 | } 4 | 5 | output "subnet_id" { 6 | value = aws_subnet.test.id 7 | } -------------------------------------------------------------------------------- /test/test-fixtures/multiple-resource-types/variables.tf: -------------------------------------------------------------------------------- 1 | variable "profile" { 2 | description = "The named profile for the AWS account that will be deployed to" 3 | } 4 | 5 | variable "region" { 6 | description = "The AWS region to deploy to" 7 | } 8 | 9 | variable "name" { 10 | description = "The name of test" 11 | } 12 | -------------------------------------------------------------------------------- /test/test-fixtures/tag-attributes/main.tf: -------------------------------------------------------------------------------- 1 | provider "aws" { 2 | version = "~> 2.0" 3 | 4 | profile = var.profile 5 | region = var.region 6 | } 7 | 8 | terraform { 9 | # The configuration for this backend will be filled in by Terragrunt 10 | backend "s3" { 11 | } 12 | } 13 | 14 | resource "aws_vpc" "single_tag" { 15 | cidr_block = "10.0.0.0/16" 16 | 17 | tags = { 18 | foo = "bar" 19 | } 20 | } 21 | 22 | resource "aws_vpc" "multiple_tags" { 23 | cidr_block = "10.0.0.0/16" 24 | 25 | tags = { 26 | foo = "bar" 27 | bar = "baz" 28 | } 29 | } -------------------------------------------------------------------------------- /test/test-fixtures/tag-attributes/outputs.tf: -------------------------------------------------------------------------------- 1 | output "vpc_id_single_tag" { 2 | value = aws_vpc.single_tag.id 3 | } 4 | 5 | output "vpc_id_multiple_tags" { 6 | value = aws_vpc.multiple_tags.id 7 | } -------------------------------------------------------------------------------- /test/test-fixtures/tag-attributes/variables.tf: -------------------------------------------------------------------------------- 1 | variable "profile" { 2 | description = "The named profile for the AWS account that will be deployed to" 3 | } 4 | 5 | variable "region" { 6 | description = "The AWS region to deploy to" 7 | } 8 | 9 | variable "name" { 10 | description = "The name of test" 11 | } 12 | --------------------------------------------------------------------------------