1212 cloudProvider * string
1313 resourceType * string
1414 region * string
15+ outputFolder * string
1516)
1617
1718func main () {
@@ -29,10 +30,12 @@ func main() {
2930 cloudProvider = gatherCmd .String ("provider" , "" , "The cloud provider to interact with (e.g., 'aws', 'gcp', 'azure')" )
3031 resourceType = gatherCmd .String ("resource" , "" , "The type of resource to fetch (e.g., 'vm', 'storage', 'network')" )
3132 region = gatherCmd .String ("region" , "" , "The region for which the data should be fetched (e.g 'us-east-1', 'ap-south-1')" )
33+ outputFolder = gatherCmd .String ("out-folder" , "" , "Specific folder in which data should be stored. Default: ./output/" )
3234 gatherCmd .Parse (os .Args [2 :])
3335 gather ()
3436 case "report" :
3537 cloudProvider = reportCmd .String ("provider" , "" , "The cloud provider to interact with (e.g., 'aws', 'gcp', 'azure')" )
38+ outputFolder = reportCmd .String ("out-folder" , "" , "Specific folder in which data should be stored. Default: ./output/" )
3639 reportCmd .Parse (os .Args [2 :])
3740 generateReport ()
3841 default :
@@ -52,11 +55,11 @@ func gather() {
5255 // Handle the cloud region based on the input
5356 switch * cloudProvider {
5457 case "aws" :
55- handleAWS (* region , * resourceType )
58+ handleAWS (* region , * resourceType , * outputFolder )
5659 case "gcp" :
57- handleGCP (* region , * resourceType )
60+ handleGCP (* region , * resourceType , * outputFolder )
5861 case "azure" :
59- handleAzure (* region , * resourceType )
62+ handleAzure (* region , * resourceType , * outputFolder )
6063 default :
6164 fmt .Println ("Unsupported cloud provider" )
6265 }
@@ -66,7 +69,7 @@ func generateReport() {
6669 // Handle the cloud region based on the input
6770 switch * cloudProvider {
6871 case "aws" :
69- awshandler .GenerateAWSReport ()
72+ awshandler .GenerateAWSReport (* outputFolder )
7073 case "gcp" :
7174 fmt .Println ("Report generation not implemented yet for gcp" )
7275 case "azure" :
@@ -76,20 +79,20 @@ func generateReport() {
7679 }
7780}
7881
79- func handleAWS (region , resourceType string ) {
82+ func handleAWS (region , resourceType string , outFolder string ) {
8083 // Implement AWS-specific logic here
8184 fmt .Printf ("Provider: AWS \n region: %s \n " , region )
82- awshandler .StoreAWSData (region )
85+ awshandler .StoreAWSData (region , outFolder )
8386
8487}
8588
86- func handleGCP (region , resourceType string ) {
89+ func handleGCP (region , resourceType string , outFolder string ) {
8790 // Implement GCP-specific logic here
8891 fmt .Printf ("Provider: GCP \n region: %s on resource: %s\n " , region , resourceType )
8992
9093}
9194
92- func handleAzure (region , resourceType string ) {
95+ func handleAzure (region , resourceType string , outFolder string ) {
9396 // Implement Azure-specific logic here
9497 fmt .Printf ("Provider: Azure \n region: %s on resource: %s\n " , region , resourceType )
9598
0 commit comments