# coding: utf-8

"""
    STACKL

    stackl  # noqa: E501

    The version of the OpenAPI document: 0.2.5.dev0
    Generated by: https://openapi-generator.tech
"""


from __future__ import absolute_import

import unittest
import datetime

import stackl_client
from stackl_client.models.stack_infrastructure_template import StackInfrastructureTemplate  # noqa: E501
from stackl_client.rest import ApiException

class TestStackInfrastructureTemplate(unittest.TestCase):
    """StackInfrastructureTemplate unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional):
        """Test StackInfrastructureTemplate
            include_option is a boolean, when False only required
            params are included, when True both required and
            optional params are included """
        # model = stackl_client.models.stack_infrastructure_template.StackInfrastructureTemplate()  # noqa: E501
        if include_optional :
            return StackInfrastructureTemplate(
                name = '0', 
                description = '0', 
                infrastructure_targets = [
                    stackl_client.models.infrastructure_target.InfrastructureTarget(
                        environment = '0', 
                        location = '0', 
                        zone = '0', )
                    ], 
                infrastructure_capabilities = {
                    'key' : stackl_client.models.stack_infrastructure_target.StackInfrastructureTarget(
                        provisioning_parameters = stackl_client.models.provisioning_parameters.Provisioning Parameters(), 
                        cloud_provider = 'generic', 
                        secrets = stackl_client.models.secrets.Secrets(), 
                        resources = {
                            'key' : '0'
                            }, 
                        policies = stackl_client.models.policies.Policies(), 
                        agent = '0', 
                        packages = [
                            '0'
                            ], 
                        tags = {
                            'key' : '0'
                            }, )
                    }, 
                type = 'stack_infrastructure_template', 
                category = 'configs'
            )
        else :
            return StackInfrastructureTemplate(
                name = '0',
                infrastructure_targets = [
                    stackl_client.models.infrastructure_target.InfrastructureTarget(
                        environment = '0', 
                        location = '0', 
                        zone = '0', )
                    ],
        )

    def testStackInfrastructureTemplate(self):
        """Test StackInfrastructureTemplate"""
        inst_req_only = self.make_instance(include_optional=False)
        inst_req_and_optional = self.make_instance(include_optional=True)


if __name__ == '__main__':
    unittest.main()
