12
12
cloudProvider * string
13
13
resourceType * string
14
14
region * string
15
+ outputFolder * string
15
16
)
16
17
17
18
func main () {
@@ -29,10 +30,12 @@ func main() {
29
30
cloudProvider = gatherCmd .String ("provider" , "" , "The cloud provider to interact with (e.g., 'aws', 'gcp', 'azure')" )
30
31
resourceType = gatherCmd .String ("resource" , "" , "The type of resource to fetch (e.g., 'vm', 'storage', 'network')" )
31
32
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/" )
32
34
gatherCmd .Parse (os .Args [2 :])
33
35
gather ()
34
36
case "report" :
35
37
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/" )
36
39
reportCmd .Parse (os .Args [2 :])
37
40
generateReport ()
38
41
default :
@@ -52,11 +55,11 @@ func gather() {
52
55
// Handle the cloud region based on the input
53
56
switch * cloudProvider {
54
57
case "aws" :
55
- handleAWS (* region , * resourceType )
58
+ handleAWS (* region , * resourceType , * outputFolder )
56
59
case "gcp" :
57
- handleGCP (* region , * resourceType )
60
+ handleGCP (* region , * resourceType , * outputFolder )
58
61
case "azure" :
59
- handleAzure (* region , * resourceType )
62
+ handleAzure (* region , * resourceType , * outputFolder )
60
63
default :
61
64
fmt .Println ("Unsupported cloud provider" )
62
65
}
@@ -66,7 +69,7 @@ func generateReport() {
66
69
// Handle the cloud region based on the input
67
70
switch * cloudProvider {
68
71
case "aws" :
69
- awshandler .GenerateAWSReport ()
72
+ awshandler .GenerateAWSReport (* outputFolder )
70
73
case "gcp" :
71
74
fmt .Println ("Report generation not implemented yet for gcp" )
72
75
case "azure" :
@@ -76,20 +79,20 @@ func generateReport() {
76
79
}
77
80
}
78
81
79
- func handleAWS (region , resourceType string ) {
82
+ func handleAWS (region , resourceType string , outFolder string ) {
80
83
// Implement AWS-specific logic here
81
84
fmt .Printf ("Provider: AWS \n region: %s \n " , region )
82
- awshandler .StoreAWSData (region )
85
+ awshandler .StoreAWSData (region , outFolder )
83
86
84
87
}
85
88
86
- func handleGCP (region , resourceType string ) {
89
+ func handleGCP (region , resourceType string , outFolder string ) {
87
90
// Implement GCP-specific logic here
88
91
fmt .Printf ("Provider: GCP \n region: %s on resource: %s\n " , region , resourceType )
89
92
90
93
}
91
94
92
- func handleAzure (region , resourceType string ) {
95
+ func handleAzure (region , resourceType string , outFolder string ) {
93
96
// Implement Azure-specific logic here
94
97
fmt .Printf ("Provider: Azure \n region: %s on resource: %s\n " , region , resourceType )
95
98
0 commit comments