Skip to content

Conversation

@jueyaye
Copy link
Contributor

@jueyaye jueyaye commented Oct 28, 2020

When using a vaulted variable the API key is returned with the type: ansible.parsing.yaml.objects.AnsibleVaultEncryptedUnicode (ref), where as datadogpy expects the type: String (ref). The result is that the API fails to parse the Ansible type and the following (403) error is returned by API:

{
    "status": "error",
    "code": 403,
    "errors": [
        "Forbidden"
    ],
    "statuspage": "http://status.datadoghq.com",
    "twitter": "http://twitter.com/datadogops",
    "email": "support@datadoghq.com"
}

While the AnsibleVaultEncryptedUnicode can not be a considered a String most common python string actions will now work as expected (ref). Casting the API key to a String before it is used to initialise datadogpy seems to resolve the issue where the API returns 403.

=> Relevant test on Ansible Repo:
https://github.com/ansible/ansible/blob/4856ab0e681f799ed4f893a34deb6a50e6d2400e/test/units/config/test_manager.py#L147-L157

@mx-psi mx-psi merged commit c02da23 into DataDog:master Nov 9, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants