From 255fe22c432a989facde5d1f6676b5d5451ef32c Mon Sep 17 00:00:00 2001
From: Bence Romsics <bence.romsics@gmail.com>
Date: Wed, 10 Jul 2019 14:37:28 +0200
Subject: [PATCH] New extension: extraroute-atomic

Change-Id: I4e54333ac8db2ad3377c44d2dd1d0e41a90f1a76
Depends-On: https://review.opendev.org/670849
Partial-Bug: #1826396 (rfe)
Related-Change: https://review.opendev.org/655680 (spec)
---
 neutron/extensions/extraroute_atomic.py | 33 +++++++++++++++++++++++++
 1 file changed, 33 insertions(+)
 create mode 100644 neutron/extensions/extraroute_atomic.py

diff --git a/neutron/extensions/extraroute_atomic.py b/neutron/extensions/extraroute_atomic.py
new file mode 100644
index 00000000000..b2428498ab4
--- /dev/null
+++ b/neutron/extensions/extraroute_atomic.py
@@ -0,0 +1,33 @@
+# Copyright 2019 Ericsson Software Technology
+#
+#    Licensed under the Apache License, Version 2.0 (the "License"); you may
+#    not use this file except in compliance with the License. You may obtain
+#    a copy of the License at
+#
+#         http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+#    License for the specific language governing permissions and limitations
+#    under the License.
+
+from neutron_lib.api.definitions import extraroute_atomic
+from neutron_lib.api import extensions as api_extensions
+from neutron_lib.plugins import constants
+
+from neutron.api.v2 import resource_helper
+
+
+class Extraroute_atomic(api_extensions.APIExtensionDescriptor):
+    api_definition = extraroute_atomic
+
+    @classmethod
+    def get_resources(cls):
+        plural_mappings = resource_helper.build_plural_mappings(
+            {}, extraroute_atomic.RESOURCE_ATTRIBUTE_MAP)
+        return resource_helper.build_resource_info(
+            plural_mappings,
+            extraroute_atomic.RESOURCE_ATTRIBUTE_MAP,
+            constants.L3,
+            action_map=extraroute_atomic.ACTION_MAP)