terraback 0.0.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- terraback-0.0.1/LICENSE +120 -0
- terraback-0.0.1/MANIFEST.in +1 -0
- terraback-0.0.1/PKG-INFO +479 -0
- terraback-0.0.1/README.md +391 -0
- terraback-0.0.1/setup.cfg +4 -0
- terraback-0.0.1/setup.py +133 -0
- terraback-0.0.1/terraback/__init__.py +1 -0
- terraback-0.0.1/terraback/_build_info.py +9 -0
- terraback-0.0.1/terraback/cli/__init__.py +0 -0
- terraback-0.0.1/terraback/cli/aws/__init__.py +390 -0
- terraback-0.0.1/terraback/cli/aws/acm/__init__.py +53 -0
- terraback-0.0.1/terraback/cli/aws/acm/certificates.py +117 -0
- terraback-0.0.1/terraback/cli/aws/apigateway/__init__.py +27 -0
- terraback-0.0.1/terraback/cli/aws/apigateway/rest_apis.py +341 -0
- terraback-0.0.1/terraback/cli/aws/autoscaling/__init__.py +107 -0
- terraback-0.0.1/terraback/cli/aws/autoscaling/auto_scaling_groups.py +64 -0
- terraback-0.0.1/terraback/cli/aws/autoscaling/launch_configurations.py +64 -0
- terraback-0.0.1/terraback/cli/aws/autoscaling/scaling_policies.py +91 -0
- terraback-0.0.1/terraback/cli/aws/cloudfront/__init__.py +139 -0
- terraback-0.0.1/terraback/cli/aws/cloudfront/cache_policies.py +94 -0
- terraback-0.0.1/terraback/cli/aws/cloudfront/distributions.py +220 -0
- terraback-0.0.1/terraback/cli/aws/cloudfront/origin_access_controls.py +74 -0
- terraback-0.0.1/terraback/cli/aws/cloudfront/origin_request_policies.py +84 -0
- terraback-0.0.1/terraback/cli/aws/cloudwatch/__init__.py +103 -0
- terraback-0.0.1/terraback/cli/aws/cloudwatch/alarms.py +80 -0
- terraback-0.0.1/terraback/cli/aws/cloudwatch/dashboards.py +63 -0
- terraback-0.0.1/terraback/cli/aws/cloudwatch/log_groups.py +52 -0
- terraback-0.0.1/terraback/cli/aws/ec2/__init__.py +121 -0
- terraback-0.0.1/terraback/cli/aws/ec2/amis.py +42 -0
- terraback-0.0.1/terraback/cli/aws/ec2/instances.py +42 -0
- terraback-0.0.1/terraback/cli/aws/ec2/key_pairs.py +31 -0
- terraback-0.0.1/terraback/cli/aws/ec2/launch_templates.py +34 -0
- terraback-0.0.1/terraback/cli/aws/ec2/network_interfaces.py +34 -0
- terraback-0.0.1/terraback/cli/aws/ec2/snapshots.py +31 -0
- terraback-0.0.1/terraback/cli/aws/ec2/volumes.py +34 -0
- terraback-0.0.1/terraback/cli/aws/ecr/__init__.py +45 -0
- terraback-0.0.1/terraback/cli/aws/ecr/repositories.py +95 -0
- terraback-0.0.1/terraback/cli/aws/ecs/__init__.py +125 -0
- terraback-0.0.1/terraback/cli/aws/ecs/clusters.py +111 -0
- terraback-0.0.1/terraback/cli/aws/ecs/services.py +186 -0
- terraback-0.0.1/terraback/cli/aws/ecs/task_definitions.py +244 -0
- terraback-0.0.1/terraback/cli/aws/efs/__init__.py +116 -0
- terraback-0.0.1/terraback/cli/aws/efs/access_points.py +88 -0
- terraback-0.0.1/terraback/cli/aws/efs/file_systems.py +90 -0
- terraback-0.0.1/terraback/cli/aws/efs/mount_targets.py +65 -0
- terraback-0.0.1/terraback/cli/aws/eips/__init__.py +35 -0
- terraback-0.0.1/terraback/cli/aws/eips/addresses.py +22 -0
- terraback-0.0.1/terraback/cli/aws/elasticache/__init__.py +176 -0
- terraback-0.0.1/terraback/cli/aws/elasticache/memcached_clusters.py +117 -0
- terraback-0.0.1/terraback/cli/aws/elasticache/parameter_groups.py +99 -0
- terraback-0.0.1/terraback/cli/aws/elasticache/redis_clusters.py +114 -0
- terraback-0.0.1/terraback/cli/aws/elasticache/replication_groups.py +127 -0
- terraback-0.0.1/terraback/cli/aws/elasticache/subnet_groups.py +84 -0
- terraback-0.0.1/terraback/cli/aws/elb/__init__.py +36 -0
- terraback-0.0.1/terraback/cli/aws/elb/classic_load_balancers.py +37 -0
- terraback-0.0.1/terraback/cli/aws/elbv2/__init__.py +234 -0
- terraback-0.0.1/terraback/cli/aws/elbv2/classic_load_balancers.py +37 -0
- terraback-0.0.1/terraback/cli/aws/elbv2/listener_rules.py +131 -0
- terraback-0.0.1/terraback/cli/aws/elbv2/listeners.py +64 -0
- terraback-0.0.1/terraback/cli/aws/elbv2/load_balancers.py +77 -0
- terraback-0.0.1/terraback/cli/aws/elbv2/ssl_policies.py +118 -0
- terraback-0.0.1/terraback/cli/aws/elbv2/target_group_attachments.py +107 -0
- terraback-0.0.1/terraback/cli/aws/elbv2/target_groups.py +61 -0
- terraback-0.0.1/terraback/cli/aws/elbv2/waf_associations.py +84 -0
- terraback-0.0.1/terraback/cli/aws/iam/__init__.py +36 -0
- terraback-0.0.1/terraback/cli/aws/iam/policies.py +39 -0
- terraback-0.0.1/terraback/cli/aws/iam/roles.py +25 -0
- terraback-0.0.1/terraback/cli/aws/lambda_func/__init__.py +60 -0
- terraback-0.0.1/terraback/cli/aws/lambda_func/functions.py +60 -0
- terraback-0.0.1/terraback/cli/aws/lambda_func/layers.py +108 -0
- terraback-0.0.1/terraback/cli/aws/rds/__init__.py +102 -0
- terraback-0.0.1/terraback/cli/aws/rds/instances.py +33 -0
- terraback-0.0.1/terraback/cli/aws/rds/parameter_groups.py +43 -0
- terraback-0.0.1/terraback/cli/aws/rds/subnet_groups.py +33 -0
- terraback-0.0.1/terraback/cli/aws/route53/__init__.py +58 -0
- terraback-0.0.1/terraback/cli/aws/route53/records.py +73 -0
- terraback-0.0.1/terraback/cli/aws/route53/zones.py +34 -0
- terraback-0.0.1/terraback/cli/aws/s3/__init__.py +33 -0
- terraback-0.0.1/terraback/cli/aws/s3/buckets.py +54 -0
- terraback-0.0.1/terraback/cli/aws/secretsmanager/__init__.py +89 -0
- terraback-0.0.1/terraback/cli/aws/secretsmanager/secret_versions.py +103 -0
- terraback-0.0.1/terraback/cli/aws/secretsmanager/secrets.py +186 -0
- terraback-0.0.1/terraback/cli/aws/session.py +35 -0
- terraback-0.0.1/terraback/cli/aws/sns/__init__.py +86 -0
- terraback-0.0.1/terraback/cli/aws/sns/sqs.py +75 -0
- terraback-0.0.1/terraback/cli/aws/sns/subscriptions.py +174 -0
- terraback-0.0.1/terraback/cli/aws/sns/topics.py +145 -0
- terraback-0.0.1/terraback/cli/aws/sqs/__init__.py +84 -0
- terraback-0.0.1/terraback/cli/aws/sqs/dead_letter_queues.py +63 -0
- terraback-0.0.1/terraback/cli/aws/sqs/queues.py +166 -0
- terraback-0.0.1/terraback/cli/aws/sqs/sqs.py +160 -0
- terraback-0.0.1/terraback/cli/aws/ssm/__init__.py +119 -0
- terraback-0.0.1/terraback/cli/aws/ssm/documents.py +203 -0
- terraback-0.0.1/terraback/cli/aws/ssm/maintenance_windows.py +161 -0
- terraback-0.0.1/terraback/cli/aws/ssm/parameters.py +180 -0
- terraback-0.0.1/terraback/cli/aws/vpc/__init__.py +201 -0
- terraback-0.0.1/terraback/cli/aws/vpc/internet_gateways.py +62 -0
- terraback-0.0.1/terraback/cli/aws/vpc/nat_gateways.py +67 -0
- terraback-0.0.1/terraback/cli/aws/vpc/route_tables.py +98 -0
- terraback-0.0.1/terraback/cli/aws/vpc/security_groups.py +24 -0
- terraback-0.0.1/terraback/cli/aws/vpc/subnets.py +21 -0
- terraback-0.0.1/terraback/cli/aws/vpc/vpc_endpoints.py +103 -0
- terraback-0.0.1/terraback/cli/aws/vpc/vpcs.py +21 -0
- terraback-0.0.1/terraback/cli/azure/__init__.py +172 -0
- terraback-0.0.1/terraback/cli/azure/compute/__init__.py +91 -0
- terraback-0.0.1/terraback/cli/azure/compute/disks.py +221 -0
- terraback-0.0.1/terraback/cli/azure/compute/ssh_keys.py +16 -0
- terraback-0.0.1/terraback/cli/azure/compute/virtual_machines.py +387 -0
- terraback-0.0.1/terraback/cli/azure/loadbalancer/__init__.py +14 -0
- terraback-0.0.1/terraback/cli/azure/loadbalancer/load_balancers.py +16 -0
- terraback-0.0.1/terraback/cli/azure/network/__init__.py +104 -0
- terraback-0.0.1/terraback/cli/azure/network/nsgs.py +214 -0
- terraback-0.0.1/terraback/cli/azure/network/subnets.py +210 -0
- terraback-0.0.1/terraback/cli/azure/network/vnets.py +198 -0
- terraback-0.0.1/terraback/cli/azure/session.py +87 -0
- terraback-0.0.1/terraback/cli/azure/storage/__init__.py +107 -0
- terraback-0.0.1/terraback/cli/azure/storage/storage_accounts.py +257 -0
- terraback-0.0.1/terraback/cli/commands/__init__.py +1 -0
- terraback-0.0.1/terraback/cli/commands/analyse.py +126 -0
- terraback-0.0.1/terraback/cli/commands/clean.py +49 -0
- terraback-0.0.1/terraback/cli/commands/list.py +54 -0
- terraback-0.0.1/terraback/cli/gcp/__init__.py +371 -0
- terraback-0.0.1/terraback/cli/gcp/compute/__init__.py +41 -0
- terraback-0.0.1/terraback/cli/gcp/compute/disks.py +187 -0
- terraback-0.0.1/terraback/cli/gcp/compute/images.py +57 -0
- terraback-0.0.1/terraback/cli/gcp/compute/instances.py +241 -0
- terraback-0.0.1/terraback/cli/gcp/compute/networks.py +138 -0
- terraback-0.0.1/terraback/cli/gcp/network/__init__.py +87 -0
- terraback-0.0.1/terraback/cli/gcp/network/firewalls.py +172 -0
- terraback-0.0.1/terraback/cli/gcp/network/networks.py +138 -0
- terraback-0.0.1/terraback/cli/gcp/network/subnets.py +193 -0
- terraback-0.0.1/terraback/cli/gcp/session.py +42 -0
- terraback-0.0.1/terraback/cli/gcp/storage/__init__.py +56 -0
- terraback-0.0.1/terraback/cli/gcp/storage/buckets.py +197 -0
- terraback-0.0.1/terraback/cli/main.py +346 -0
- terraback-0.0.1/terraback/core/__init__.py +0 -0
- terraback-0.0.1/terraback/core/license.py +337 -0
- terraback-0.0.1/terraback/templates/aws/caching/elasticache_memcached_cluster.tf.j2 +69 -0
- terraback-0.0.1/terraback/templates/aws/caching/elasticache_parameter_group.tf.j2 +27 -0
- terraback-0.0.1/terraback/templates/aws/caching/elasticache_redis_cluster.tf.j2 +69 -0
- terraback-0.0.1/terraback/templates/aws/caching/elasticache_replication_group.tf.j2 +136 -0
- terraback-0.0.1/terraback/templates/aws/caching/elasticache_subnet_group.tf.j2 +24 -0
- terraback-0.0.1/terraback/templates/aws/cdn/cloudfront_cache_policy.tf.j2 +77 -0
- terraback-0.0.1/terraback/templates/aws/cdn/cloudfront_distribution.tf.j2 +328 -0
- terraback-0.0.1/terraback/templates/aws/cdn/cloudfront_origin_access_control.tf.j2 +13 -0
- terraback-0.0.1/terraback/templates/aws/cdn/cloudfront_origin_request_policy.tf.j2 +55 -0
- terraback-0.0.1/terraback/templates/aws/compute/amis.tf.j2 +15 -0
- terraback-0.0.1/terraback/templates/aws/compute/autoscaling_group.tf.j2 +105 -0
- terraback-0.0.1/terraback/templates/aws/compute/autoscaling_policy.tf.j2 +78 -0
- terraback-0.0.1/terraback/templates/aws/compute/ec2.tf.j2 +54 -0
- terraback-0.0.1/terraback/templates/aws/compute/lambda_function.tf.j2 +42 -0
- terraback-0.0.1/terraback/templates/aws/compute/launch_configuration.tf.j2 +77 -0
- terraback-0.0.1/terraback/templates/aws/compute/launch_template.tf.j2 +80 -0
- terraback-0.0.1/terraback/templates/aws/container/ecr_repository.tf.j2 +44 -0
- terraback-0.0.1/terraback/templates/aws/container/ecs_cluster.tf.j2 +83 -0
- terraback-0.0.1/terraback/templates/aws/container/ecs_service.tf.j2 +157 -0
- terraback-0.0.1/terraback/templates/aws/database/rds_instance.tf.j2 +23 -0
- terraback-0.0.1/terraback/templates/aws/database/rds_parameter_group.tf.j2 +21 -0
- terraback-0.0.1/terraback/templates/aws/database/rds_subnet_group.tf.j2 +18 -0
- terraback-0.0.1/terraback/templates/aws/dns/route53_record.tf.j2 +31 -0
- terraback-0.0.1/terraback/templates/aws/dns/route53_zone.tf.j2 +6 -0
- terraback-0.0.1/terraback/templates/aws/integration/api_gateway_deployment.tf.j2 +21 -0
- terraback-0.0.1/terraback/templates/aws/integration/api_gateway_integration.tf.j2 +16 -0
- terraback-0.0.1/terraback/templates/aws/integration/api_gateway_method.tf.j2 +9 -0
- terraback-0.0.1/terraback/templates/aws/integration/api_gateway_resource.tf.j2 +9 -0
- terraback-0.0.1/terraback/templates/aws/integration/api_gateway_rest_api.tf.j2 +82 -0
- terraback-0.0.1/terraback/templates/aws/integration/api_gateway_stage.tf.j2 +9 -0
- terraback-0.0.1/terraback/templates/aws/integration/lambda_permission.tf.j2 +16 -0
- terraback-0.0.1/terraback/templates/aws/management/ssm_document.tf.j2 +39 -0
- terraback-0.0.1/terraback/templates/aws/management/ssm_maintenance_window.tf.j2 +112 -0
- terraback-0.0.1/terraback/templates/aws/management/ssm_parameter.tf.j2 +47 -0
- terraback-0.0.1/terraback/templates/aws/messaging/sns_subscription.tf.j2 +38 -0
- terraback-0.0.1/terraback/templates/aws/messaging/sns_topic.tf.j2 +47 -0
- terraback-0.0.1/terraback/templates/aws/messaging/sqs_queue.tf.j2 +53 -0
- terraback-0.0.1/terraback/templates/aws/monitoring/cloudwatch_alarm.tf.j2 +105 -0
- terraback-0.0.1/terraback/templates/aws/monitoring/cloudwatch_dashboard.tf.j2 +7 -0
- terraback-0.0.1/terraback/templates/aws/monitoring/cloudwatch_log_group.tf.j2 +19 -0
- terraback-0.0.1/terraback/templates/aws/networking/classic_load_balancer.tf.j2 +46 -0
- terraback-0.0.1/terraback/templates/aws/networking/eips.tf.j2 +19 -0
- terraback-0.0.1/terraback/templates/aws/networking/elbv2_listener.tf.j2 +164 -0
- terraback-0.0.1/terraback/templates/aws/networking/elbv2_listener_rule.tf.j2 +181 -0
- terraback-0.0.1/terraback/templates/aws/networking/elbv2_load_balancer.tf.j2 +114 -0
- terraback-0.0.1/terraback/templates/aws/networking/elbv2_ssl_policy.tf.j2 +36 -0
- terraback-0.0.1/terraback/templates/aws/networking/elbv2_target_group.tf.j2 +97 -0
- terraback-0.0.1/terraback/templates/aws/networking/elbv2_target_group_attachments.tf.j2 +22 -0
- terraback-0.0.1/terraback/templates/aws/networking/internet_gateway.tf.j2 +18 -0
- terraback-0.0.1/terraback/templates/aws/networking/nat_gateway.tf.j2 +26 -0
- terraback-0.0.1/terraback/templates/aws/networking/network_interfaces.tf.j2 +50 -0
- terraback-0.0.1/terraback/templates/aws/networking/route_table.tf.j2 +75 -0
- terraback-0.0.1/terraback/templates/aws/networking/security_groups.tf.j2 +44 -0
- terraback-0.0.1/terraback/templates/aws/networking/subnets.tf.j2 +21 -0
- terraback-0.0.1/terraback/templates/aws/networking/vpc.tf.j2 +14 -0
- terraback-0.0.1/terraback/templates/aws/networking/vpc_endpoint.tf.j2 +49 -0
- terraback-0.0.1/terraback/templates/aws/networking/wafv2_web_acl_association.tf.j2 +6 -0
- terraback-0.0.1/terraback/templates/aws/security/acm_certificate.tf.j2 +89 -0
- terraback-0.0.1/terraback/templates/aws/security/iam_policies.tf.j2 +11 -0
- terraback-0.0.1/terraback/templates/aws/security/iam_roles.tf.j2 +18 -0
- terraback-0.0.1/terraback/templates/aws/security/key_pairs.tf.j2 +16 -0
- terraback-0.0.1/terraback/templates/aws/security/secretsmanager_secret.tf.j2 +90 -0
- terraback-0.0.1/terraback/templates/aws/security/secretsmanager_secret_version.tf.j2 +23 -0
- terraback-0.0.1/terraback/templates/aws/security/ssm_document.tf.j2 +59 -0
- terraback-0.0.1/terraback/templates/aws/security/ssm_maintenance_window.tf.j2 +159 -0
- terraback-0.0.1/terraback/templates/aws/security/ssm_parameter.tf.j2 +58 -0
- terraback-0.0.1/terraback/templates/aws/serverless/lambda_layer_version.tf.j2 +22 -0
- terraback-0.0.1/terraback/templates/aws/storage/ebs_snapshot.tf.j2 +34 -0
- terraback-0.0.1/terraback/templates/aws/storage/ecs_task_definition.tf.j2 +343 -0
- terraback-0.0.1/terraback/templates/aws/storage/efs_access_point.tf.j2 +41 -0
- terraback-0.0.1/terraback/templates/aws/storage/efs_file_system.tf.j2 +57 -0
- terraback-0.0.1/terraback/templates/aws/storage/efs_mount_target.tf.j2 +22 -0
- terraback-0.0.1/terraback/templates/aws/storage/s3_bucket.tf.j2 +29 -0
- terraback-0.0.1/terraback/templates/aws/storage/volumes.tf.j2 +32 -0
- terraback-0.0.1/terraback/templates/azure/compute/azure_managed_disk.tf.j2 +105 -0
- terraback-0.0.1/terraback/templates/azure/compute/azure_virtual_machine.tf.j2 +139 -0
- terraback-0.0.1/terraback/templates/azure/compute/virtual_machine.tf.j2 +111 -0
- terraback-0.0.1/terraback/templates/azure/network/azure_network_security_group.tf.j2 +73 -0
- terraback-0.0.1/terraback/templates/azure/network/azure_subnet.tf.j2 +72 -0
- terraback-0.0.1/terraback/templates/azure/network/azure_virtual_network.tf.j2 +44 -0
- terraback-0.0.1/terraback/templates/azure/network/vnet_import.json.tf.j2 +0 -0
- terraback-0.0.1/terraback/templates/azure/networking/azure_network_security_group.tf.j2 +77 -0
- terraback-0.0.1/terraback/templates/azure/networking/azure_subnet.tf.j2 +76 -0
- terraback-0.0.1/terraback/templates/azure/storage/azure_storage_account.tf.j2 +120 -0
- terraback-0.0.1/terraback/templates/azure/storage/storage_account.tf.j2 +15 -0
- terraback-0.0.1/terraback/templates/azure/storage/storage_account_import.json.j2 +12 -0
- terraback-0.0.1/terraback/templates/gcp/compute/gcp_disk.tf.j2 +35 -0
- terraback-0.0.1/terraback/templates/gcp/gcp_instance.tf.j2 +65 -0
- terraback-0.0.1/terraback/templates/gcp/network/gcp_firewall.tf.j2 +68 -0
- terraback-0.0.1/terraback/templates/gcp/network/gcp_network.tf.j2 +23 -0
- terraback-0.0.1/terraback/templates/gcp/network/gcp_subnet.tf.j2 +46 -0
- terraback-0.0.1/terraback/templates/gcp/storage/gcp_bucket.tf.j2 +97 -0
- terraback-0.0.1/terraback/terraform_generator/__init__.py +1 -0
- terraback-0.0.1/terraback/terraform_generator/imports.py +57 -0
- terraback-0.0.1/terraback/terraform_generator/writer.py +192 -0
- terraback-0.0.1/terraback/tests/__init__.py +0 -0
- terraback-0.0.1/terraback/tests/integration/__init__.py +0 -0
- terraback-0.0.1/terraback/tests/integration/test_vpc_scanner.py +74 -0
- terraback-0.0.1/terraback/tests/unit/__init__.py +0 -0
- terraback-0.0.1/terraback/tests/unit/test_cross_scan_registry.py +102 -0
- terraback-0.0.1/terraback.egg-info/PKG-INFO +479 -0
- terraback-0.0.1/terraback.egg-info/SOURCES.txt +241 -0
- terraback-0.0.1/terraback.egg-info/dependency_links.txt +1 -0
- terraback-0.0.1/terraback.egg-info/entry_points.txt +2 -0
- terraback-0.0.1/terraback.egg-info/requires.txt +56 -0
- terraback-0.0.1/terraback.egg-info/top_level.txt +1 -0
terraback-0.0.1/LICENSE
ADDED
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
# Terraback Licensing
|
|
2
|
+
|
|
3
|
+
This project uses a multi-tier licensing model designed to support different use cases, from individual developers to enterprise teams.
|
|
4
|
+
|
|
5
|
+
## Community Edition (MIT License)
|
|
6
|
+
|
|
7
|
+
The Community Edition of Terraback is free and open source, perfect for individuals, students, and small projects.
|
|
8
|
+
|
|
9
|
+
### MIT License
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
MIT License
|
|
13
|
+
|
|
14
|
+
Copyright (c) 2025 Bogdan Moldovan
|
|
15
|
+
|
|
16
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
17
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
18
|
+
in the Software without restriction, including without limitation the rights
|
|
19
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
20
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
21
|
+
furnished to do so, subject to the following conditions:
|
|
22
|
+
|
|
23
|
+
The above copyright notice and this permission notice shall be included in all
|
|
24
|
+
copies or substantial portions of the Software.
|
|
25
|
+
|
|
26
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
27
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
28
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
29
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
30
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
31
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
32
|
+
SOFTWARE.
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Commercial Editions
|
|
36
|
+
|
|
37
|
+
### Migration Pass ($149 - One-Time)
|
|
38
|
+
|
|
39
|
+
Perfect for consultants and teams with one-time migration projects.
|
|
40
|
+
- **Duration**: 60 days from activation
|
|
41
|
+
- **Users**: Single user/machine
|
|
42
|
+
- **Features**: Full access to all scanning and import features
|
|
43
|
+
- **Support**: Community support via GitHub
|
|
44
|
+
|
|
45
|
+
### Professional Edition ($49/user/month or $499/user/year)
|
|
46
|
+
|
|
47
|
+
Designed for DevOps teams who need ongoing infrastructure management.
|
|
48
|
+
- **Duration**: Monthly or annual subscription
|
|
49
|
+
- **Users**: Per-user licensing with authentication
|
|
50
|
+
- **Features**: Everything in Migration Pass, plus drift detection and monitoring
|
|
51
|
+
- **Support**: Priority email support
|
|
52
|
+
|
|
53
|
+
### Enterprise Edition (Custom Pricing)
|
|
54
|
+
|
|
55
|
+
For large organizations with specific requirements.
|
|
56
|
+
- **Duration**: Annual contracts
|
|
57
|
+
- **Users**: Flexible site licensing
|
|
58
|
+
- **Features**: Everything in Professional, plus SSO, on-premise deployment
|
|
59
|
+
- **Support**: Premium support with SLA
|
|
60
|
+
|
|
61
|
+
## Feature Comparison
|
|
62
|
+
|
|
63
|
+
| Feature | Community | Migration Pass | Professional | Enterprise |
|
|
64
|
+
|------------------------------------------|:---------:|:--------------:|:------------:|:----------:|
|
|
65
|
+
| **Core Features** | | | | |
|
|
66
|
+
| Basic Resource Scanning (EC2, VPC, S3) | ✅ | ✅ | ✅ | ✅ |
|
|
67
|
+
| CLI with `list` & `import` helpers | ✅ | ✅ | ✅ | ✅ |
|
|
68
|
+
| Resource Limit | 100/scan | Unlimited | Unlimited | Unlimited |
|
|
69
|
+
| **Advanced Scanning** | | | | |
|
|
70
|
+
| RDS & Database Resources | ❌ | ✅ | ✅ | ✅ |
|
|
71
|
+
| Load Balancers (ALB/NLB/CLB) | ❌ | ✅ | ✅ | ✅ |
|
|
72
|
+
| Lambda & API Gateway | ❌ | ✅ | ✅ | ✅ |
|
|
73
|
+
| Route 53 & DNS | ❌ | ✅ | ✅ | ✅ |
|
|
74
|
+
| IAM Roles & Policies | ❌ | ✅ | ✅ | ✅ |
|
|
75
|
+
| Full Dependency Analysis | ❌ | ✅ | ✅ | ✅ |
|
|
76
|
+
| Cross-Account Scanning | ❌ | ❌ | ✅ | ✅ |
|
|
77
|
+
| **Ongoing Features** | | | | |
|
|
78
|
+
| Infrastructure Drift Detection | ❌ | ❌ | ✅ | ✅ |
|
|
79
|
+
| Scheduled Scans & Alerts | ❌ | ❌ | ✅ | ✅ |
|
|
80
|
+
| Web Dashboard | ❌ | ❌ | ✅ | ✅ |
|
|
81
|
+
| Compliance Reporting | ❌ | ❌ | ✅ | ✅ |
|
|
82
|
+
| **Enterprise Features** | | | | |
|
|
83
|
+
| Single Sign-On (SSO) | ❌ | ❌ | ❌ | ✅ |
|
|
84
|
+
| On-Premise Deployment | ❌ | ❌ | ❌ | ✅ |
|
|
85
|
+
| Custom Resource Scanners | ❌ | ❌ | ❌ | ✅ |
|
|
86
|
+
| API Access | ❌ | ❌ | ❌ | ✅ |
|
|
87
|
+
| **Support & Updates** | | | | |
|
|
88
|
+
| Community Support | ✅ | ✅ | ✅ | ✅ |
|
|
89
|
+
| Email Support | ❌ | ❌ | ✅ | ✅ |
|
|
90
|
+
| Priority Support & SLA | ❌ | ❌ | ❌ | ✅ |
|
|
91
|
+
| Automatic Updates | ✅ | ✅ | ✅ | ✅ |
|
|
92
|
+
|
|
93
|
+
## License Activation
|
|
94
|
+
|
|
95
|
+
### Community Edition
|
|
96
|
+
No activation required. Install and use immediately:
|
|
97
|
+
```bash
|
|
98
|
+
pip install terraback
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### Migration Pass & Professional
|
|
102
|
+
After purchase, activate your license:
|
|
103
|
+
```bash
|
|
104
|
+
terraback activate --license-key=XXXX-XXXX-XXXX-XXXX
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### Enterprise Edition
|
|
108
|
+
Custom deployment and activation process. Contact sales for details.
|
|
109
|
+
|
|
110
|
+
## Purchasing
|
|
111
|
+
|
|
112
|
+
- **Migration Pass**: Purchase at [terraback.io/purchase](https://terraback.io/purchase)
|
|
113
|
+
- **Professional**: Subscribe at [terraback.io/subscribe](https://terraback.io/subscribe)
|
|
114
|
+
- **Enterprise**: Contact sales@terraback.io
|
|
115
|
+
|
|
116
|
+
## Questions?
|
|
117
|
+
|
|
118
|
+
- **Sales**: sales@terraback.io
|
|
119
|
+
- **Support**: support@terraback.io
|
|
120
|
+
- **Community**: [GitHub Discussions](https://github.com/terraback/terraback/discussions)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
recursive-include terraback/templates *.j2
|
terraback-0.0.1/PKG-INFO
ADDED
|
@@ -0,0 +1,479 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: terraback
|
|
3
|
+
Version: 0.0.1
|
|
4
|
+
Summary: Multi-Cloud Infrastructure as Code - Community Edition
|
|
5
|
+
Home-page: https://github.com/bmoldo/terraback
|
|
6
|
+
Author: Reops Tech
|
|
7
|
+
Author-email: hello@terraback.io
|
|
8
|
+
Project-URL: Bug Reports, https://github.com/bmoldo/terraback/issues
|
|
9
|
+
Project-URL: Source, https://github.com/bmoldo/terraback
|
|
10
|
+
Project-URL: Website, https://www.terraback.dev.io
|
|
11
|
+
Classifier: Development Status :: 3 - Alpha
|
|
12
|
+
Classifier: Intended Audience :: Developers
|
|
13
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
14
|
+
Classifier: Operating System :: OS Independent
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
20
|
+
Requires-Python: >=3.8
|
|
21
|
+
Description-Content-Type: text/markdown
|
|
22
|
+
License-File: LICENSE
|
|
23
|
+
Requires-Dist: boto3==1.38.21
|
|
24
|
+
Requires-Dist: botocore==1.38.21
|
|
25
|
+
Requires-Dist: azure-identity==1.15.0
|
|
26
|
+
Requires-Dist: azure-mgmt-resource==23.1.0
|
|
27
|
+
Requires-Dist: azure-mgmt-compute==31.0.0
|
|
28
|
+
Requires-Dist: azure-mgmt-network==27.0.0
|
|
29
|
+
Requires-Dist: azure-mgmt-storage==21.2.0
|
|
30
|
+
Requires-Dist: azure-mgmt-web==7.3.0
|
|
31
|
+
Requires-Dist: azure-mgmt-sql==3.0.1
|
|
32
|
+
Requires-Dist: azure-mgmt-keyvault==10.3.0
|
|
33
|
+
Requires-Dist: azure-mgmt-monitor==6.0.0
|
|
34
|
+
Requires-Dist: azure-core==1.30.0
|
|
35
|
+
Requires-Dist: click==8.1.8
|
|
36
|
+
Requires-Dist: typer==0.15.4
|
|
37
|
+
Requires-Dist: colorama==0.4.6
|
|
38
|
+
Requires-Dist: rich==14.0.0
|
|
39
|
+
Requires-Dist: Pygments==2.19.1
|
|
40
|
+
Requires-Dist: Jinja2==3.1.6
|
|
41
|
+
Requires-Dist: MarkupSafe==3.0.2
|
|
42
|
+
Requires-Dist: jmespath==1.0.1
|
|
43
|
+
Requires-Dist: markdown-it-py==3.0.0
|
|
44
|
+
Requires-Dist: mdurl==0.1.2
|
|
45
|
+
Requires-Dist: python-dateutil==2.9.0.post0
|
|
46
|
+
Requires-Dist: shellingham==1.5.4
|
|
47
|
+
Requires-Dist: six==1.17.0
|
|
48
|
+
Requires-Dist: typing_extensions==4.13.2
|
|
49
|
+
Requires-Dist: urllib3<2.0,>=1.26.0
|
|
50
|
+
Requires-Dist: s3transfer==0.12.0
|
|
51
|
+
Requires-Dist: google-cloud-compute==1.14.0
|
|
52
|
+
Requires-Dist: google-cloud-storage==2.10.0
|
|
53
|
+
Requires-Dist: google-cloud-resource-manager==1.10.0
|
|
54
|
+
Requires-Dist: google-auth==2.23.0
|
|
55
|
+
Provides-Extra: aws
|
|
56
|
+
Requires-Dist: boto3>=1.38.21; extra == "aws"
|
|
57
|
+
Requires-Dist: botocore>=1.38.21; extra == "aws"
|
|
58
|
+
Requires-Dist: s3transfer>=0.12.0; extra == "aws"
|
|
59
|
+
Provides-Extra: azure
|
|
60
|
+
Requires-Dist: azure-identity>=1.15.0; extra == "azure"
|
|
61
|
+
Requires-Dist: azure-mgmt-resource>=23.1.0; extra == "azure"
|
|
62
|
+
Requires-Dist: azure-mgmt-compute>=31.0.0; extra == "azure"
|
|
63
|
+
Requires-Dist: azure-mgmt-network>=27.0.0; extra == "azure"
|
|
64
|
+
Requires-Dist: azure-mgmt-storage>=21.2.0; extra == "azure"
|
|
65
|
+
Requires-Dist: azure-mgmt-web>=7.3.0; extra == "azure"
|
|
66
|
+
Requires-Dist: azure-mgmt-sql>=4.0.0; extra == "azure"
|
|
67
|
+
Requires-Dist: azure-mgmt-keyvault>=10.3.0; extra == "azure"
|
|
68
|
+
Requires-Dist: azure-mgmt-monitor>=6.0.0; extra == "azure"
|
|
69
|
+
Requires-Dist: azure-core>=1.30.0; extra == "azure"
|
|
70
|
+
Provides-Extra: dev
|
|
71
|
+
Requires-Dist: pytest>=7.0.0; extra == "dev"
|
|
72
|
+
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
|
|
73
|
+
Requires-Dist: black>=23.0.0; extra == "dev"
|
|
74
|
+
Requires-Dist: flake8>=6.0.0; extra == "dev"
|
|
75
|
+
Requires-Dist: mypy>=1.0.0; extra == "dev"
|
|
76
|
+
Dynamic: author
|
|
77
|
+
Dynamic: author-email
|
|
78
|
+
Dynamic: classifier
|
|
79
|
+
Dynamic: description
|
|
80
|
+
Dynamic: description-content-type
|
|
81
|
+
Dynamic: home-page
|
|
82
|
+
Dynamic: license-file
|
|
83
|
+
Dynamic: project-url
|
|
84
|
+
Dynamic: provides-extra
|
|
85
|
+
Dynamic: requires-dist
|
|
86
|
+
Dynamic: requires-python
|
|
87
|
+
Dynamic: summary
|
|
88
|
+
|
|
89
|
+
# 🚀 Terraback
|
|
90
|
+
|
|
91
|
+
**Enterprise Infrastructure Discovery Platform**
|
|
92
|
+
|
|
93
|
+
Terraback is an advanced CLI tool that reverse-engineers existing cloud infrastructure into clean, production-ready Terraform code with intelligent dependency discovery.
|
|
94
|
+
|
|
95
|
+
**Transform legacy cloud environments into infrastructure-as-code in minutes, not months.**
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## ✨ Why Terraback?
|
|
100
|
+
|
|
101
|
+
- **🎯 90% Faster**: Reduce infrastructure documentation time from weeks to hours
|
|
102
|
+
- **🧠 Intelligent Discovery**: Automatic dependency mapping across 50+ cloud services
|
|
103
|
+
- **🏢 Enterprise-Grade**: Production-ready templates with lifecycle management
|
|
104
|
+
- **☁️ Multi-Cloud**: Full support for AWS and Azure, with GCP coming soon
|
|
105
|
+
- **🔒 Security-First**: Read-only permissions, no credential storage, enterprise compliance
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## 🌟 Features
|
|
110
|
+
|
|
111
|
+
### 📊 Comprehensive Cloud Coverage
|
|
112
|
+
|
|
113
|
+
**Core Infrastructure (Community Edition - Free):**
|
|
114
|
+
|
|
115
|
+
- **AWS**: EC2 Instances, VPCs, Subnets, Security Groups, S3 Buckets, IAM Roles
|
|
116
|
+
- **Azure**: Virtual Machines, Virtual Networks, Subnets, Network Security Groups, Storage Accounts
|
|
117
|
+
- **Basic Commands**: list, import, scan (limited to 100 resources)
|
|
118
|
+
|
|
119
|
+
**Advanced Services (Professional Edition):**
|
|
120
|
+
|
|
121
|
+
**AWS Services:**
|
|
122
|
+
- **Container Platform**: ECS Clusters, Services, Task Definitions, ECR Repositories
|
|
123
|
+
- **Advanced Networking**: CloudFront CDN, Route 53 DNS, NAT/Internet Gateways, VPC Endpoints
|
|
124
|
+
- **Database & Caching**: RDS instances, ElastiCache Redis/Memcached clusters
|
|
125
|
+
- **Monitoring & Security**: CloudWatch, Auto Scaling, ACM Certificates
|
|
126
|
+
- **Serverless & APIs**: Lambda Functions, API Gateway, SQS, SNS
|
|
127
|
+
- **Storage**: EFS, EBS Volumes/Snapshots, S3 advanced features
|
|
128
|
+
- **Load Balancing**: ALB/NLB with advanced features, listener rules, SSL policies
|
|
129
|
+
|
|
130
|
+
**Azure Services:**
|
|
131
|
+
- **Compute**: Virtual Machines with OS detection, Managed Disks, SSH Keys
|
|
132
|
+
- **Networking**: Virtual Networks, Subnets with delegations, NSGs with rules
|
|
133
|
+
- **Storage**: Storage Accounts with blob properties, static websites, encryption
|
|
134
|
+
- **Load Balancing**: Application Gateway, Load Balancers (coming soon)
|
|
135
|
+
- **Database**: Azure SQL, Cosmos DB (coming soon)
|
|
136
|
+
- **Container**: AKS, Container Instances (coming soon)
|
|
137
|
+
|
|
138
|
+
### 🔗 Intelligent Dependency Discovery
|
|
139
|
+
|
|
140
|
+
The `--with-deps` flag automatically discovers and maps complete infrastructure stacks:
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
# AWS Example
|
|
144
|
+
terraback ec2 scan --with-deps
|
|
145
|
+
# Automatically finds and scans:
|
|
146
|
+
# ├── VPC and networking (subnets, security groups)
|
|
147
|
+
# ├── Load balancers (ALB, target groups, listeners)
|
|
148
|
+
# ├── Storage (EBS volumes, snapshots)
|
|
149
|
+
# ├── Security (IAM roles, certificates)
|
|
150
|
+
# ├── Monitoring (CloudWatch logs, alarms)
|
|
151
|
+
# └── All interconnected dependencies
|
|
152
|
+
|
|
153
|
+
# Azure Example
|
|
154
|
+
terraback vm scan --with-deps
|
|
155
|
+
# Automatically finds and scans:
|
|
156
|
+
# ├── Virtual Networks and Subnets
|
|
157
|
+
# ├── Network Security Groups with rules
|
|
158
|
+
# ├── Managed Disks and Snapshots
|
|
159
|
+
# ├── Network Interfaces and Public IPs
|
|
160
|
+
# ├── Storage Accounts
|
|
161
|
+
# └── All interconnected dependencies
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### 🚀 Advanced Features
|
|
165
|
+
|
|
166
|
+
- **Performance Optimization**: API response caching, parallel scanning, smart dependency resolution
|
|
167
|
+
- **Multi-Account/Subscription**: Scan across multiple AWS accounts or Azure subscriptions
|
|
168
|
+
- **Module Generation**: Create reusable Terraform modules automatically
|
|
169
|
+
- **State Management**: Import existing resources directly into Terraform state
|
|
170
|
+
- **Compliance Ready**: Generate code following HashiCorp and cloud provider best practices
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
## 📦 Installation
|
|
175
|
+
|
|
176
|
+
### Prerequisites
|
|
177
|
+
- Python 3.8+ (for pip installation)
|
|
178
|
+
- Terraform 1.0+ (for import functionality)
|
|
179
|
+
- Cloud CLI tools:
|
|
180
|
+
- AWS: `aws` CLI configured
|
|
181
|
+
- Azure: `az` CLI configured and logged in
|
|
182
|
+
|
|
183
|
+
### Install via pip (Recommended)
|
|
184
|
+
|
|
185
|
+
```bash
|
|
186
|
+
pip install terraback
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
### Install via Binary
|
|
190
|
+
|
|
191
|
+
**Linux/macOS:**
|
|
192
|
+
```bash
|
|
193
|
+
# Linux
|
|
194
|
+
curl -L https://dist.terraback.dev.io/releases/latest/terraback-linux -o terraback
|
|
195
|
+
chmod +x terraback
|
|
196
|
+
sudo mv terraback /usr/local/bin/
|
|
197
|
+
|
|
198
|
+
# macOS
|
|
199
|
+
curl -L https://dist.terraback.dev.io/releases/latest/terraback-macos -o terraback
|
|
200
|
+
chmod +x terraback
|
|
201
|
+
sudo mv terraback /usr/local/bin/
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
**Windows:**
|
|
205
|
+
Download from [releases](https://dist.terraback.dev.io/releases/latest/terraback-windows.exe)
|
|
206
|
+
|
|
207
|
+
---
|
|
208
|
+
|
|
209
|
+
## 🚀 Quick Start
|
|
210
|
+
|
|
211
|
+
### AWS Scanning
|
|
212
|
+
|
|
213
|
+
```bash
|
|
214
|
+
# Configure AWS credentials (if not already done)
|
|
215
|
+
aws configure
|
|
216
|
+
|
|
217
|
+
# Scan EC2 instances
|
|
218
|
+
terraback ec2 scan
|
|
219
|
+
|
|
220
|
+
# Scan VPC with all dependencies
|
|
221
|
+
terraback vpc scan --with-deps
|
|
222
|
+
|
|
223
|
+
# Scan specific region
|
|
224
|
+
terraback ec2 scan --region eu-west-1
|
|
225
|
+
|
|
226
|
+
# Scan with specific profile
|
|
227
|
+
terraback s3 scan --profile production
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
### Azure Scanning
|
|
231
|
+
|
|
232
|
+
```bash
|
|
233
|
+
# Login to Azure (if not already done)
|
|
234
|
+
az login
|
|
235
|
+
|
|
236
|
+
# Scan Virtual Machines
|
|
237
|
+
terraback vm scan
|
|
238
|
+
|
|
239
|
+
# Scan entire resource group
|
|
240
|
+
terraback vm scan --resource-group production-rg
|
|
241
|
+
|
|
242
|
+
# Scan specific subscription
|
|
243
|
+
terraback vnet scan --subscription-id YOUR-SUBSCRIPTION-ID
|
|
244
|
+
|
|
245
|
+
# Scan with location filter
|
|
246
|
+
terraback storage scan --location westeurope
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
### Multi-Cloud Commands
|
|
250
|
+
|
|
251
|
+
```bash
|
|
252
|
+
# Scan all resources (cloud-specific)
|
|
253
|
+
terraback scan-all aws --region us-east-1
|
|
254
|
+
terraback scan-all azure --resource-group my-rg
|
|
255
|
+
|
|
256
|
+
# Check authentication status
|
|
257
|
+
terraback auth-check
|
|
258
|
+
|
|
259
|
+
# Use caching for large infrastructures
|
|
260
|
+
terraback scan-recursive ec2 --use-cache --cache-ttl 120
|
|
261
|
+
terraback scan-recursive vm --use-cache --parallel-workers 10
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
---
|
|
265
|
+
|
|
266
|
+
## 📋 Supported Resources
|
|
267
|
+
|
|
268
|
+
### AWS Resources (Full Support)
|
|
269
|
+
|
|
270
|
+
| Service | Resources | Status |
|
|
271
|
+
|---------|-----------|---------|
|
|
272
|
+
| **EC2** | Instances, Volumes, Snapshots, AMIs, Key Pairs, Launch Templates, Network Interfaces | ✅ Full Support |
|
|
273
|
+
| **VPC** | VPCs, Subnets, Security Groups, Internet/NAT Gateways, Route Tables, VPC Endpoints | ✅ Full Support |
|
|
274
|
+
| **IAM** | Roles, Policies, Instance Profiles | ✅ Full Support |
|
|
275
|
+
| **S3** | Buckets, Versioning, Lifecycle, ACLs, Policies | ✅ Full Support |
|
|
276
|
+
| **RDS** | Instances, Subnet Groups, Parameter Groups | ✅ Full Support |
|
|
277
|
+
| **Load Balancing** | ALB, NLB, CLB, Target Groups, Listeners, SSL Policies | ✅ Full Support |
|
|
278
|
+
| **Lambda** | Functions, Layers, Permissions | ✅ Full Support |
|
|
279
|
+
| **Route 53** | Hosted Zones, Records | ✅ Full Support |
|
|
280
|
+
| **CloudWatch** | Log Groups, Alarms, Dashboards | ✅ Full Support |
|
|
281
|
+
| **Auto Scaling** | Groups, Launch Templates, Policies | ✅ Full Support |
|
|
282
|
+
| **ECS/ECR** | Clusters, Services, Task Definitions, Repositories | ✅ Full Support |
|
|
283
|
+
| **CloudFront** | Distributions, Origin Access Controls, Cache Policies | ✅ Full Support |
|
|
284
|
+
| **ElastiCache** | Redis/Memcached Clusters, Parameter Groups | ✅ Full Support |
|
|
285
|
+
| **ACM** | Certificates | ✅ Full Support |
|
|
286
|
+
| **EFS** | File Systems, Mount Targets, Access Points | ✅ Full Support |
|
|
287
|
+
| **API Gateway** | REST APIs, Resources, Methods, Deployments | ✅ Full Support |
|
|
288
|
+
| **SQS/SNS** | Queues, Topics, Subscriptions | ✅ Full Support |
|
|
289
|
+
| **Secrets Manager** | Secrets, Versions | ✅ Full Support |
|
|
290
|
+
| **Systems Manager** | Parameters, Documents | ✅ Full Support |
|
|
291
|
+
|
|
292
|
+
### Azure Resources (New!)
|
|
293
|
+
|
|
294
|
+
| Service | Resources | Status |
|
|
295
|
+
|---------|-----------|---------|
|
|
296
|
+
| **Compute** | Virtual Machines, Managed Disks, Availability Sets, SSH Keys | ✅ Full Support |
|
|
297
|
+
| **Networking** | Virtual Networks, Subnets, Network Security Groups, Network Interfaces | ✅ Full Support |
|
|
298
|
+
| **Storage** | Storage Accounts, Blob Storage, File Shares | ✅ Full Support |
|
|
299
|
+
| **Load Balancing** | Load Balancers, Application Gateways | 🚧 In Progress |
|
|
300
|
+
| **Database** | SQL Database, Cosmos DB | 🔜 Coming Soon |
|
|
301
|
+
| **Container** | AKS, Container Instances | 🔜 Coming Soon |
|
|
302
|
+
| **Identity** | Managed Identities, Service Principals | 🔜 Coming Soon |
|
|
303
|
+
|
|
304
|
+
### GCP Resources (Coming Q3 2025)
|
|
305
|
+
|
|
306
|
+
| Service | Resources | Status |
|
|
307
|
+
|---------|-----------|---------|
|
|
308
|
+
| **Compute Engine** | Instances, Disks, Images | 🔮 Planned |
|
|
309
|
+
| **VPC** | Networks, Subnets, Firewalls | 🔮 Planned |
|
|
310
|
+
| **Cloud Storage** | Buckets, Objects | 🔮 Planned |
|
|
311
|
+
| **GKE** | Clusters, Node Pools | 🔮 Planned |
|
|
312
|
+
|
|
313
|
+
---
|
|
314
|
+
|
|
315
|
+
## 🎯 Advanced Usage
|
|
316
|
+
|
|
317
|
+
### Dependency Scanning
|
|
318
|
+
|
|
319
|
+
```bash
|
|
320
|
+
# AWS: Scan EC2 with all dependencies
|
|
321
|
+
terraback ec2 scan --with-deps --output-dir ./infrastructure
|
|
322
|
+
|
|
323
|
+
# Azure: Scan VM with all dependencies
|
|
324
|
+
terraback vm scan --with-deps --output-dir ./infrastructure
|
|
325
|
+
|
|
326
|
+
# Result: Complete infrastructure graph
|
|
327
|
+
# ├── compute/
|
|
328
|
+
# │ ├── instances.tf
|
|
329
|
+
# │ └── launch_templates.tf
|
|
330
|
+
# ├── networking/
|
|
331
|
+
# │ ├── vpc.tf
|
|
332
|
+
# │ ├── subnets.tf
|
|
333
|
+
# │ └── security_groups.tf
|
|
334
|
+
# └── storage/
|
|
335
|
+
# ├── volumes.tf
|
|
336
|
+
# └── snapshots.tf
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
### Caching & Performance
|
|
340
|
+
|
|
341
|
+
```bash
|
|
342
|
+
# Enable caching for large infrastructures
|
|
343
|
+
terraback scan-recursive ec2 --use-cache --cache-ttl 60
|
|
344
|
+
|
|
345
|
+
# View cache statistics
|
|
346
|
+
terraback cache stats
|
|
347
|
+
|
|
348
|
+
# Clear cache
|
|
349
|
+
terraback cache clear
|
|
350
|
+
|
|
351
|
+
# Parallel scanning
|
|
352
|
+
terraback scan-recursive vm --parallel-workers 10
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
### Import to Terraform
|
|
356
|
+
|
|
357
|
+
```bash
|
|
358
|
+
# List discovered resources
|
|
359
|
+
terraback list all
|
|
360
|
+
|
|
361
|
+
# Import specific resource
|
|
362
|
+
terraback ec2 import i-1234567890abcdef0
|
|
363
|
+
|
|
364
|
+
# Import Azure VM
|
|
365
|
+
terraback vm import /subscriptions/xxx/resourceGroups/my-rg/providers/Microsoft.Compute/virtualMachines/my-vm
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
---
|
|
369
|
+
|
|
370
|
+
## ⚖️ License
|
|
371
|
+
|
|
372
|
+
Terraback uses a multi-tier licensing model:
|
|
373
|
+
|
|
374
|
+
### Community Edition (MIT License)
|
|
375
|
+
- ✅ Free forever
|
|
376
|
+
- ✅ Basic resource scanning (EC2, VPC, S3 for AWS; VMs, VNets for Azure)
|
|
377
|
+
- ✅ Up to 100 resources per scan
|
|
378
|
+
- ❌ No dependency scanning
|
|
379
|
+
- ❌ Limited to basic services
|
|
380
|
+
|
|
381
|
+
### Professional Edition ($49/month or $499/year)
|
|
382
|
+
- ✅ All Community features
|
|
383
|
+
- ✅ Unlimited resources
|
|
384
|
+
- ✅ All cloud services
|
|
385
|
+
- ✅ Dependency scanning (`--with-deps`)
|
|
386
|
+
- ✅ API response caching
|
|
387
|
+
- ✅ Priority support
|
|
388
|
+
|
|
389
|
+
### Migration Pass ($149 one-time, 60 days)
|
|
390
|
+
- ✅ All Professional features
|
|
391
|
+
- ✅ Perfect for migration projects
|
|
392
|
+
- ✅ 60-day access
|
|
393
|
+
- ✅ Email support
|
|
394
|
+
|
|
395
|
+
### Enterprise Edition (Custom pricing)
|
|
396
|
+
- ✅ All Professional features
|
|
397
|
+
- ✅ SSO integration
|
|
398
|
+
- ✅ On-premise deployment
|
|
399
|
+
- ✅ Custom scanners
|
|
400
|
+
- ✅ SLA support
|
|
401
|
+
|
|
402
|
+
|
|
403
|
+
|
|
404
|
+
---
|
|
405
|
+
|
|
406
|
+
## 📚 Documentation
|
|
407
|
+
|
|
408
|
+
- [Full Documentation](https://docs.terraback.io)
|
|
409
|
+
- [AWS Scanning Guide](https://docs.terraback.io/aws)
|
|
410
|
+
- [Azure Scanning Guide](https://docs.terraback.io/azure)
|
|
411
|
+
- [API Reference](https://docs.terraback.io/api)
|
|
412
|
+
- [Examples & Tutorials](https://docs.terraback.io/examples)
|
|
413
|
+
|
|
414
|
+
---
|
|
415
|
+
|
|
416
|
+
## 🐛 Troubleshooting
|
|
417
|
+
|
|
418
|
+
### AWS Issues
|
|
419
|
+
|
|
420
|
+
```bash
|
|
421
|
+
# Check AWS credentials
|
|
422
|
+
aws sts get-caller-identity
|
|
423
|
+
|
|
424
|
+
# Use specific profile
|
|
425
|
+
export AWS_PROFILE=production
|
|
426
|
+
|
|
427
|
+
# Debug mode
|
|
428
|
+
terraback ec2 scan --debug
|
|
429
|
+
```
|
|
430
|
+
|
|
431
|
+
### Azure Issues
|
|
432
|
+
|
|
433
|
+
```bash
|
|
434
|
+
# Check Azure login
|
|
435
|
+
az account show
|
|
436
|
+
|
|
437
|
+
# Set subscription
|
|
438
|
+
az account set --subscription "My Subscription"
|
|
439
|
+
|
|
440
|
+
# List available subscriptions
|
|
441
|
+
az account list --output table
|
|
442
|
+
```
|
|
443
|
+
|
|
444
|
+
### Common Issues
|
|
445
|
+
|
|
446
|
+
1. **Permission Denied**: Ensure your cloud credentials have read access to resources
|
|
447
|
+
2. **Rate Limiting**: Use `--use-cache` flag for large infrastructures
|
|
448
|
+
3. **Module Not Found**: Install with `pip install -e .` for development
|
|
449
|
+
|
|
450
|
+
---
|
|
451
|
+
|
|
452
|
+
## 🚀 Roadmap
|
|
453
|
+
|
|
454
|
+
- [x] AWS support (50+ services)
|
|
455
|
+
- [x] Azure support (Core services)
|
|
456
|
+
- [ ] GCP support (Q3 2025)
|
|
457
|
+
- [ ] Kubernetes resources
|
|
458
|
+
- [ ] Terraform module generation
|
|
459
|
+
- [ ] Web UI dashboard
|
|
460
|
+
- [ ] CI/CD integrations
|
|
461
|
+
|
|
462
|
+
---
|
|
463
|
+
|
|
464
|
+
## 📞 Support
|
|
465
|
+
|
|
466
|
+
- **Community**: [Documentation Portal](https://docs.terraback.io/community)
|
|
467
|
+
- **Issues & Feature Requests**: support@terraback.io
|
|
468
|
+
- **Professional**: support@terraback.io
|
|
469
|
+
- **Enterprise**: sales@terraback.io
|
|
470
|
+
|
|
471
|
+
---
|
|
472
|
+
|
|
473
|
+
## 🙏 Acknowledgments
|
|
474
|
+
|
|
475
|
+
Built with ❤️ by DevOps engineers who understand the pain of manual cloud documentation.
|
|
476
|
+
|
|
477
|
+
---
|
|
478
|
+
|
|
479
|
+
**Copyright © 2025 Terraback**
|