diff --git a/vmware_nsxlib/tests/unit/v3/test_cluster_management.py b/vmware_nsxlib/tests/unit/v3/test_cluster_management.py new file mode 100644 index 00000000..369a989f --- /dev/null +++ b/vmware_nsxlib/tests/unit/v3/test_cluster_management.py @@ -0,0 +1,28 @@ +# Copyright 2019 VMware, Inc. +# All Rights Reserved +# +# 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. +# + +import mock + +from vmware_nsxlib.tests.unit.v3 import nsxlib_testcase + + +class TestNsxLibClusterManagement(nsxlib_testcase.NsxClientTestCase): + + def test_get_restore_status(self): + cluster_api = self.nsxlib.cluster_management + with mock.patch.object(self.nsxlib.client, 'get') as get: + cluster_api.get_restore_status() + get.assert_called_with('cluster/restore/status') diff --git a/vmware_nsxlib/v3/__init__.py b/vmware_nsxlib/v3/__init__.py index 811a3481..c554803e 100644 --- a/vmware_nsxlib/v3/__init__.py +++ b/vmware_nsxlib/v3/__init__.py @@ -19,6 +19,7 @@ from oslo_log import log from vmware_nsxlib._i18n import _ from vmware_nsxlib.v3 import client +from vmware_nsxlib.v3 import cluster_management from vmware_nsxlib.v3 import core_resources from vmware_nsxlib.v3 import exceptions from vmware_nsxlib.v3 import lib @@ -110,6 +111,8 @@ class NsxLib(lib.NsxLibBase): self.client, self.nsxlib_config, nsxlib=self) self.host_switch_profiles = resources.NsxlibHostSwitchProfiles( self.client, self.nsxlib_config, nsxlib=self) + self.cluster_management = cluster_management.NsxLibClusterManagement( + self.client, self.nsxlib_config) # Update tag limits self.tag_limits = self.get_tag_limits() diff --git a/vmware_nsxlib/v3/cluster_management.py b/vmware_nsxlib/v3/cluster_management.py new file mode 100644 index 00000000..3de12112 --- /dev/null +++ b/vmware_nsxlib/v3/cluster_management.py @@ -0,0 +1,26 @@ +# Copyright 2019 VMware, Inc. +# All Rights Reserved +# +# 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 vmware_nsxlib.v3 import utils + +BASE_SECTION = 'cluster' +RESTORE_SECTION = BASE_SECTION + '/restore' + + +class NsxLibClusterManagement(utils.NsxLibApiBase): + + def get_restore_status(self): + resource = RESTORE_SECTION + '/status' + return self.client.get(resource)