/
main.go
130 lines (122 loc) · 6.11 KB
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
package main
import (
"fmt"
"log"
"github.com/OpsHelmInc/cloudquery/codegen/recipes"
"github.com/OpsHelmInc/cloudquery/codegen/services"
"github.com/OpsHelmInc/cloudquery/codegen/tables"
)
func generateResources() ([]*recipes.Resource, error) {
var resources []*recipes.Resource
resources = append(resources, recipes.AccessAnalyzerResources()...)
resources = append(resources, recipes.AccountResources()...)
resources = append(resources, recipes.ACMResources()...)
resources = append(resources, recipes.APIGatewayResources()...)
resources = append(resources, recipes.APIGatewayV2Resources()...)
resources = append(resources, recipes.ApplicationAutoScalingResources()...)
resources = append(resources, recipes.ApprunnerResources()...)
resources = append(resources, recipes.AppstreamResources()...)
resources = append(resources, recipes.AppSync()...)
resources = append(resources, recipes.AthenaResources()...)
resources = append(resources, recipes.AutoscalingResources()...)
resources = append(resources, recipes.BackupResources()...)
resources = append(resources, recipes.CloudformationResources()...)
resources = append(resources, recipes.CloudfrontResources()...)
resources = append(resources, recipes.CloudHSMV2()...)
resources = append(resources, recipes.CloudtrailResources()...)
resources = append(resources, recipes.CloudWatchLogsResources()...)
resources = append(resources, recipes.CloudwatchResources()...)
resources = append(resources, recipes.CodeBuildResources()...)
resources = append(resources, recipes.CodePipelineResources()...)
resources = append(resources, recipes.CognitoResources()...)
resources = append(resources, recipes.ConfigResources()...)
resources = append(resources, recipes.DaxResources()...)
resources = append(resources, recipes.DirectConnectResources()...)
resources = append(resources, recipes.DMSResources()...)
resources = append(resources, recipes.DocumentDBResources()...)
resources = append(resources, recipes.DynamoDBResources()...)
resources = append(resources, recipes.EC2Resources()...)
resources = append(resources, recipes.ECRPublicResources()...)
resources = append(resources, recipes.ECRResources()...)
resources = append(resources, recipes.ECSResources()...)
resources = append(resources, recipes.EFSResources()...)
resources = append(resources, recipes.EKSResources()...)
resources = append(resources, recipes.ElastiCacheResources()...)
resources = append(resources, recipes.ElasticbeanstalkResources()...)
resources = append(resources, recipes.ElasticsearchResources()...)
resources = append(resources, recipes.ELBv1Resources()...)
resources = append(resources, recipes.ELBv2Resources()...)
resources = append(resources, recipes.EMRResources()...)
resources = append(resources, recipes.EventbridgeResources()...)
resources = append(resources, recipes.FirehoseResources()...)
resources = append(resources, recipes.FraudDetectorResources()...)
resources = append(resources, recipes.FSXResources()...)
resources = append(resources, recipes.GlacierResources()...)
resources = append(resources, recipes.GlueResources()...)
resources = append(resources, recipes.GuarddutyResources()...)
resources = append(resources, recipes.IAMResources()...)
resources = append(resources, recipes.IdentitystoreResources()...)
resources = append(resources, recipes.Inspector2Resources()...)
resources = append(resources, recipes.InspectorResources()...)
resources = append(resources, recipes.IOTResources()...)
resources = append(resources, recipes.KafkaResources()...)
resources = append(resources, recipes.KinesisResources()...)
resources = append(resources, recipes.KMSResources()...)
resources = append(resources, recipes.LambdaResources()...)
resources = append(resources, recipes.LightsailResources()...)
resources = append(resources, recipes.MQResources()...)
resources = append(resources, recipes.MWAAResources()...)
resources = append(resources, recipes.NeptuneResources()...)
resources = append(resources, recipes.OrganizationsResources()...)
resources = append(resources, recipes.QLDBResources()...)
resources = append(resources, recipes.QuickSightResources()...)
resources = append(resources, recipes.RAMResources()...)
resources = append(resources, recipes.RDSResources()...)
resources = append(resources, recipes.RedshiftResources()...)
resources = append(resources, recipes.ResourceGroupsResources()...)
resources = append(resources, recipes.Route53Resources()...)
resources = append(resources, recipes.S3Resources()...)
resources = append(resources, recipes.SagemakerResources()...)
resources = append(resources, recipes.SchedulerResources()...)
resources = append(resources, recipes.SecretsManagerResources()...)
resources = append(resources, recipes.ServiceCatalogResources()...)
resources = append(resources, recipes.ServiceQuotasResources()...)
resources = append(resources, recipes.SESResources()...)
resources = append(resources, recipes.ShieldResources()...)
resources = append(resources, recipes.SNSResources()...)
resources = append(resources, recipes.SQSResources()...)
resources = append(resources, recipes.SSMResources()...)
resources = append(resources, recipes.SSOAdminResources()...)
resources = append(resources, recipes.StepFunctionResources()...)
resources = append(resources, recipes.TimestreamResources()...)
resources = append(resources, recipes.TransferResources()...)
resources = append(resources, recipes.WAFRegionalResources()...)
resources = append(resources, recipes.WAFResources()...)
resources = append(resources, recipes.WAFv2Resources()...)
resources = append(resources, recipes.WorkspacesResources()...)
resources = append(resources, recipes.XRayResources()...)
err := recipes.SetParentChildRelationships(resources)
if err != nil {
return nil, fmt.Errorf("failed to set parent-child relationships: %w", err)
}
for _, resource := range resources {
if err := resource.Generate(); err != nil {
return nil, err
}
}
return resources, nil
}
func main() {
err := services.Generate()
if err != nil {
log.Fatal(err)
}
resources, err := generateResources()
if err != nil {
log.Fatal(err)
}
err = tables.Generate(resources)
if err != nil {
log.Fatal(err)
}
}