Skip to content
This repository has been archived by the owner on Oct 24, 2023. It is now read-only.

fix: add getter methods for managed identity #359

Merged
merged 1 commit into from
Jan 24, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions pkg/api/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -1290,6 +1290,32 @@ func (k *KubernetesConfig) IsRBACEnabled() bool {
return false
}

// UserAssignedIDEnabled checks if the user assigned ID is enabled or not.
func (k *KubernetesConfig) UserAssignedIDEnabled() bool {
return k.UseManagedIdentity && k.UserAssignedID != ""
}

// UserAssignedClientIDEnabled checks if the user assigned client ID is enabled or not.
func (k *KubernetesConfig) UserAssignedClientIDEnabled() bool {
return k.UseManagedIdentity && k.UserAssignedClientID != ""
}

// GetUserAssignedID returns the user assigned ID if it is enabled.
func (k *KubernetesConfig) GetUserAssignedID() string {
if k.UserAssignedIDEnabled() {
return k.UserAssignedID
}
return ""
}

// GetUserAssignedClientID returns the user assigned client ID if it is enabled.
func (k *KubernetesConfig) GetUserAssignedClientID() string {
if k.UserAssignedClientIDEnabled() {
return k.UserAssignedClientID
}
return ""
}

// IsNSeriesSKU returns true if the agent pool contains an N-series (NVIDIA GPU) VM
func (a *AgentPoolProfile) IsNSeriesSKU() bool {
return common.IsNvidiaEnabledSKU(a.VMSize)
Expand Down
80 changes: 80 additions & 0 deletions pkg/api/types_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -2737,3 +2737,83 @@ func TestIsFeatureEnabled(t *testing.T) {
})
}
}

func TestKubernetesConfig_GetUserAssignedID(t *testing.T) {
k := KubernetesConfig{
UseManagedIdentity: true,
UserAssignedID: "fooID",
}
expected := "fooID"

if k.GetUserAssignedID() != expected {
t.Errorf("expected user assigned ID to be %s, but got %s", expected, k.GetUserAssignedID())
}

k = KubernetesConfig{
UseManagedIdentity: false,
UserAssignedID: "fooID",
}

if k.GetUserAssignedID() != "" {
t.Errorf("expected user assigned ID to be empty when useManagedIdentity is set to false")
}
}

func TestKubernetesConfig_GetUserAssignedClientID(t *testing.T) {
k := KubernetesConfig{
UseManagedIdentity: true,
UserAssignedClientID: "fooClientID",
}
expected := "fooClientID"

if k.GetUserAssignedClientID() != expected {
t.Errorf("expected user assigned ID to be %s, but got %s", expected, k.GetUserAssignedClientID())
}

k = KubernetesConfig{
UseManagedIdentity: false,
UserAssignedClientID: "fooClientID",
}

if k.GetUserAssignedClientID() != "" {
t.Errorf("expected user assigned client ID to be empty when useManagedIdentity is set to false")
}
}

func TestKubernetesConfig_UserAssignedIDEnabled(t *testing.T) {
k := KubernetesConfig{
UseManagedIdentity: true,
UserAssignedID: "fooID",
}
if !k.UserAssignedIDEnabled() {
t.Errorf("expected userAssignedIDEnabled to be true when UseManagedIdentity is true and UserAssignedID is non-empty")
}

k = KubernetesConfig{
UseManagedIdentity: false,
UserAssignedID: "fooID",
}

if k.UserAssignedIDEnabled() {
t.Errorf("expected userAssignedIDEnabled to be false when useManagedIdentity is set to false")
}
}

func TestKubernetesConfig_UserAssignedClientIDEnabled(t *testing.T) {
k := KubernetesConfig{
UseManagedIdentity: true,
UserAssignedClientID: "fooClientID",
}
if !k.UserAssignedClientIDEnabled() {
t.Errorf("expected userAssignedClientIDEnabled to be true when UseManagedIdentity is true and UserAssignedClientID is non-empty")
}

k = KubernetesConfig{
UseManagedIdentity: false,
UserAssignedClientID: "fooClientID",
}

if k.UserAssignedClientIDEnabled() {
t.Errorf("expected userAssignedClientIDEnabled to be false when useManagedIdentity is set to false")
}
}
18 changes: 3 additions & 15 deletions pkg/engine/template_generator.go
Original file line number Diff line number Diff line change
Expand Up @@ -372,25 +372,13 @@ func (t *TemplateGenerator) getTemplateFuncMap(cs *api.ContainerService) templat
return cs.Properties.OrchestratorProfile.KubernetesConfig.UseManagedIdentity
},
"UserAssignedIDEnabled": func() bool {
if cs.Properties.OrchestratorProfile.KubernetesConfig.UseManagedIdentity &&
cs.Properties.OrchestratorProfile.KubernetesConfig.UserAssignedID != "" {
return true
}
return false
return cs.Properties.OrchestratorProfile.KubernetesConfig.UserAssignedIDEnabled()
},
"UserAssignedID": func() string {
if cs.Properties.OrchestratorProfile.KubernetesConfig.UseManagedIdentity &&
cs.Properties.OrchestratorProfile.KubernetesConfig.UserAssignedID != "" {
return cs.Properties.OrchestratorProfile.KubernetesConfig.UserAssignedID
}
return ""
return cs.Properties.OrchestratorProfile.KubernetesConfig.GetUserAssignedID()
},
"UserAssignedClientID": func() string {
if cs.Properties.OrchestratorProfile.KubernetesConfig.UseManagedIdentity &&
cs.Properties.OrchestratorProfile.KubernetesConfig.UserAssignedClientID != "" {
return cs.Properties.OrchestratorProfile.KubernetesConfig.UserAssignedClientID
}
return ""
return cs.Properties.OrchestratorProfile.KubernetesConfig.GetUserAssignedClientID()
},
"UseAksExtension": func() bool {
cloudSpecConfig := cs.GetCloudSpecConfig()
Expand Down