From a2f10890383be8146ececed7420ab3485a012d05 Mon Sep 17 00:00:00 2001
From: licanwei
Date: Thu, 28 Nov 2019 16:48:27 +0800
Subject: [PATCH] Use enum class define microversions
Related-Bug: #1854121
Change-Id: I53b51e149be7252093aefcf2878684f42a3209c7
---
watcher/api/controllers/v1/utils.py | 6 ++++--
watcher/api/controllers/v1/versions.py | 27 ++++++++++++--------------
2 files changed, 16 insertions(+), 17 deletions(-)
diff --git a/watcher/api/controllers/v1/utils.py b/watcher/api/controllers/v1/utils.py
index 123c8e6e9..285823ab2 100644
--- a/watcher/api/controllers/v1/utils.py
+++ b/watcher/api/controllers/v1/utils.py
@@ -164,7 +164,8 @@ def allow_start_end_audit_time():
Version 1.1 of the API added support for start and end time of continuous
audits.
"""
- return pecan.request.version.minor >= versions.MINOR_1_START_END_TIMING
+ return pecan.request.version.minor >= (
+ versions.VERSIONS.MINOR_1_START_END_TIMING.value)
def allow_force():
@@ -173,4 +174,5 @@ def allow_force():
Version 1.2 of the API added support for forced audits that allows to
launch audit when other action plan is ongoing.
"""
- return pecan.request.version.minor >= versions.MINOR_2_FORCE
+ return pecan.request.version.minor >= (
+ versions.VERSIONS.MINOR_2_FORCE.value)
diff --git a/watcher/api/controllers/v1/versions.py b/watcher/api/controllers/v1/versions.py
index 6de00d196..eee1eb436 100644
--- a/watcher/api/controllers/v1/versions.py
+++ b/watcher/api/controllers/v1/versions.py
@@ -14,25 +14,22 @@
# License for the specific language governing permissions and limitations
# under the License.
+import enum
+
+
+class VERSIONS(enum.Enum):
+ MINOR_0_ROCKY = 0 # v1.0: corresponds to Rocky API
+ MINOR_1_START_END_TIMING = 1 # v1.1: Add start/end timei for audit
+ MINOR_2_FORCE = 2 # v1.2: Add force field to audit
+ MINOR_MAX_VERSION = 2
# This is the version 1 API
BASE_VERSION = 1
-
-# Here goes a short log of changes in every version.
-#
-# v1.0: corresponds to Rocky API
-# v1.1: Add start/end time for continuous audit
-# v1.2: Add force field to audit
-
-MINOR_0_ROCKY = 0
-MINOR_1_START_END_TIMING = 1
-MINOR_2_FORCE = 2
-
-MINOR_MAX_VERSION = MINOR_2_FORCE
-
# String representations of the minor and maximum versions
-_MIN_VERSION_STRING = '{}.{}'.format(BASE_VERSION, MINOR_0_ROCKY)
-_MAX_VERSION_STRING = '{}.{}'.format(BASE_VERSION, MINOR_MAX_VERSION)
+_MIN_VERSION_STRING = '{}.{}'.format(BASE_VERSION,
+ VERSIONS.MINOR_0_ROCKY.value)
+_MAX_VERSION_STRING = '{}.{}'.format(BASE_VERSION,
+ VERSIONS.MINOR_MAX_VERSION.value)
def service_type_string():