@@ -16,7 +16,7 @@ func Test_adaptDomain(t *testing.T) {
16
16
tests := []struct {
17
17
name string
18
18
terraform string
19
- expected elasticsearch.Domain
19
+ expected elasticsearch.Elasticsearch
20
20
}{
21
21
{
22
22
name : "configured" ,
@@ -44,25 +44,29 @@ func Test_adaptDomain(t *testing.T) {
44
44
}
45
45
}
46
46
` ,
47
- expected : elasticsearch.Domain {
48
- Metadata : iacTypes .NewTestMetadata (),
49
- DomainName : iacTypes .String ("domain-foo" , iacTypes .NewTestMetadata ()),
50
- LogPublishing : elasticsearch.LogPublishing {
51
- Metadata : iacTypes .NewTestMetadata (),
52
- AuditEnabled : iacTypes .Bool (true , iacTypes .NewTestMetadata ()),
53
- },
54
- TransitEncryption : elasticsearch.TransitEncryption {
55
- Metadata : iacTypes .NewTestMetadata (),
56
- Enabled : iacTypes .Bool (true , iacTypes .NewTestMetadata ()),
57
- },
58
- AtRestEncryption : elasticsearch.AtRestEncryption {
59
- Metadata : iacTypes .NewTestMetadata (),
60
- Enabled : iacTypes .Bool (true , iacTypes .NewTestMetadata ()),
61
- },
62
- Endpoint : elasticsearch.Endpoint {
63
- Metadata : iacTypes .NewTestMetadata (),
64
- EnforceHTTPS : iacTypes .Bool (true , iacTypes .NewTestMetadata ()),
65
- TLSPolicy : iacTypes .String ("Policy-Min-TLS-1-2-2019-07" , iacTypes .NewTestMetadata ()),
47
+ expected : elasticsearch.Elasticsearch {
48
+ Domains : []elasticsearch.Domain {
49
+ {
50
+ Metadata : iacTypes .NewTestMetadata (),
51
+ DomainName : iacTypes .String ("domain-foo" , iacTypes .NewTestMetadata ()),
52
+ LogPublishing : elasticsearch.LogPublishing {
53
+ Metadata : iacTypes .NewTestMetadata (),
54
+ AuditEnabled : iacTypes .Bool (true , iacTypes .NewTestMetadata ()),
55
+ },
56
+ TransitEncryption : elasticsearch.TransitEncryption {
57
+ Metadata : iacTypes .NewTestMetadata (),
58
+ Enabled : iacTypes .Bool (true , iacTypes .NewTestMetadata ()),
59
+ },
60
+ AtRestEncryption : elasticsearch.AtRestEncryption {
61
+ Metadata : iacTypes .NewTestMetadata (),
62
+ Enabled : iacTypes .Bool (true , iacTypes .NewTestMetadata ()),
63
+ },
64
+ Endpoint : elasticsearch.Endpoint {
65
+ Metadata : iacTypes .NewTestMetadata (),
66
+ EnforceHTTPS : iacTypes .Bool (true , iacTypes .NewTestMetadata ()),
67
+ TLSPolicy : iacTypes .String ("Policy-Min-TLS-1-2-2019-07" , iacTypes .NewTestMetadata ()),
68
+ },
69
+ },
66
70
},
67
71
},
68
72
},
@@ -72,25 +76,79 @@ func Test_adaptDomain(t *testing.T) {
72
76
resource "aws_elasticsearch_domain" "example" {
73
77
}
74
78
` ,
75
- expected : elasticsearch.Domain {
76
- Metadata : iacTypes .NewTestMetadata (),
77
- DomainName : iacTypes .String ("" , iacTypes .NewTestMetadata ()),
78
- LogPublishing : elasticsearch.LogPublishing {
79
- Metadata : iacTypes .NewTestMetadata (),
80
- AuditEnabled : iacTypes .Bool (false , iacTypes .NewTestMetadata ()),
81
- },
82
- TransitEncryption : elasticsearch.TransitEncryption {
83
- Metadata : iacTypes .NewTestMetadata (),
84
- Enabled : iacTypes .Bool (false , iacTypes .NewTestMetadata ()),
85
- },
86
- AtRestEncryption : elasticsearch.AtRestEncryption {
87
- Metadata : iacTypes .NewTestMetadata (),
88
- Enabled : iacTypes .Bool (false , iacTypes .NewTestMetadata ()),
79
+ expected : elasticsearch.Elasticsearch {
80
+ Domains : []elasticsearch.Domain {
81
+ {
82
+ Metadata : iacTypes .NewTestMetadata (),
83
+ DomainName : iacTypes .String ("" , iacTypes .NewTestMetadata ()),
84
+ LogPublishing : elasticsearch.LogPublishing {
85
+ Metadata : iacTypes .NewTestMetadata (),
86
+ AuditEnabled : iacTypes .Bool (false , iacTypes .NewTestMetadata ()),
87
+ },
88
+ TransitEncryption : elasticsearch.TransitEncryption {
89
+ Metadata : iacTypes .NewTestMetadata (),
90
+ Enabled : iacTypes .Bool (false , iacTypes .NewTestMetadata ()),
91
+ },
92
+ AtRestEncryption : elasticsearch.AtRestEncryption {
93
+ Metadata : iacTypes .NewTestMetadata (),
94
+ Enabled : iacTypes .Bool (false , iacTypes .NewTestMetadata ()),
95
+ },
96
+ Endpoint : elasticsearch.Endpoint {
97
+ Metadata : iacTypes .NewTestMetadata (),
98
+ EnforceHTTPS : iacTypes .Bool (false , iacTypes .NewTestMetadata ()),
99
+ TLSPolicy : iacTypes .String ("" , iacTypes .NewTestMetadata ()),
100
+ },
101
+ },
89
102
},
90
- Endpoint : elasticsearch.Endpoint {
91
- Metadata : iacTypes .NewTestMetadata (),
92
- EnforceHTTPS : iacTypes .Bool (false , iacTypes .NewTestMetadata ()),
93
- TLSPolicy : iacTypes .String ("" , iacTypes .NewTestMetadata ()),
103
+ },
104
+ },
105
+ {
106
+ name : "opensearch" ,
107
+ terraform : `resource "aws_opensearch_domain" "example" {
108
+ domain_name = "example"
109
+
110
+ node_to_node_encryption {
111
+ enabled = true
112
+ }
113
+
114
+ encrypt_at_rest {
115
+ enabled = true
116
+ }
117
+
118
+ domain_endpoint_options {
119
+ enforce_https = true
120
+ tls_security_policy = "Policy-Min-TLS-1-2-2019-07"
121
+ }
122
+
123
+ log_publishing_options {
124
+ cloudwatch_log_group_arn = aws_cloudwatch_log_group.example.arn
125
+ log_type = "AUDIT_LOGS"
126
+ }
127
+ }
128
+ ` ,
129
+ expected : elasticsearch.Elasticsearch {
130
+ Domains : []elasticsearch.Domain {
131
+ {
132
+ Metadata : iacTypes .NewTestMetadata (),
133
+ DomainName : iacTypes .String ("example" , iacTypes .NewTestMetadata ()),
134
+ LogPublishing : elasticsearch.LogPublishing {
135
+ Metadata : iacTypes .NewTestMetadata (),
136
+ AuditEnabled : iacTypes .Bool (true , iacTypes .NewTestMetadata ()),
137
+ },
138
+ TransitEncryption : elasticsearch.TransitEncryption {
139
+ Metadata : iacTypes .NewTestMetadata (),
140
+ Enabled : iacTypes .Bool (true , iacTypes .NewTestMetadata ()),
141
+ },
142
+ AtRestEncryption : elasticsearch.AtRestEncryption {
143
+ Metadata : iacTypes .NewTestMetadata (),
144
+ Enabled : iacTypes .Bool (true , iacTypes .NewTestMetadata ()),
145
+ },
146
+ Endpoint : elasticsearch.Endpoint {
147
+ Metadata : iacTypes .NewTestMetadata (),
148
+ EnforceHTTPS : iacTypes .Bool (true , iacTypes .NewTestMetadata ()),
149
+ TLSPolicy : iacTypes .String ("Policy-Min-TLS-1-2-2019-07" , iacTypes .NewTestMetadata ()),
150
+ },
151
+ },
94
152
},
95
153
},
96
154
},
@@ -99,7 +157,7 @@ func Test_adaptDomain(t *testing.T) {
99
157
for _ , test := range tests {
100
158
t .Run (test .name , func (t * testing.T ) {
101
159
modules := tftestutil .CreateModulesFromSource (t , test .terraform , ".tf" )
102
- adapted := adaptDomain (modules . GetBlocks ()[ 0 ] )
160
+ adapted := Adapt (modules )
103
161
testutil .AssertDefsecEqual (t , test .expected , adapted )
104
162
})
105
163
}
0 commit comments