Skip to content

Commit f3a4cad

Browse files
Add VPC Flow Logs Config Terraform API (#12161) (#3035)
[upstream:151f8f2c536af41d066bf2beb7f7aa47d15f1cd3] Signed-off-by: Modular Magician <[email protected]>
1 parent afb0c5f commit f3a4cad

File tree

2 files changed

+168
-2
lines changed

2 files changed

+168
-2
lines changed

tfplan2cai/converters/google/resources/services/networkmanagement/networkmanagement_connectivity_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ func GetNetworkManagementConnectivityTestCaiObject(d tpgresource.TerraformResour
4242
Name: name,
4343
Type: NetworkManagementConnectivityTestAssetType,
4444
Resource: &cai.AssetResource{
45-
Version: "v1",
46-
DiscoveryDocumentURI: "https://www.googleapis.com/discovery/v1/apis/networkmanagement/v1/rest",
45+
Version: "v1beta1",
46+
DiscoveryDocumentURI: "https://www.googleapis.com/discovery/v1/apis/networkmanagement/v1beta1/rest",
4747
DiscoveryName: "ConnectivityTest",
4848
Data: obj,
4949
},
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,166 @@
1+
// ----------------------------------------------------------------------------
2+
//
3+
// *** AUTO GENERATED CODE *** Type: MMv1 ***
4+
//
5+
// ----------------------------------------------------------------------------
6+
//
7+
// This file is automatically generated by Magic Modules and manual
8+
// changes will be clobbered when the file is regenerated.
9+
//
10+
// Please read more about how to change this file in
11+
// .github/CONTRIBUTING.md.
12+
//
13+
// ----------------------------------------------------------------------------
14+
15+
package networkmanagement
16+
17+
import (
18+
"reflect"
19+
20+
"github.com/GoogleCloudPlatform/terraform-google-conversion/v5/tfplan2cai/converters/google/resources/cai"
21+
"github.com/hashicorp/terraform-provider-google-beta/google-beta/tpgresource"
22+
transport_tpg "github.com/hashicorp/terraform-provider-google-beta/google-beta/transport"
23+
)
24+
25+
const NetworkManagementVpcFlowLogsConfigAssetType string = "networkmanagement.googleapis.com/VpcFlowLogsConfig"
26+
27+
func ResourceConverterNetworkManagementVpcFlowLogsConfig() cai.ResourceConverter {
28+
return cai.ResourceConverter{
29+
AssetType: NetworkManagementVpcFlowLogsConfigAssetType,
30+
Convert: GetNetworkManagementVpcFlowLogsConfigCaiObject,
31+
}
32+
}
33+
34+
func GetNetworkManagementVpcFlowLogsConfigCaiObject(d tpgresource.TerraformResourceData, config *transport_tpg.Config) ([]cai.Asset, error) {
35+
name, err := cai.AssetName(d, config, "//networkmanagement.googleapis.com/projects/{{project}}/locations/{{location}}/vpcFlowLogsConfigs/{{vpc_flow_logs_config_id}}")
36+
if err != nil {
37+
return []cai.Asset{}, err
38+
}
39+
if obj, err := GetNetworkManagementVpcFlowLogsConfigApiObject(d, config); err == nil {
40+
return []cai.Asset{{
41+
Name: name,
42+
Type: NetworkManagementVpcFlowLogsConfigAssetType,
43+
Resource: &cai.AssetResource{
44+
Version: "v1beta1",
45+
DiscoveryDocumentURI: "https://www.googleapis.com/discovery/v1/apis/networkmanagement/v1beta1/rest",
46+
DiscoveryName: "VpcFlowLogsConfig",
47+
Data: obj,
48+
},
49+
}}, nil
50+
} else {
51+
return []cai.Asset{}, err
52+
}
53+
}
54+
55+
func GetNetworkManagementVpcFlowLogsConfigApiObject(d tpgresource.TerraformResourceData, config *transport_tpg.Config) (map[string]interface{}, error) {
56+
obj := make(map[string]interface{})
57+
descriptionProp, err := expandNetworkManagementVpcFlowLogsConfigDescription(d.Get("description"), d, config)
58+
if err != nil {
59+
return nil, err
60+
} else if v, ok := d.GetOkExists("description"); !tpgresource.IsEmptyValue(reflect.ValueOf(descriptionProp)) && (ok || !reflect.DeepEqual(v, descriptionProp)) {
61+
obj["description"] = descriptionProp
62+
}
63+
stateProp, err := expandNetworkManagementVpcFlowLogsConfigState(d.Get("state"), d, config)
64+
if err != nil {
65+
return nil, err
66+
} else if v, ok := d.GetOkExists("state"); !tpgresource.IsEmptyValue(reflect.ValueOf(stateProp)) && (ok || !reflect.DeepEqual(v, stateProp)) {
67+
obj["state"] = stateProp
68+
}
69+
aggregationIntervalProp, err := expandNetworkManagementVpcFlowLogsConfigAggregationInterval(d.Get("aggregation_interval"), d, config)
70+
if err != nil {
71+
return nil, err
72+
} else if v, ok := d.GetOkExists("aggregation_interval"); !tpgresource.IsEmptyValue(reflect.ValueOf(aggregationIntervalProp)) && (ok || !reflect.DeepEqual(v, aggregationIntervalProp)) {
73+
obj["aggregationInterval"] = aggregationIntervalProp
74+
}
75+
flowSamplingProp, err := expandNetworkManagementVpcFlowLogsConfigFlowSampling(d.Get("flow_sampling"), d, config)
76+
if err != nil {
77+
return nil, err
78+
} else if v, ok := d.GetOkExists("flow_sampling"); !tpgresource.IsEmptyValue(reflect.ValueOf(flowSamplingProp)) && (ok || !reflect.DeepEqual(v, flowSamplingProp)) {
79+
obj["flowSampling"] = flowSamplingProp
80+
}
81+
metadataProp, err := expandNetworkManagementVpcFlowLogsConfigMetadata(d.Get("metadata"), d, config)
82+
if err != nil {
83+
return nil, err
84+
} else if v, ok := d.GetOkExists("metadata"); !tpgresource.IsEmptyValue(reflect.ValueOf(metadataProp)) && (ok || !reflect.DeepEqual(v, metadataProp)) {
85+
obj["metadata"] = metadataProp
86+
}
87+
metadataFieldsProp, err := expandNetworkManagementVpcFlowLogsConfigMetadataFields(d.Get("metadata_fields"), d, config)
88+
if err != nil {
89+
return nil, err
90+
} else if v, ok := d.GetOkExists("metadata_fields"); !tpgresource.IsEmptyValue(reflect.ValueOf(metadataFieldsProp)) && (ok || !reflect.DeepEqual(v, metadataFieldsProp)) {
91+
obj["metadataFields"] = metadataFieldsProp
92+
}
93+
filterExprProp, err := expandNetworkManagementVpcFlowLogsConfigFilterExpr(d.Get("filter_expr"), d, config)
94+
if err != nil {
95+
return nil, err
96+
} else if v, ok := d.GetOkExists("filter_expr"); !tpgresource.IsEmptyValue(reflect.ValueOf(filterExprProp)) && (ok || !reflect.DeepEqual(v, filterExprProp)) {
97+
obj["filterExpr"] = filterExprProp
98+
}
99+
interconnectAttachmentProp, err := expandNetworkManagementVpcFlowLogsConfigInterconnectAttachment(d.Get("interconnect_attachment"), d, config)
100+
if err != nil {
101+
return nil, err
102+
} else if v, ok := d.GetOkExists("interconnect_attachment"); !tpgresource.IsEmptyValue(reflect.ValueOf(interconnectAttachmentProp)) && (ok || !reflect.DeepEqual(v, interconnectAttachmentProp)) {
103+
obj["interconnectAttachment"] = interconnectAttachmentProp
104+
}
105+
vpnTunnelProp, err := expandNetworkManagementVpcFlowLogsConfigVpnTunnel(d.Get("vpn_tunnel"), d, config)
106+
if err != nil {
107+
return nil, err
108+
} else if v, ok := d.GetOkExists("vpn_tunnel"); !tpgresource.IsEmptyValue(reflect.ValueOf(vpnTunnelProp)) && (ok || !reflect.DeepEqual(v, vpnTunnelProp)) {
109+
obj["vpnTunnel"] = vpnTunnelProp
110+
}
111+
labelsProp, err := expandNetworkManagementVpcFlowLogsConfigEffectiveLabels(d.Get("effective_labels"), d, config)
112+
if err != nil {
113+
return nil, err
114+
} else if v, ok := d.GetOkExists("effective_labels"); !tpgresource.IsEmptyValue(reflect.ValueOf(labelsProp)) && (ok || !reflect.DeepEqual(v, labelsProp)) {
115+
obj["labels"] = labelsProp
116+
}
117+
118+
return obj, nil
119+
}
120+
121+
func expandNetworkManagementVpcFlowLogsConfigDescription(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) {
122+
return v, nil
123+
}
124+
125+
func expandNetworkManagementVpcFlowLogsConfigState(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) {
126+
return v, nil
127+
}
128+
129+
func expandNetworkManagementVpcFlowLogsConfigAggregationInterval(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) {
130+
return v, nil
131+
}
132+
133+
func expandNetworkManagementVpcFlowLogsConfigFlowSampling(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) {
134+
return v, nil
135+
}
136+
137+
func expandNetworkManagementVpcFlowLogsConfigMetadata(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) {
138+
return v, nil
139+
}
140+
141+
func expandNetworkManagementVpcFlowLogsConfigMetadataFields(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) {
142+
return v, nil
143+
}
144+
145+
func expandNetworkManagementVpcFlowLogsConfigFilterExpr(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) {
146+
return v, nil
147+
}
148+
149+
func expandNetworkManagementVpcFlowLogsConfigInterconnectAttachment(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) {
150+
return v, nil
151+
}
152+
153+
func expandNetworkManagementVpcFlowLogsConfigVpnTunnel(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) {
154+
return v, nil
155+
}
156+
157+
func expandNetworkManagementVpcFlowLogsConfigEffectiveLabels(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (map[string]string, error) {
158+
if v == nil {
159+
return map[string]string{}, nil
160+
}
161+
m := make(map[string]string)
162+
for k, val := range v.(map[string]interface{}) {
163+
m[k] = val.(string)
164+
}
165+
return m, nil
166+
}

0 commit comments

Comments
 (0)