From cb50a35ab1e617dbd3de1db7afde88c1b8fe0492 Mon Sep 17 00:00:00 2001 From: mtraynham Date: Mon, 9 Sep 2019 17:33:20 -0400 Subject: [PATCH] Add compute API 2.15 Microversion for server groups --- .../BaseMicroVersionedComputeServices.java | 31 +++++++++++++++++++ .../internal/ServerGroupServiceImpl.java | 6 +++- 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 core/src/main/java/org/openstack4j/openstack/compute/internal/BaseMicroVersionedComputeServices.java diff --git a/core/src/main/java/org/openstack4j/openstack/compute/internal/BaseMicroVersionedComputeServices.java b/core/src/main/java/org/openstack4j/openstack/compute/internal/BaseMicroVersionedComputeServices.java new file mode 100644 index 000000000..b03f0b72a --- /dev/null +++ b/core/src/main/java/org/openstack4j/openstack/compute/internal/BaseMicroVersionedComputeServices.java @@ -0,0 +1,31 @@ +package org.openstack4j.openstack.compute.internal; + +import org.openstack4j.api.types.ServiceType; +import org.openstack4j.openstack.internal.MicroVersion; +import org.openstack4j.openstack.internal.MicroVersionedOpenStackService; + +class BaseMicroVersionedComputeServices extends MicroVersionedOpenStackService { + + static MicroVersion MICRO_VERSION_2_15 = new MicroVersion(2, 15); + + BaseMicroVersionedComputeServices(MicroVersion microVersion) { + super(ServiceType.COMPUTE, new ComputeMicroVersion(microVersion)); + } + + @Override + protected String getApiVersionHeader() { + return "OpenStack-API-Version"; + } + + private static class ComputeMicroVersion extends MicroVersion { + + ComputeMicroVersion(MicroVersion microVersion) { + super(microVersion.toString()); + } + + @Override + public String toString() { + return "compute " + super.toString(); + } + } +} diff --git a/core/src/main/java/org/openstack4j/openstack/compute/internal/ServerGroupServiceImpl.java b/core/src/main/java/org/openstack4j/openstack/compute/internal/ServerGroupServiceImpl.java index 373a9e25b..e303671b1 100644 --- a/core/src/main/java/org/openstack4j/openstack/compute/internal/ServerGroupServiceImpl.java +++ b/core/src/main/java/org/openstack4j/openstack/compute/internal/ServerGroupServiceImpl.java @@ -10,7 +10,11 @@ import org.openstack4j.openstack.compute.domain.NovaServerGroup; import org.openstack4j.openstack.compute.domain.NovaServerGroup.ServerGroups; -public class ServerGroupServiceImpl extends BaseComputeServices implements ServerGroupService { +public class ServerGroupServiceImpl extends BaseMicroVersionedComputeServices implements ServerGroupService { + + public ServerGroupServiceImpl() { + super(MICRO_VERSION_2_15); + } @Override public List list() {