enhance terraform class
This commit is contained in:
parent
b24288976e
commit
4cf3ec8460
3 changed files with 20 additions and 0 deletions
|
@ -39,6 +39,7 @@ classDiagram
|
||||||
|
|
||||||
class TerraformDomain {
|
class TerraformDomain {
|
||||||
tf_additional_vars
|
tf_additional_vars
|
||||||
|
tf_additional_resources_from_package
|
||||||
tf_output_json_name
|
tf_output_json_name
|
||||||
tf_use_workspace
|
tf_use_workspace
|
||||||
tf_use_package_common_files
|
tf_use_package_common_files
|
||||||
|
|
|
@ -15,6 +15,9 @@ class TerraformDomain(Validateable):
|
||||||
self.tf_additional_vars = inp.get("tf_additional_vars")
|
self.tf_additional_vars = inp.get("tf_additional_vars")
|
||||||
self.tf_output_json_name = inp.get("tf_output_json_name")
|
self.tf_output_json_name = inp.get("tf_output_json_name")
|
||||||
self.tf_build_commons_path = inp.get("tf_build_commons_path")
|
self.tf_build_commons_path = inp.get("tf_build_commons_path")
|
||||||
|
self.tf_additional_resources_from_package = inp.get(
|
||||||
|
"tf_additional_resources_from_package", []
|
||||||
|
)
|
||||||
self.tf_additional_tfvar_files = inp.get("tf_additional_tfvar_files", [])
|
self.tf_additional_tfvar_files = inp.get("tf_additional_tfvar_files", [])
|
||||||
self.tf_use_workspace = inp.get("tf_use_workspace", True)
|
self.tf_use_workspace = inp.get("tf_use_workspace", True)
|
||||||
self.tf_debug_print_terraform_command = inp.get(
|
self.tf_debug_print_terraform_command = inp.get(
|
||||||
|
@ -33,6 +36,8 @@ class TerraformDomain(Validateable):
|
||||||
result += self.__validate_is_not_empty__("module")
|
result += self.__validate_is_not_empty__("module")
|
||||||
result += self.__validate_is_not_empty__("stage")
|
result += self.__validate_is_not_empty__("stage")
|
||||||
result += self.__validate_is_not_empty__("tf_build_commons_dir_name")
|
result += self.__validate_is_not_empty__("tf_build_commons_dir_name")
|
||||||
|
result += self.__validate_is_not_none__("tf_additional_resources_from_package")
|
||||||
|
result += self.__validate_is_not_none__("tf_additional_tfvar_files")
|
||||||
return result
|
return result
|
||||||
|
|
||||||
def output_json_name(self) -> str:
|
def output_json_name(self) -> str:
|
||||||
|
@ -50,3 +55,8 @@ class TerraformDomain(Validateable):
|
||||||
if self.tf_additional_vars:
|
if self.tf_additional_vars:
|
||||||
ret.update(self.tf_additional_vars)
|
ret.update(self.tf_additional_vars)
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
|
def resources_from_package(self) -> List[str]:
|
||||||
|
result = ["version.tf", "terraform_build_vars.tf"]
|
||||||
|
result += self.tf_additional_resources_from_package
|
||||||
|
return result
|
||||||
|
|
|
@ -36,3 +36,12 @@ def test_should_calculate_project_vars():
|
||||||
config = devops_config({})
|
config = devops_config({})
|
||||||
sut = TerraformDomain(config)
|
sut = TerraformDomain(config)
|
||||||
assert {'module': 'module', 'stage': 'test'} == sut.project_vars()
|
assert {'module': 'module', 'stage': 'test'} == sut.project_vars()
|
||||||
|
|
||||||
|
def test_should_calculate_resources_from_package():
|
||||||
|
config = devops_config({})
|
||||||
|
sut = TerraformDomain(config)
|
||||||
|
assert ["version.tf", "terraform_build_vars.tf"] == sut.resources_from_package()
|
||||||
|
|
||||||
|
config = devops_config({"tf_additional_resources_from_package": ["my.file"]})
|
||||||
|
sut = TerraformDomain(config)
|
||||||
|
assert ["version.tf", "terraform_build_vars.tf", "my.file"] == sut.resources_from_package()
|
Loading…
Reference in a new issue