Kermit allows the generation of a "Track1" Go SDK using Azure/autorest.go
where an SDK isn't currently be supported by hashicorp/go-azure-sdk
.
This tool supports generating both Data Plane and Resource Manager Services, which are both defined in two distinct files - both of which are output into the ./sdk
directory within this repository.
Data Plane Services can be added to the file ./config/data-plane.hcl
and use the following structure:
data_plane "keyvault" "7.3" {
swagger_tag = "package-7.3"
readme_file_path = "../../config/key-vault/readme.md"
}
These map to:
- Label
keyvault
- the name of the Service (the directory name used within theAzure/azure-rest-api-specs
repository). - Label
7.3
- the API Version for this Service. - Field
swagger_tag
- specifies the Swagger Tag (which must be defined in the associatedreadme.md
example) that should be generated. - Field
readme_file_path
- specifies the relative path to the AutoRest Readme File for this Service, from the./tools/autowrapper
project.
For Resource Manager:
resource_manager "network" "2022-05-01" {
swagger_tag = "package-2022-05"
readme_file_path = "../../swagger/specification/network/resource-manager/readme.md"
}
These map to:
- Label
network
- the name of the Service (the directory name used within theAzure/azure-rest-api-specs
repository). - Label
2022-05-01
- the API Version for this Service. - Field
swagger_tag
- specifies the Swagger Tag (which must be defined in the associatedreadme.md
example) that should be generated. - Field
readme_file_path
- specifies the relative path to the AutoRest Readme File for this Service, from the./tools/autowrapper
project.
The resulting output is run by the ./tools/autowrapper
tool and sent as an auto-PR to this repository - where the generated SDKs get added to ./sdk
in the repository root.
Any issues? Feel free to add an issue.