Hi, if it makes any difference, I do have a support contract with Bluecat, so I can open official support requests if that’s a good approach for me. I haven’t done that yet. I figured I’d reach out to the community first.
My first question is to ensure the direction I’m going is the most recommended direction. I have BlueCat Address Manager. I’m not sure which of these version strings is useful when asking a question here in the forum. ;-) When I browse to the BAM and click on Help, there is no “About” to simply tell me the version of BAM we have. There is Help > API Documentation, it says version “9.5 RESTful v2 API.” I couldn’t figure out how to query system-info using API v2, but when I query the version from “/system-info” via API v1, I get version string “'9.5.1-049.GA.bcn'”.
I want to automate creation/deletion of CNAME records to support cert automation. I can use any language or tool, including python, terraform, or anything else. My first question is what’s recommended? So far, I have identified 4 possible paths forward. I haven’t chosen one yet, and I’m open to additional options:
- bluecat-libraries pip module
- My reading of the docs, and my experimentation with code seem to suggest API v1 is fully mature, but it’s considered legacy, and I am hesitant to build infrastructure on it, if it’s going to be deprecated. API v2 might be a more powerful API, but the module has very little of it implemented. Am I wrong about any of this?
- On the API Documentation page of the BAM, there is `openapi.json`. I was able to download it and build the SDK via `openapi-generator`. I don’t know if this is better, worse, the same, or different, from the bluecat-libraries pip module.
- I found the bluecat terraform provider https://registry.terraform.io/providers/bluecatlabs/bluecat/latest/docs. It looks great, but it says “The Terraform provider uses BlueCat's REST API version 25.0.0 or above.” which seems to conflict with the API version number I mentioned at the top of this thread. So I haven’t spent any real time trying to use it yet.
- I could DIY using `requests` module or whatever. The API Docs are actually pretty excellent. But I did start working in that direction, and I did get confused at some point. I wanted to find an unused IP address in a CIDR block; I was able to get the address info, but then I got lost trying to figure out how I could query what name(s) pointed to this IP address.
Thanks for your experience, comments, or suggestions.