diff --git a/.gitignore b/.gitignore
index adb6273..df09f1f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,4 @@
 /aws-cli-2.11.17.tar.gz
 /aws-cli-2.11.18.tar.gz
 /aws-cli-2.12.0.tar.gz
+/aws-cli-2.13.4.tar.gz
diff --git a/awscli2.spec b/awscli2.spec
index 7065f3a..ff62a65 100644
--- a/awscli2.spec
+++ b/awscli2.spec
@@ -1,7 +1,7 @@
 %global pkgname aws-cli
 
 Name:               awscli2
-Version:            2.12.0
+Version:            2.13.4
 Release:            %autorelease
 
 Summary:            Universal Command Line Environment for AWS, version 2
@@ -13,9 +13,8 @@ URL:                https://github.com/aws/aws-cli/tree/v2
 
 Source0:            https://github.com/aws/aws-cli/archive/%{version}/%{pkgname}-%{version}.tar.gz
 
-# ruamel-yaml 0.17.22 changed whitespace formatting, breaking some TestUpdateKubeconfig tests
-# add a workaround for that until upstream comes with a proper fix
-Patch0:             ruamel-yaml-0.17.22.patch
+# adapt to whitespace formatting changes and removal of OrderedDict in ruamel-yaml
+Patch0:             ruamel-yaml-0.17.32.patch
 
 BuildArch:          noarch
 
diff --git a/ruamel-yaml-0.17.22.patch b/ruamel-yaml-0.17.22.patch
deleted file mode 100644
index 55045f1..0000000
--- a/ruamel-yaml-0.17.22.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/awscli/customizations/eks/ordered_yaml.py b/awscli/customizations/eks/ordered_yaml.py
-index 23834e0..828280a 100644
---- a/awscli/customizations/eks/ordered_yaml.py
-+++ b/awscli/customizations/eks/ordered_yaml.py
-@@ -46,6 +46,7 @@ def ordered_yaml_dump(to_dump, stream=None):
-     :type stream: file
-     """
-     yaml = ruamel.yaml.YAML(typ="safe", pure=True)
-+    yaml.width = 99999
-     yaml.default_flow_style = False
-     yaml.Representer.add_representer(OrderedDict, _ordered_representer)
- 
diff --git a/ruamel-yaml-0.17.32.patch b/ruamel-yaml-0.17.32.patch
new file mode 100644
index 0000000..eee82b9
--- /dev/null
+++ b/ruamel-yaml-0.17.32.patch
@@ -0,0 +1,77 @@
+diff --git a/awscli/customizations/cloudformation/yamlhelper.py b/awscli/customizations/cloudformation/yamlhelper.py
+index abdc749..ef32415 100644
+--- a/awscli/customizations/cloudformation/yamlhelper.py
++++ b/awscli/customizations/cloudformation/yamlhelper.py
+@@ -92,6 +92,7 @@ def yaml_dump(dict_to_dump):
+     yaml.Representer = FlattenAliasRepresenter
+     _add_yaml_1_1_boolean_resolvers(yaml.Resolver)
+     yaml.Representer.add_representer(OrderedDict, _dict_representer)
++    yaml.Representer.add_representer(dict, _dict_representer)
+ 
+     return dump_yaml_to_str(yaml, dict_to_dump)
+ 
+diff --git a/awscli/customizations/eks/kubeconfig.py b/awscli/customizations/eks/kubeconfig.py
+index 5130f7f..64526a7 100644
+--- a/awscli/customizations/eks/kubeconfig.py
++++ b/awscli/customizations/eks/kubeconfig.py
+@@ -44,7 +44,7 @@ def _get_new_kubeconfig_content():
+         ("contexts", []),
+         ("current-context", ""),
+         ("kind", "Config"),
+-        ("preferences", OrderedDict()),
++        ("preferences", {}),
+         ("users", [])
+     ])
+ 
+@@ -121,7 +121,7 @@ class KubeconfigValidator(object):
+             if (key in config.content and
+                     type(config.content[key]) == list):
+                 for element in config.content[key]:
+-                    if not isinstance(element, OrderedDict):
++                    if not isinstance(element, dict):
+                         raise KubeconfigCorruptedError(
+                             f"Entry in {key} not a {dict}. ")
+ 
+diff --git a/awscli/customizations/eks/ordered_yaml.py b/awscli/customizations/eks/ordered_yaml.py
+index 23834e0..1ea6341 100644
+--- a/awscli/customizations/eks/ordered_yaml.py
++++ b/awscli/customizations/eks/ordered_yaml.py
+@@ -46,8 +46,10 @@ def ordered_yaml_dump(to_dump, stream=None):
+     :type stream: file
+     """
+     yaml = ruamel.yaml.YAML(typ="safe", pure=True)
++    yaml.width = 99999
+     yaml.default_flow_style = False
+     yaml.Representer.add_representer(OrderedDict, _ordered_representer)
++    yaml.Representer.add_representer(dict, _ordered_representer)
+ 
+     if stream is None:
+         return dump_yaml_to_str(yaml, to_dump)
+diff --git a/tests/unit/customizations/cloudformation/test_yamlhelper.py b/tests/unit/customizations/cloudformation/test_yamlhelper.py
+index 9f511b0..29a93a5 100644
+--- a/tests/unit/customizations/cloudformation/test_yamlhelper.py
++++ b/tests/unit/customizations/cloudformation/test_yamlhelper.py
+@@ -139,10 +139,10 @@ class TestYaml(BaseYAMLTest):
+         '    Name: name1\n'
+         )
+         output_dict = yaml_parse(input_template)
+-        expected_dict = OrderedDict([
+-            ('B_Resource', OrderedDict([('Key2', {'Name': 'name2'}), ('Key1', {'Name': 'name1'})])),
+-            ('A_Resource', OrderedDict([('Key2', {'Name': 'name2'}), ('Key1', {'Name': 'name1'})]))
+-        ])
++        expected_dict = {
++            'B_Resource': {'Key2': {'Name': 'name2'}, 'Key1': {'Name': 'name1'}},
++            'A_Resource': {'Key2': {'Name': 'name2'}, 'Key1': {'Name': 'name1'}}
++        }
+         self.assertEqual(expected_dict, output_dict)
+ 
+         output_template = yaml_dump(output_dict)
+@@ -156,7 +156,7 @@ class TestYaml(BaseYAMLTest):
+             <<: *base
+         """
+         output = yaml_parse(test_yaml)
+-        self.assertTrue(isinstance(output, OrderedDict))
++        self.assertTrue(isinstance(output, dict))
+         self.assertEqual(output.get('test').get('property'), 'value')
+ 
+     def test_unroll_yaml_anchors(self):
diff --git a/sources b/sources
index 0cbf102..ad3b987 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (aws-cli-2.12.0.tar.gz) = f11988e98363ebb3cff2e28b5bb7a5c406047d9d8dcfdc33efae20c942011bdd827dc30057d151957ad1d79e8e868620016529ee6845acc705228d3899589521
+SHA512 (aws-cli-2.13.4.tar.gz) = 85c494a0af0edec32f3f37b5386132f1ed17e575a7d20d02f4c9e9cced70d660f3de515bfadb645e9a438c82fe59e6f92b5042ee43abcd0f0a79e71edddb8060