in deploy/ansible/action_plugins/public_api.py [0:0]
def get_secrets(self, secrets):
ret = []
if self.vault_url is None:
raise AnsibleActionFail("Failed to get a valid vault URL.")
if self.token_acquired:
secret_params = {"api-version": "2016-10-01"}
secret_headers = {"Authorization": "Bearer " + self.token}
for secret in secrets:
try:
secret_res = requests.get(
self.vault_url + "/secrets/" + secret,
params=secret_params,
headers=secret_headers,
)
ret.append(secret_res.json()["value"])
except requests.exceptions.RequestException:
raise AnsibleActionFail(
"Failed to fetch secret: " + secret + " via MSI endpoint."
)
except KeyError:
raise AnsibleActionFail("Failed to fetch secret " + secret + ".")
return ret
else:
return self.get_secret_non_msi(secrets)