Skip to content

Commit 1b34cbd

Browse files
committed
Add converter
1 parent 91c50cf commit 1b34cbd

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

mmv1/third_party/tgc_next/pkg/services/container/resource_container_cluster_tfplan2cai.go

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,58 @@ import (
55
"strings"
66

77
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
8+
"github.com/trodge/magic-modules/tgc-container-cluster/mmv1/third_party/tgc_next/pkg/caiasset"
9+
"github.com/trodge/magic-modules/tgc-container-cluster/mmv1/third_party/tgc_next/pkg/tfplan2cai/converters/cai"
810

911
"github.com/GoogleCloudPlatform/terraform-google-conversion/v7/pkg/tpgresource"
1012
transport_tpg "github.com/GoogleCloudPlatform/terraform-google-conversion/v7/pkg/transport"
1113

1214
"google.golang.org/api/container/v1"
1315
)
1416

17+
func ContainerClusterTfplan2CaiConverter() cai.Tfplan2caiConverter {
18+
return cai.Tfplan2caiConverter{
19+
Convert: GetContainerCluster,
20+
}
21+
}
22+
23+
func GetContainerCluster(d tpgresource.TerraformResourceData, config *transport_tpg.Config) (caiasset.Asset, error) {
24+
name, err := cai.AssetName(d, config, "//container.googleapis.com/projects/{{project}}/locations/{{location}}/clusters/{{name}}")
25+
if err != nil {
26+
return caiasset.Asset{}, err
27+
}
28+
if data, err := GetContainerClusterData(d, config); err == nil {
29+
location, _ := tpgresource.GetLocation(d, config)
30+
return caiasset.Asset{
31+
Name: name,
32+
Type: ContainerClusterAssetType,
33+
Resource: &caiasset.AssetResource{
34+
Version: "v1",
35+
DiscoveryDocumentURI: "https://www.googleapis.com/discovery/v1/apis/container/v1/rest",
36+
DiscoveryName: "Cluster",
37+
Data: data,
38+
Location: location,
39+
},
40+
}, nil
41+
} else {
42+
return caiasset.Asset{}, err
43+
}
44+
}
45+
46+
func GetContainerClusterData(d tpgresource.TerraformResourceData, config *transport_tpg.Config) (map[string]interface{}, error) {
47+
project, err := tpgresource.GetProject(d, config)
48+
if err != nil {
49+
return nil, err
50+
}
51+
52+
cluster, err := expandContainerCluster(project, d, config)
53+
if err != nil {
54+
return nil, err
55+
}
56+
57+
return cai.JsonMap(cluster)
58+
}
59+
1560
func expandContainerCluster(project string, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (*container.Cluster, error) {
1661
clusterName := d.Get("name").(string)
1762
cluster := &container.Cluster{

0 commit comments

Comments
 (0)