コード例 #1
0
    def test_duplicate_names(self):
        v1 = terrascript.Variable('name', type='string', default="Me")
        v2 = terrascript.Variable('name', type='string', default="You")

        self.cfg += v1
        self.cfg += v2  # Overwrites v1

        assert len(self.cfg['variable'].keys()) == 1
        assert self.cfg['variable']['name']['type'] == 'string'
        assert self.cfg['variable']['name']['default'] == 'You'
コード例 #2
0
    def test_duplicate_names(self):
        v1 = terrascript.Variable("name", type="string", default="Me")
        v2 = terrascript.Variable("name", type="string", default="You")

        self.cfg += v1
        self.cfg += v2  # Overwrites v1

        assert len(self.cfg["variable"].keys()) == 1
        assert self.cfg["variable"]["name"]["type"] == "string"
        assert self.cfg["variable"]["name"]["default"] == "You"
コード例 #3
0
    def test_two_variables(self):
        v1 = terrascript.Variable('name1', type='string', default="Me")
        v2 = terrascript.Variable('name2', type='string', default="You")

        self.cfg += v1
        self.cfg += v2

        assert len(self.cfg['variable'].keys()) == 2
        assert self.cfg['variable']['name1']['type'] == 'string'
        assert self.cfg['variable']['name1']['default'] == 'Me'
        assert self.cfg['variable']['name2']['type'] == 'string'
        assert self.cfg['variable']['name2']['default'] == 'You'
コード例 #4
0
    def test_two_variables(self):
        v1 = terrascript.Variable("name1", type="string", default="Me")
        v2 = terrascript.Variable("name2", type="string", default="You")

        self.cfg += v1
        self.cfg += v2

        assert len(self.cfg["variable"].keys()) == 2
        assert self.cfg["variable"]["name1"]["type"] == "string"
        assert self.cfg["variable"]["name1"]["default"] == "Me"
        assert self.cfg["variable"]["name2"]["type"] == "string"
        assert self.cfg["variable"]["name2"]["default"] == "You"
コード例 #5
0
    def test_adding_variable_to_resource(self):
        """ Variables added to Resource should be added as reference """
        var = terrascript.Variable("myvar", type="string", default="value")
        resource = terrascript.Resource("Test", var=var)

        assert ("${var.myvar}" == resource.var
                ), "Adding Variable to Resource did not insert reference"
コード例 #6
0
    def test_adding_variable_to_block(self):
        """ Variables added to Block should be added as reference """
        var = terrascript.Variable("myvar", type="string", default="value")
        resource = terrascript.Block(variable=var)

        assert ("${var.myvar}" == resource["variable"]
                ), "Adding Variable to Block did not insert reference"
コード例 #7
0
def test_issue_33():

    ts = terrascript.Terrascript()

    var_access_key = ts.add(terrascript.Variable('access_key'))
    assert isinstance(var_access_key, terrascript.Variable)

    var_secret_key = ts.add(terrascript.Variable('secret_key'))
    assert isinstance(var_secret_key, terrascript.Variable)

    var_region = ts.add(terrascript.Variable('region', default='us-east-1'))
    assert isinstance(var_region, terrascript.Variable)

    ts += terrascript.provider.aws(access_key=var_access_key,
                                   secret_key=var_secret_key,
                                   region=var_region)

    assert ts['provider']['aws'][0]['access_key'] == 'var.access_key'
    assert ts['provider']['aws'][0]['secret_key'] == 'var.secret_key'
    assert ts['provider']['aws'][0]['region'] == 'var.region'
コード例 #8
0
def test_issue_33():

    ts = terrascript.Terrascript()

    var_access_key = ts.add(terrascript.Variable("access_key"))
    assert isinstance(var_access_key, terrascript.Variable)

    var_secret_key = ts.add(terrascript.Variable("secret_key"))
    assert isinstance(var_secret_key, terrascript.Variable)

    var_region = ts.add(terrascript.Variable("region", default="us-east-1"))
    assert isinstance(var_region, terrascript.Variable)

    ts += terrascript.provider.aws(access_key=var_access_key,
                                   secret_key=var_secret_key,
                                   region=var_region)

    assert ts["provider"]["aws"][0]["access_key"] == "${var.access_key}"
    assert ts["provider"]["aws"][0]["secret_key"] == "${var.secret_key}"
    assert ts["provider"]["aws"][0]["region"] == "${var.region}"
コード例 #9
0
    def test_one_variable(self):
        v = terrascript.Variable('name', type="string", default="Hello World")
        assert isinstance(v, terrascript.NamedBlock)
        assert isinstance(v, terrascript.Variable)
        assert v._name == 'name'
        assert v['type'] == 'string'
        assert v['default'] == 'Hello World'

        self.cfg += v
        assert len(self.cfg['variable'].keys()) == 1
        assert self.cfg['variable']['name']['type'] == 'string'
        assert self.cfg['variable']['name']['default'] == 'Hello World'
コード例 #10
0
    def test_one_variable(self):
        v = terrascript.Variable("name", type="string", default="Hello World")
        assert isinstance(v, terrascript.NamedBlock)
        assert isinstance(v, terrascript.Variable)
        assert v._name == "name"
        assert v["type"] == "string"
        assert v["default"] == "Hello World"

        self.cfg += v
        assert len(self.cfg["variable"].keys()) == 1
        assert self.cfg["variable"]["name"]["type"] == "string"
        assert self.cfg["variable"]["name"]["default"] == "Hello World"
コード例 #11
0
    def test_string_interpolation(self):
        var = terrascript.Variable("myvar", type="string", default="myval")

        expected_value = "${var.myvar}"
        assert expected_value == str(
            var
        ), "String interpolation of variable did not return its reference"
        assert expected_value == repr(
            var
        ), "String representation of variable did not return its reference"

        expected_value = "embeded-${var.myvar}"
        assert (expected_value == f"embeded-{var}"
                ), "Formatting a string with variable did not insert reference"
コード例 #12
0
import terrascript
import terrascript.provider
import terrascript.resource

config = terrascript.Terrascript()

# AWS provider
config += terrascript.provider.aws(region="us-east-1")

# Define Variable and add to config
v = terrascript.Variable("image_id", type="string")
config += v

# Define AWS EC2 instance and add to config
i = terrascript.resource.aws_instance("example", instance_type="t2.micro", ami=v)
config += i

# Output the instance's private IP
config += terrascript.Output(
    "instance_ip_addr",
    value=i.private_ip,
    description="The private IP address of the instance.",
)
コード例 #13
0
import terrascript
import terrascript.provider
import terrascript.resource

config = terrascript.Terrascript()

# AWS provider
config += terrascript.provider.aws(region="us-east-1")

# Define Variable and add to config
v = terrascript.Variable('image_id', type='string')
config += v

# Define AWS EC2 instance and add to config
i = terrascript.resource.aws_instance('example',
                                      instance_type='t2.micro',
                                      ami=v)
config += i

# Output the instance's private IP
config += terrascript.Output(
    'instance_ip_addr',
    value=i.private_ip,
    description="The private IP address of the instance.")