xia_engine_terraform.engine.TerraformLocalClient
- class xia_engine_terraform.engine.TerraformLocalClient(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:
TerraformClient
- __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 related resource type
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