Skip to content

Commit d4cc400

Browse files
authored
Merge pull request #1572 from snyk/extract_metadata
Extract metadata from enumeration pkg
2 parents 1b23b4e + a18af39 commit d4cc400

File tree

805 files changed

+13965
-3989
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

805 files changed

+13965
-3989
lines changed

enumeration/remote/aws/cloudformation_stack_enumerator.go

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
package aws
22

33
import (
4+
"fmt"
5+
"strconv"
6+
47
"github.com/aws/aws-sdk-go/service/cloudformation"
8+
"github.com/hashicorp/terraform/flatmap"
59
"github.com/snyk/driftctl/enumeration/remote/aws/repository"
610
remoteerror "github.com/snyk/driftctl/enumeration/remote/error"
711
"github.com/snyk/driftctl/enumeration/resource"
@@ -35,7 +39,10 @@ func (e *CloudformationStackEnumerator) Enumerate() ([]*resource.Resource, error
3539
for _, stack := range stacks {
3640
attrs := map[string]interface{}{}
3741
if stack.Parameters != nil && len(stack.Parameters) > 0 {
38-
attrs["parameters"] = flattenParameters(stack.Parameters)
42+
attrs["parameters.%"] = strconv.FormatInt(int64(len(stack.Parameters)), 10)
43+
for k, v := range flattenParameters(stack.Parameters) {
44+
attrs[fmt.Sprintf("parameters.%s", k)] = v
45+
}
3946
}
4047

4148
results = append(
@@ -51,10 +58,10 @@ func (e *CloudformationStackEnumerator) Enumerate() ([]*resource.Resource, error
5158
return results, err
5259
}
5360

54-
func flattenParameters(parameters []*cloudformation.Parameter) interface{} {
61+
func flattenParameters(parameters []*cloudformation.Parameter) flatmap.Map {
5562
params := make(map[string]interface{}, len(parameters))
5663
for _, p := range parameters {
5764
params[*p.ParameterKey] = *p.ParameterValue
5865
}
59-
return params
66+
return flatmap.Flatten(params)
6067
}

enumeration/remote/aws/dynamodb_table_enumerator.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,9 @@ func (e *DynamoDBTableEnumerator) Enumerate() ([]*resource.Resource, error) {
3737
e.factory.CreateAbstractResource(
3838
string(e.SupportedType()),
3939
*table,
40-
map[string]interface{}{},
40+
map[string]interface{}{
41+
"table_name": *table,
42+
},
4143
),
4244
)
4345
}

enumeration/remote/aws/ec2_network_acl_rule_enumerator.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,9 @@ func (e *EC2NetworkACLRuleEnumerator) Enumerate() ([]*resource.Resource, error)
3737
attrs := map[string]interface{}{
3838
"egress": *entry.Egress,
3939
"network_acl_id": *res.NetworkAclId,
40-
"rule_action": *entry.RuleAction, // Used in default middleware
41-
"rule_number": float64(*entry.RuleNumber), // Used in default middleware
42-
"protocol": *entry.Protocol, // Used in default middleware
40+
"rule_action": *entry.RuleAction, // Used in default middleware
41+
"rule_number": *entry.RuleNumber, // Used in default middleware
42+
"protocol": *entry.Protocol, // Used in default middleware
4343
}
4444

4545
if entry.CidrBlock != nil {
@@ -56,7 +56,7 @@ func (e *EC2NetworkACLRuleEnumerator) Enumerate() ([]*resource.Resource, error)
5656
string(e.SupportedType()),
5757
aws.CreateNetworkACLRuleID(
5858
*res.NetworkAclId,
59-
int(float64(*entry.RuleNumber)),
59+
*entry.RuleNumber,
6060
*entry.Egress,
6161
*entry.Protocol,
6262
),

enumeration/remote/aws/init.go

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,7 @@ import (
1717
* Required to use Scanner
1818
*/
1919

20-
func Init(version string, alerter *alerter.Alerter,
21-
providerLibrary *terraform.ProviderLibrary,
22-
remoteLibrary *common.RemoteLibrary,
23-
progress enumeration.ProgressCounter,
24-
resourceSchemaRepository *resource.SchemaRepository,
25-
factory resource.ResourceFactory,
26-
configDir string) error {
20+
func Init(version string, alerter *alerter.Alerter, providerLibrary *terraform.ProviderLibrary, remoteLibrary *common.RemoteLibrary, progress enumeration.ProgressCounter, factory resource.ResourceFactory, configDir string) error {
2721

2822
provider, err := NewAWSTerraformProvider(version, progress, configDir)
2923
if err != nil {
@@ -248,11 +242,5 @@ func Init(version string, alerter *alerter.Alerter,
248242

249243
remoteLibrary.AddEnumerator(NewElastiCacheClusterEnumerator(elasticacheRepository, factory))
250244

251-
err = resourceSchemaRepository.Init(terraform.AWS, provider.Version(), provider.Schema())
252-
if err != nil {
253-
return err
254-
}
255-
aws.InitResourcesMetadata(resourceSchemaRepository)
256-
257245
return nil
258246
}

enumeration/remote/aws/lambda_function_enumerator.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,9 @@ func (e *LambdaFunctionEnumerator) Enumerate() ([]*resource.Resource, error) {
3737
e.factory.CreateAbstractResource(
3838
string(e.SupportedType()),
3939
*function.FunctionName,
40-
map[string]interface{}{},
40+
map[string]interface{}{
41+
"function_name": *function.FunctionName,
42+
},
4143
),
4244
)
4345
}

enumeration/remote/aws/s3_bucket_analytic_enumerator.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package aws
22

33
import (
44
"fmt"
5+
56
"github.com/snyk/driftctl/enumeration/alerter"
67
"github.com/snyk/driftctl/enumeration/remote/alerts"
78
"github.com/snyk/driftctl/enumeration/remote/aws/repository"
@@ -69,7 +70,7 @@ func (e *S3BucketAnalyticEnumerator) Enumerate() ([]*resource.Resource, error) {
6970
string(e.SupportedType()),
7071
id,
7172
map[string]interface{}{
72-
"region": region,
73+
"alias": region,
7374
},
7475
),
7576
)

enumeration/remote/aws/s3_bucket_enumerator.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ func (e *S3BucketEnumerator) Enumerate() ([]*resource.Resource, error) {
5959
string(e.SupportedType()),
6060
*bucket.Name,
6161
map[string]interface{}{
62-
"region": region,
62+
"alias": region,
6363
},
6464
),
6565
)

enumeration/remote/aws/s3_bucket_inventory_enumerator.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package aws
22

33
import (
44
"fmt"
5+
56
"github.com/snyk/driftctl/enumeration/alerter"
67
"github.com/snyk/driftctl/enumeration/remote/alerts"
78
"github.com/snyk/driftctl/enumeration/remote/aws/repository"
@@ -70,7 +71,7 @@ func (e *S3BucketInventoryEnumerator) Enumerate() ([]*resource.Resource, error)
7071
string(e.SupportedType()),
7172
id,
7273
map[string]interface{}{
73-
"region": region,
74+
"alias": region,
7475
},
7576
),
7677
)

enumeration/remote/aws/s3_bucket_metrics_enumerator.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package aws
22

33
import (
44
"fmt"
5+
56
"github.com/snyk/driftctl/enumeration/alerter"
67
"github.com/snyk/driftctl/enumeration/remote/alerts"
78
"github.com/snyk/driftctl/enumeration/remote/aws/repository"
@@ -69,7 +70,7 @@ func (e *S3BucketMetricsEnumerator) Enumerate() ([]*resource.Resource, error) {
6970
string(e.SupportedType()),
7071
id,
7172
map[string]interface{}{
72-
"region": region,
73+
"alias": region,
7374
},
7475
),
7576
)

enumeration/remote/aws/s3_bucket_notification_enumerator.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ func (e *S3BucketNotificationEnumerator) Enumerate() ([]*resource.Resource, erro
7474
string(e.SupportedType()),
7575
*bucket.Name,
7676
map[string]interface{}{
77-
"region": region,
77+
"alias": region,
7878
},
7979
),
8080
)

0 commit comments

Comments
 (0)