# coding: utf-8

from __future__ import absolute_import
from datetime import date, datetime  # noqa: F401

from typing import List, Dict  # noqa: F401

from sure_tosca.models.base_model_ import Model
from sure_tosca import util


class NodeTemplate(Model):
    """NOTE: This class is auto generated by the swagger code generator program.

    Do not edit the class manually.
    """

    def __init__(self, items=None, additional_properties=None):  # noqa: E501
        """NodeTemplate - a model defined in Swagger

        :param items: The items of this NodeTemplate.  # noqa: E501
        :type items: object
        :param additional_properties: The additional_properties of this NodeTemplate.  # noqa: E501
        :type additional_properties: object
        """
        self.swagger_types = {
            'items': object,
            'additional_properties': object
        }

        self.attribute_map = {
            'items': 'items',
            'additional_properties': 'additionalProperties'
        }

        self._items = items
        self._additional_properties = additional_properties

    @classmethod
    def from_dict(cls, dikt):
        """Returns the dict as a model

        :param dikt: A dict.
        :type: dict
        :return: The NodeTemplate of this NodeTemplate.  # noqa: E501
        :rtype: NodeTemplate
        """
        return util.deserialize_model(dikt, cls)

    @property
    def items(self):
        """Gets the items of this NodeTemplate.


        :return: The items of this NodeTemplate.
        :rtype: object
        """
        return self._items

    @items.setter
    def items(self, items):
        """Sets the items of this NodeTemplate.


        :param items: The items of this NodeTemplate.
        :type items: object
        """

        self._items = items

    @property
    def additional_properties(self):
        """Gets the additional_properties of this NodeTemplate.


        :return: The additional_properties of this NodeTemplate.
        :rtype: object
        """
        return self._additional_properties

    @additional_properties.setter
    def additional_properties(self, additional_properties):
        """Sets the additional_properties of this NodeTemplate.


        :param additional_properties: The additional_properties of this NodeTemplate.
        :type additional_properties: object
        """

        self._additional_properties = additional_properties
