Я начал использовать библиотеку python ansible_runner, и мне это очень нравится.
Единственное, чтоявляется то, что мне нужно получить зарегистрированную переменную.И я просто не могу найти, как.
import ansible_runner
class Infra:
def __init__(self, extravars, envvars, private_data_dir):
self.extravars = extravars
self.envvars = envvars
self.private_data_dir = private_data_dir
self.runner = None
def create(self):
self.run("create.yml")
def destroy(self):
self.run("destroy.yml")
def run(self, playbook):
self.runner = ansible_runner.run(
private_data_dir=self.private_data_dir,
playbook=playbook,
verbosity=5,
extravars=self.extravars,
envvars=self.envvars
)
if __name__ == "__main__":
extravars = {}
envvars = {}
private_data_dir = ""
i = infra(extravars, envvars, private_data_dir)
i.create()
Теперь, после того, как я создал инфраструктуру, я хочу получить IP-адрес, зарегистрированный в моем create.yml
- name: "Get terraform output"
shell: >
cd {{ TERRAFORM_CONTEXT_PATH }} && \
export TF_VAR_provisionning_ssh_private_key_path={{ SSH_PRIVATE_KEY }} && \
terraform output -json
register: terraform_output
Это так?что-то возможно?Я заглянул в runner.events
, но не нашел.
Спасибо