-
Notifications
You must be signed in to change notification settings - Fork 31
/
cluster.go
53 lines (39 loc) · 1.98 KB
/
cluster.go
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
/*
Copyright © 2023 VMware, Inc. All Rights Reserved.
SPDX-License-Identifier: MPL-2.0
*/
package scope
import (
"github.com/vmware/terraform-provider-tanzu-mission-control/internal/helper"
gitrepositoryclustermodel "github.com/vmware/terraform-provider-tanzu-mission-control/internal/models/gitrepository/cluster"
commonscope "github.com/vmware/terraform-provider-tanzu-mission-control/internal/resources/common/scope"
)
func ConstructClusterGitRepositoryFullname(data []interface{}, name, namespace string) (fullname *gitrepositoryclustermodel.VmwareTanzuManageV1alpha1ClusterNamespaceFluxcdGitrepositoryFullName) {
if len(data) == 0 || data[0] == nil {
return fullname
}
fullNameData, _ := data[0].(map[string]interface{})
fullname = &gitrepositoryclustermodel.VmwareTanzuManageV1alpha1ClusterNamespaceFluxcdGitrepositoryFullName{}
if managementClusterNameValue, ok := fullNameData[commonscope.ManagementClusterNameKey]; ok {
helper.SetPrimitiveValue(managementClusterNameValue, &fullname.ManagementClusterName, commonscope.ManagementClusterNameKey)
}
if provisionerNameValue, ok := fullNameData[commonscope.ProvisionerNameKey]; ok {
helper.SetPrimitiveValue(provisionerNameValue, &fullname.ProvisionerName, commonscope.ProvisionerNameKey)
}
if nameValue, ok := fullNameData[commonscope.NameKey]; ok {
helper.SetPrimitiveValue(nameValue, &fullname.ClusterName, commonscope.NameKey)
}
fullname.Name = name
fullname.NamespaceName = namespace
return fullname
}
func FlattenClusterGitRepositoryFullname(fullname *gitrepositoryclustermodel.VmwareTanzuManageV1alpha1ClusterNamespaceFluxcdGitrepositoryFullName) (data []interface{}) {
if fullname == nil {
return data
}
flattenFullname := make(map[string]interface{})
flattenFullname[commonscope.ManagementClusterNameKey] = fullname.ManagementClusterName
flattenFullname[commonscope.ProvisionerNameKey] = fullname.ProvisionerName
flattenFullname[commonscope.NameKey] = fullname.ClusterName
return []interface{}{flattenFullname}
}