use dda-python-teraform instead of outdated python-terraform
This commit is contained in:
parent
8e204af9a4
commit
1fea3afa73
7 changed files with 11 additions and 59 deletions
4
.github/workflows/stable.yml
vendored
4
.github/workflows/stable.yml
vendored
|
@ -20,11 +20,11 @@ jobs:
|
|||
- name: install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install pybuilder ddadevops deprecation setuptools
|
||||
pip install -r requirements.txt
|
||||
|
||||
- name: build stable release
|
||||
env:
|
||||
TWINE_USERNAME: dda
|
||||
TWINE_USERNAME: __token__
|
||||
TWINE_PASSWORD: ${{ secrets.PYPI_DDA }}
|
||||
run: |
|
||||
pyb -P version=${{ github.ref }} publish upload
|
||||
|
|
4
.github/workflows/unstable.yml
vendored
4
.github/workflows/unstable.yml
vendored
|
@ -20,11 +20,11 @@ jobs:
|
|||
- name: install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install pybuilder ddadevops deprecation setuptools
|
||||
pip install -r requirements.txt
|
||||
|
||||
- name: build unstable release
|
||||
env:
|
||||
TWINE_USERNAME: dda
|
||||
TWINE_USERNAME: __token__
|
||||
TWINE_PASSWORD: ${{ secrets.PYPI_DDA }}
|
||||
run: |
|
||||
pyb publish upload
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
|
||||
language: python
|
||||
python:
|
||||
- "3.7"
|
||||
before_script: sudo apt-get install pychecker
|
||||
install: pip install pybuilder
|
||||
script: pyb clean install_dependencies publish
|
|
@ -25,7 +25,7 @@ pip3 install pybuilder ddadevops deprecation --user
|
|||
export PATH=$PATH:~/.local/bin
|
||||
|
||||
# in case of using terraform
|
||||
pip3 install python-terraform --user
|
||||
pip3 install dda-python-terraform --user
|
||||
|
||||
# in case of using AwsMixin
|
||||
pip3 install boto3 --user
|
||||
|
|
4
requirements.txt
Normal file
4
requirements.txt
Normal file
|
@ -0,0 +1,4 @@
|
|||
pybuilder
|
||||
ddadevops
|
||||
deprecation
|
||||
setuptools
|
|
@ -6,7 +6,7 @@ terraform, dda-pallet, aws & hetzner-cloud.
|
|||
|
||||
from .credential import gopass_credential_from_env_path, gopass_credential_from_path, gopass_password_from_path, gopass_field_from_path
|
||||
from .devops_build import DevopsBuild, create_devops_build_config, get_devops_build, get_tag_from_latest_commit
|
||||
from .devops_terraform_build import WorkaroundTerraform, DevopsTerraformBuild, create_devops_terraform_build_config
|
||||
from .devops_terraform_build import DevopsTerraformBuild, create_devops_terraform_build_config
|
||||
from .devops_docker_build import DevopsDockerBuild, create_devops_docker_build_config
|
||||
from .hetzner_mixin import HetznerMixin, add_hetzner_mixin_config
|
||||
from .aws_backend_properties_mixin import AwsBackendPropertiesMixin, add_aws_backend_properties_mixin_config
|
||||
|
|
|
@ -5,7 +5,6 @@ from pkg_resources import *
|
|||
from python_terraform import *
|
||||
from .python_util import filter_none
|
||||
from .devops_build import DevopsBuild, create_devops_build_config
|
||||
from typing import Optional
|
||||
import sys
|
||||
|
||||
|
||||
|
@ -33,50 +32,6 @@ def create_devops_terraform_build_config(stage,
|
|||
'additional_tfvar_files': additional_tfvar_files})
|
||||
return ret
|
||||
|
||||
|
||||
class WorkaroundTerraform(Terraform):
|
||||
def __init__(self, working_dir=None,
|
||||
targets=None,
|
||||
state=None,
|
||||
variables=None,
|
||||
parallelism=None,
|
||||
var_file=None,
|
||||
terraform_bin_path=None,
|
||||
is_env_vars_included=True,
|
||||
):
|
||||
super().__init__(working_dir, targets, state, variables, parallelism,
|
||||
var_file, terraform_bin_path, is_env_vars_included)
|
||||
self.latest_cmd = ''
|
||||
|
||||
def refresh(
|
||||
self,
|
||||
dir_or_plan: Optional[str] = None,
|
||||
input: bool = False,
|
||||
no_color: Type[TerraformFlag] = IsFlagged,
|
||||
**kwargs,
|
||||
) -> CommandOutput:
|
||||
"""Refer to https://terraform.io/docs/commands/refresh.html
|
||||
|
||||
no-color is flagged by default
|
||||
:param no_color: disable color of stdout
|
||||
:param input: disable prompt for a missing variable
|
||||
:param dir_or_plan: folder relative to working folder
|
||||
:param kwargs: same as kwags in method 'cmd'
|
||||
:returns return_code, stdout, stderr
|
||||
"""
|
||||
default = kwargs.copy()
|
||||
default["input"] = input
|
||||
default["no_color"] = no_color
|
||||
option_dict = self._generate_default_options(default)
|
||||
args = self._generate_default_args(dir_or_plan)
|
||||
return self.cmd("refresh", *args, **option_dict)
|
||||
|
||||
def generate_cmd_string(self, cmd, *args, **kwargs):
|
||||
result = super().generate_cmd_string(cmd, *args, **kwargs)
|
||||
self.latest_cmd = ' '.join(result)
|
||||
return result
|
||||
|
||||
|
||||
class DevopsTerraformBuild(DevopsBuild):
|
||||
|
||||
def __init__(self, project, config):
|
||||
|
@ -140,7 +95,7 @@ class DevopsTerraformBuild(DevopsBuild):
|
|||
self.rescue_local_state()
|
||||
|
||||
def init_client(self):
|
||||
tf = WorkaroundTerraform(working_dir=self.build_path())
|
||||
tf = Terraform(working_dir=self.build_path())
|
||||
tf.init()
|
||||
self.print_terraform_command(tf)
|
||||
if self.use_workspace:
|
||||
|
|
Loading…
Reference in a new issue