# coding: utf-8

"""
    Kubernetes

    No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)

    OpenAPI spec version: v1.7.4
    
    Generated by: https://github.com/swagger-api/swagger-codegen.git
"""


from pprint import pformat
from six import iteritems
import re


class V1NodeStatus(object):
    """
    NOTE: This class is auto generated by the swagger code generator program.
    Do not edit the class manually.
    """
    def __init__(self, addresses=None, allocatable=None, capacity=None, conditions=None, daemon_endpoints=None, images=None, node_info=None, phase=None, volumes_attached=None, volumes_in_use=None):
        """
        V1NodeStatus - a model defined in Swagger

        :param dict swaggerTypes: The key is attribute name
                                  and the value is attribute type.
        :param dict attributeMap: The key is attribute name
                                  and the value is json key in definition.
        """
        self.swagger_types = {
            'addresses': 'list[V1NodeAddress]',
            'allocatable': 'dict(str, str)',
            'capacity': 'dict(str, str)',
            'conditions': 'list[V1NodeCondition]',
            'daemon_endpoints': 'V1NodeDaemonEndpoints',
            'images': 'list[V1ContainerImage]',
            'node_info': 'V1NodeSystemInfo',
            'phase': 'str',
            'volumes_attached': 'list[V1AttachedVolume]',
            'volumes_in_use': 'list[str]'
        }

        self.attribute_map = {
            'addresses': 'addresses',
            'allocatable': 'allocatable',
            'capacity': 'capacity',
            'conditions': 'conditions',
            'daemon_endpoints': 'daemonEndpoints',
            'images': 'images',
            'node_info': 'nodeInfo',
            'phase': 'phase',
            'volumes_attached': 'volumesAttached',
            'volumes_in_use': 'volumesInUse'
        }

        self._addresses = addresses
        self._allocatable = allocatable
        self._capacity = capacity
        self._conditions = conditions
        self._daemon_endpoints = daemon_endpoints
        self._images = images
        self._node_info = node_info
        self._phase = phase
        self._volumes_attached = volumes_attached
        self._volumes_in_use = volumes_in_use

    @property
    def addresses(self):
        """
        Gets the addresses of this V1NodeStatus.
        List of addresses reachable to the node. Queried from cloud provider, if available. More info: https://kubernetes.io/docs/concepts/nodes/node/#addresses

        :return: The addresses of this V1NodeStatus.
        :rtype: list[V1NodeAddress]
        """
        return self._addresses

    @addresses.setter
    def addresses(self, addresses):
        """
        Sets the addresses of this V1NodeStatus.
        List of addresses reachable to the node. Queried from cloud provider, if available. More info: https://kubernetes.io/docs/concepts/nodes/node/#addresses

        :param addresses: The addresses of this V1NodeStatus.
        :type: list[V1NodeAddress]
        """

        self._addresses = addresses

    @property
    def allocatable(self):
        """
        Gets the allocatable of this V1NodeStatus.
        Allocatable represents the resources of a node that are available for scheduling. Defaults to Capacity.

        :return: The allocatable of this V1NodeStatus.
        :rtype: dict(str, str)
        """
        return self._allocatable

    @allocatable.setter
    def allocatable(self, allocatable):
        """
        Sets the allocatable of this V1NodeStatus.
        Allocatable represents the resources of a node that are available for scheduling. Defaults to Capacity.

        :param allocatable: The allocatable of this V1NodeStatus.
        :type: dict(str, str)
        """

        self._allocatable = allocatable

    @property
    def capacity(self):
        """
        Gets the capacity of this V1NodeStatus.