add do-backend-mixin
parent
bec4d01063
commit
d244214242
@ -0,0 +1,49 @@
|
||||
from dda_python_terraform import *
|
||||
from .devops_terraform_build import DevopsTerraformBuild
|
||||
|
||||
|
||||
def add_digitalocean_backend_properties_mixin_config(config, account_name):
|
||||
config.update({'DigitaloceanBackendPropertiesMixin':
|
||||
{'account_name': account_name}})
|
||||
return config
|
||||
|
||||
|
||||
class DigitaloceanBackendPropertiesMixin(DigitaloceanTerraformBuild):
|
||||
|
||||
def __init__(self, project, config):
|
||||
super().__init__(project, config)
|
||||
aws_mixin_config = config['DigitaloceanBackendPropertiesMixin']
|
||||
self.account_name = aws_mixin_config['account_name']
|
||||
self.backend_config = "backend." + self.account_name + "." + self.stage + ".properties"
|
||||
self.additional_tfvar_files.append(self.backend_config)
|
||||
|
||||
def project_vars(self):
|
||||
ret = super().project_vars()
|
||||
ret.update({'account_name': self.account_name})
|
||||
return ret
|
||||
|
||||
def copy_build_resources_from_package(self):
|
||||
super().copy_build_resources_from_package()
|
||||
self.copy_build_resource_file_from_package(
|
||||
'do_backend_properties_vars.tf')
|
||||
self.copy_build_resource_file_from_package(
|
||||
'do_backend_with_properties.tf')
|
||||
|
||||
def copy_local_state(self):
|
||||
pass
|
||||
|
||||
def rescue_local_state(self):
|
||||
pass
|
||||
|
||||
def init_client(self):
|
||||
tf = Terraform(working_dir=self.build_path(), terraform_semantic_version=self.terraform_semantic_version)
|
||||
tf.init(backend_config=self.backend_config)
|
||||
self.print_terraform_command(tf)
|
||||
if self.use_workspace:
|
||||
try:
|
||||
tf.workspace('select', self.stage)
|
||||
self.print_terraform_command(tf)
|
||||
except:
|
||||
tf.workspace('new', self.stage)
|
||||
self.print_terraform_command(tf)
|
||||
return tf
|
@ -0,0 +1,5 @@
|
||||
variable "bucket" {}
|
||||
variable "key" {}
|
||||
variable "kms_key_id" {}
|
||||
variable "region" {}
|
||||
variable "account_name" {}
|
@ -0,0 +1,8 @@
|
||||
terraform {
|
||||
backend "s3" {
|
||||
skip_requesting_account_id = true
|
||||
skip_credentials_validation = true
|
||||
skip_get_ec2_platforms = true
|
||||
skip_metadata_api_check = true
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue