Skip to content

Commit a575e2d

Browse files
elijah-robertsstealthycoin
authored andcommitted
Add Support for creating user entries with alias flag
Resolves: aws#5164
1 parent c05713e commit a575e2d

3 files changed

Lines changed: 31 additions & 3 deletions

File tree

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"type": "enhancement",
3+
"category": "eks",
4+
"description": "Add user-alias argument to update-kubeconfig command. Implements `#5164 <https://github.com/aws/aws-cli/issues/5164>`__"
5+
}

awscli/customizations/eks/update_kubeconfig.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,12 @@ class UpdateKubeconfigCommand(BasicCommand):
9696
'help_text': ("Alias for the cluster context name. "
9797
"Defaults to match cluster ARN."),
9898
'required': False
99+
},
100+
{
101+
'name': 'user-alias',
102+
'help_text': ("Alias for the generated user name. "
103+
"Defaults to match cluster ARN."),
104+
'required': False
99105
}
100106
]
101107

@@ -117,7 +123,7 @@ def _run_main(self, parsed_args, parsed_globals):
117123
parsed_args.role_arn,
118124
parsed_globals)
119125
new_cluster_dict = client.get_cluster_entry()
120-
new_user_dict = client.get_user_entry()
126+
new_user_dict = client.get_user_entry(user_alias=parsed_args.user_alias)
121127

122128
config_selector = KubeconfigSelector(
123129
os.environ.get("KUBECONFIG", ""),
@@ -283,7 +289,7 @@ def get_cluster_entry(self):
283289
("name", arn)
284290
])
285291

286-
def get_user_entry(self):
292+
def get_user_entry(self, user_alias=None):
287293
"""
288294
Return a user entry generated using
289295
the previously obtained description.
@@ -301,7 +307,7 @@ def get_user_entry(self):
301307
cluster_identification_value = cluster_description.get("id")
302308

303309
generated_user = OrderedDict([
304-
("name", self._get_cluster_description().get("arn", "")),
310+
("name", user_alias or self._get_cluster_description().get("arn", "")),
305311
("user", OrderedDict([
306312
("exec", OrderedDict([
307313
("apiVersion", API_VERSION),

tests/unit/customizations/eks/test_update_kubeconfig.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -307,3 +307,20 @@ def test_profile(self):
307307
name="ExampleCluster"
308308
)
309309
self._session.create_client.assert_called_once_with("eks")
310+
311+
def test_create_user_with_alias(self):
312+
self._correct_user_entry["name"] = "alias"
313+
self.assertEqual(self._client.get_user_entry(user_alias="alias"),
314+
self._correct_user_entry)
315+
self._mock_client.describe_cluster.assert_called_once_with(
316+
name="ExampleCluster"
317+
)
318+
self._session.create_client.assert_called_once_with("eks")
319+
320+
def test_create_user_without_alias(self):
321+
self.assertEqual(self._client.get_user_entry(),
322+
self._correct_user_entry)
323+
self._mock_client.describe_cluster.assert_called_once_with(
324+
name="ExampleCluster"
325+
)
326+
self._session.create_client.assert_called_once_with("eks")

0 commit comments

Comments
 (0)