forked from crossplane-contrib/provider-upjet-aws
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.go
More file actions
67 lines (63 loc) · 2.89 KB
/
Copy pathconfig.go
File metadata and controls
67 lines (63 loc) · 2.89 KB
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
// SPDX-FileCopyrightText: 2024 The Crossplane Authors <https://crossplane.io>
//
// SPDX-License-Identifier: CC0-1.0
package kafka
import (
"github.com/crossplane/upjet/v2/pkg/config"
"github.com/upbound/provider-aws/config/namespaced/common"
)
// Configure adds configurations for the kafka group.
func Configure(p *config.Provider) { //nolint:gocyclo
p.AddResourceConfigurator("aws_msk_cluster", func(r *config.Resource) {
r.References["encryption_info.encryption_at_rest_kms_key_arn"] = config.Reference{
TerraformName: "aws_kms_key",
Extractor: common.PathARNExtractor,
}
r.References["logging_info.broker_logs.s3.bucket"] = config.Reference{
TerraformName: "aws_s3_bucket",
}
r.References["logging_info.broker_logs.cloudwatch_logs.log_group"] = config.Reference{
TerraformName: "aws_cloudwatch_log_group",
}
r.References["broker_node_group_info.client_subnets"] = config.Reference{
TerraformName: "aws_subnet",
}
r.References["broker_node_group_info.security_groups"] = config.Reference{
TerraformName: "aws_security_group",
}
r.References["configuration_info.arn"] = config.Reference{
TerraformName: "aws_msk_configuration",
Extractor: common.PathARNExtractor,
}
r.UseAsync = true
})
p.AddResourceConfigurator("aws_msk_scram_secret_association", func(r *config.Resource) {
r.References["secret_arn_list"] = config.Reference{
TerraformName: "aws_secretsmanager_secret",
RefFieldName: "SecretArnRefs",
SelectorFieldName: "SecretArnSelector",
}
r.MetaResource.ArgumentDocs["secret_arn_list"] = "- (Required) List of all AWS Secrets Manager secret ARNs to associate with the cluster. Secrets not referenced, selected or listed here will be disassociated from the cluster."
})
p.AddResourceConfigurator("aws_msk_single_scram_secret_association", func(r *config.Resource) {
r.MetaResource.Description += " Warning: If this AWS MSK cluster has a ScramSecretAssociation managed resource that does not reference, select, or list this secret, the secret will be repeatedly attached and detached each time one of the resources enters its reconciliation loop. To avoid this, choose either ScramSecretAssociation or SingleScramSecretAssociation to manage credentials, not both."
})
p.AddResourceConfigurator("aws_msk_serverless_cluster", func(r *config.Resource) {
r.UseAsync = true
r.References["vpc_config.security_group_ids"] = config.Reference{
TerraformName: "aws_security_group",
RefFieldName: "SecurityGroupIDRefs",
SelectorFieldName: "SecurityGroupIDSelector",
}
r.References["vpc_config.subnet_ids"] = config.Reference{
TerraformName: "aws_subnet",
RefFieldName: "SubnetIDRefs",
SelectorFieldName: "SubnetIDSelector",
}
})
p.AddResourceConfigurator("aws_msk_replicator", func(r *config.Resource) {
r.References["kafka_cluster.vpc_config.subnet_ids"] = config.Reference{
TerraformName: "aws_subnet",
}
})
}