Module cvpysdk.instances.virtualserver.nutanix_ahv

File for operating on a Virtual Server Nutanix AHV Instance.

nutanixinstance is the only class defined in this file.

nutanixinstance: Derived class from VirtualServer Base class, representing a Nutanix AHV instance, and to perform operations on that instance

__init__(self, agent,_name,iid)      --   initialize object of Nutanix AHV
                                          Instance object associated with the
                                          VirtualServer Instance

_get_instance_properties()           --  VirtualServer Instance class method
                                         overwritten to get nutanix AHV
                                        Specific instance properties as well

_get_instance_properties_json()              --  get the all instance related
                                            properties of this subclient.
Expand source code Browse git
# -*- coding: utf-8 -*-

# --------------------------------------------------------------------------
# Copyright Commvault Systems, Inc.
#
# 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.
# --------------------------------------------------------------------------

"""File for operating on a Virtual Server Nutanix AHV Instance.

nutanixinstance is the only class defined in this file.

nutanixinstance:            Derived class from VirtualServer
                            Base class, representing a Nutanix AHV
                            instance, and to perform operations on that
                            instance

    __init__(self, agent,_name,iid)      --   initialize object of Nutanix AHV
                                              Instance object associated with the
                                              VirtualServer Instance

    _get_instance_properties()           --  VirtualServer Instance class method
                                             overwritten to get nutanix AHV
                                            Specific instance properties as well

    _get_instance_properties_json()              --  get the all instance related
                                                properties of this subclient.

"""

from ..vsinstance import VirtualServerInstance
from ...exception import SDKException
from ...instance import Instance


class nutanixinstance(VirtualServerInstance):
    """Class for representing Nutanix AHV instance of the Virtual Server agent"""

    def __init__(self, agent, name, iid):
        """ Initialize the Instance object for the given Virtual Server instance

            Args:
                agent               (object)    --  the instance of the agent class

                name                (str)       --  the name of the instance

                iid                 (int)       --  the instance id

        """
        self._nutanix_cluster = None
        self._username = None
        self._server_name = []
        self._vendor_id = 601
        super(nutanixinstance, self).__init__(agent, name, iid)

    def _get_instance_properties(self):
        """
        Get the properties of this instance

        Raise:
            SDK Exception:
                if response is not empty
                if response is not success
        """

        super(nutanixinstance, self)._get_instance_properties()

        if "vmwareVendor" in self._virtualserverinstance:
            self._nutanix_cluster = self._virtualserverinstance['vmwareVendor'][
                'virtualCenter']['domainName']

            self._username = self._virtualserverinstance['vmwareVendor'][
                'virtualCenter']['userName']

        if 'virtualServerInstance' in self._properties:
            _member_servers = self._properties["virtualServerInstance"] \
                ["associatedClients"]["memberServers"]
            for _each_client in _member_servers:
                client = _each_client['client']
                if 'clientName' in client.keys():
                    self._server_name.append(str(client['clientName']))

    def _get_instance_properties_json(self):
        """get the all instance related properties of this subclient.

          Returns:
               dict - all instance properties put inside a dict

        """
        instance_json = {
            "instanceProperties": {
                "isDeleted": False,
                "instance": self._instance,
                "instanceActivityControl": self._instanceActivityControl,
                "virtualServerInstance": {
                    "vsInstanceType": self._virtualserverinstance['vsInstanceType'],
                    "associatedClients": self._virtualserverinstance['associatedClients'],
                    "vmwareVendor": {}
                }
            }
        }
        return instance_json

    @property
    def server_host_name(self):
        """
        return the associated clients with the instance
        """
        return self._server_name

    @property
    def nutanix_cluster(self):
        """
        returns the nutanix cluster of the instance

        """
        return self._nutanix_cluster

    @property
    def username(self):
        """
        returns the username of the nuatnix cluster
        """
        return self._username

Classes

class nutanixinstance (agent, name, iid)

Class for representing Nutanix AHV instance of the Virtual Server agent

Initialize the Instance object for the given Virtual Server instance

Args

agent (object) – the instance of the agent class

name (str) – the name of the instance

iid (int) – the instance id

Expand source code Browse git
class nutanixinstance(VirtualServerInstance):
    """Class for representing Nutanix AHV instance of the Virtual Server agent"""

    def __init__(self, agent, name, iid):
        """ Initialize the Instance object for the given Virtual Server instance

            Args:
                agent               (object)    --  the instance of the agent class

                name                (str)       --  the name of the instance

                iid                 (int)       --  the instance id

        """
        self._nutanix_cluster = None
        self._username = None
        self._server_name = []
        self._vendor_id = 601
        super(nutanixinstance, self).__init__(agent, name, iid)

    def _get_instance_properties(self):
        """
        Get the properties of this instance

        Raise:
            SDK Exception:
                if response is not empty
                if response is not success
        """

        super(nutanixinstance, self)._get_instance_properties()

        if "vmwareVendor" in self._virtualserverinstance:
            self._nutanix_cluster = self._virtualserverinstance['vmwareVendor'][
                'virtualCenter']['domainName']

            self._username = self._virtualserverinstance['vmwareVendor'][
                'virtualCenter']['userName']

        if 'virtualServerInstance' in self._properties:
            _member_servers = self._properties["virtualServerInstance"] \
                ["associatedClients"]["memberServers"]
            for _each_client in _member_servers:
                client = _each_client['client']
                if 'clientName' in client.keys():
                    self._server_name.append(str(client['clientName']))

    def _get_instance_properties_json(self):
        """get the all instance related properties of this subclient.

          Returns:
               dict - all instance properties put inside a dict

        """
        instance_json = {
            "instanceProperties": {
                "isDeleted": False,
                "instance": self._instance,
                "instanceActivityControl": self._instanceActivityControl,
                "virtualServerInstance": {
                    "vsInstanceType": self._virtualserverinstance['vsInstanceType'],
                    "associatedClients": self._virtualserverinstance['associatedClients'],
                    "vmwareVendor": {}
                }
            }
        }
        return instance_json

    @property
    def server_host_name(self):
        """
        return the associated clients with the instance
        """
        return self._server_name

    @property
    def nutanix_cluster(self):
        """
        returns the nutanix cluster of the instance

        """
        return self._nutanix_cluster

    @property
    def username(self):
        """
        returns the username of the nuatnix cluster
        """
        return self._username

Ancestors

Instance variables

var nutanix_cluster

returns the nutanix cluster of the instance

Expand source code Browse git
@property
def nutanix_cluster(self):
    """
    returns the nutanix cluster of the instance

    """
    return self._nutanix_cluster
var server_host_name

return the associated clients with the instance

Expand source code Browse git
@property
def server_host_name(self):
    """
    return the associated clients with the instance
    """
    return self._server_name
var username

returns the username of the nuatnix cluster

Expand source code Browse git
@property
def username(self):
    """
    returns the username of the nuatnix cluster
    """
    return self._username

Inherited members