xia_engine_terraform.engine.TerraformClient

class xia_engine_terraform.engine.TerraformClient(template_path: str, runtime_path: str, tf_state_field: Optional[str] = None, feedback_url: Optional[str] = None, feedback_api_key: Optional[str] = None, timeout: int = 60, **kwargs)

Bases: object

__init__(template_path: str, runtime_path: str, tf_state_field: Optional[str] = None, feedback_url: Optional[str] = None, feedback_api_key: Optional[str] = None, timeout: int = 60, **kwargs)

Methods

__init__(template_path, runtime_path[, ...])

apply(db_params, document_class, doc_id, ...)

Apply the modification and return running result

clean_runtime(document_class, doc_id)

Clean runtime directory

clean_state(document_class, doc_id)

Clean the state file

destroy(db_params, document_class, doc_id, ...)

Destroy the defined iad

get_db_params()

get_state_path(document_class, doc_id)

Calculate the state file location

lock_wait(document_class, doc_id)

Wait until the lock is released

output(document_class, doc_id)

Get output data (display form without external data)

parse_output(output)

Parse the output into data

prepare_runtime(db_params, document_class, ...)

Prepare runtime terraform files

prepare_state(document_class, doc_id)

Prepare the location to store state

Attributes

backend_tf

apply(db_params: dict, document_class: Type[BaseDocument], doc_id: str, display_content: dict) str

Apply the modification and return running result

Parameters
  • db_params – Database connection parameters

  • document_class – Document Class

  • doc_id – Document id

  • display_content – display contents

Returns

job status

clean_runtime(document_class: Type[BaseDocument], doc_id: str)

Clean runtime directory

Parameters
  • document_class – Document class

  • doc_id – Document ID

clean_state(document_class: Type[BaseDocument], doc_id: str)

Clean the state file

Parameters
  • document_class – Document class

  • doc_id – document ID

destroy(db_params: dict, document_class: Type[BaseDocument], doc_id: str, display_content) str

Destroy the defined iad

Parameters
  • db_params

  • document_class

  • doc_id

  • display_content

Returns

job status

get_state_path(document_class: Type[BaseDocument], doc_id: str)

Calculate the state file location

Parameters
  • document_class – Document class

  • doc_id – document ID

Returns

state_path for the current document

lock_wait(document_class: Type[BaseDocument], doc_id: str)

Wait until the lock is released

Parameters
  • document_class – Document class

  • doc_id – Document id

Notes

Will use the timeout at the objectif level

output(document_class: Type[BaseDocument], doc_id: str) dict

Get output data (display form without external data)

Parameters
  • document_class – Document type

  • doc_id – Document id

classmethod parse_output(output: str)

Parse the output into data

Parameters

output – string (in json format)

Returns

Should be with json format

prepare_runtime(db_params: dict, document_class: Type[BaseDocument], doc_id: str, display_content: dict)

Prepare runtime terraform files

Parameters
  • db_params – Database parameter

  • document_class – Document class related

  • doc_id – Document ID

  • display_content – document content in database form

Returns

runtime path

prepare_state(document_class: Type[BaseDocument], doc_id: str)

Prepare the location to store state

Parameters
  • document_class – Document class

  • doc_id – document ID

Returns

state_path for the current document