mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-10-19 05:39:51 +00:00
47b202554e
This commit adds the Azure SDK for Azure key vault KMS integration to the Ceph CSI driver. Signed-off-by: Praveen M <m.praveen@ibm.com>
142 lines
4.3 KiB
Markdown
142 lines
4.3 KiB
Markdown
## Go
|
|
|
|
```yaml
|
|
clear-output-folder: false
|
|
export-clients: true
|
|
go: true
|
|
input-file: https://github.com/Azure/azure-rest-api-specs/blob/7452e1cc7db72fbc6cd9539b390d8b8e5c2a1864/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.5/secrets.json
|
|
license-header: MICROSOFT_MIT_NO_VERSION
|
|
module: github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/azsecrets
|
|
openapi-type: "data-plane"
|
|
output-folder: ../azsecrets
|
|
override-client-name: Client
|
|
security: "AADToken"
|
|
security-scopes: "https://vault.azure.net/.default"
|
|
use: "@autorest/go@4.0.0-preview.59"
|
|
inject-spans: true
|
|
version: "^3.0.0"
|
|
directive:
|
|
# delete unused model
|
|
- remove-model: SecretProperties
|
|
|
|
# make vault URL a parameter of the client constructor
|
|
- from: swagger-document
|
|
where: $["x-ms-parameterized-host"]
|
|
transform: $.parameters[0]["x-ms-parameter-location"] = "client"
|
|
|
|
# rename parameter models to match their methods
|
|
- rename-model:
|
|
from: SecretRestoreParameters
|
|
to: RestoreSecretParameters
|
|
- rename-model:
|
|
from: SecretSetParameters
|
|
to: SetSecretParameters
|
|
- rename-model:
|
|
from: SecretUpdateParameters
|
|
to: UpdateSecretParameters
|
|
- rename-model:
|
|
from: SecretBundle
|
|
to: Secret
|
|
- rename-model:
|
|
from: DeletedSecretBundle
|
|
to: DeletedSecret
|
|
- rename-model:
|
|
from: SecretItem
|
|
to: SecretProperties
|
|
- rename-model:
|
|
from: DeletedSecretItem
|
|
to: DeletedSecretProperties
|
|
- rename-model:
|
|
from: UpdateSecretParameters
|
|
to: UpdateSecretPropertiesParameters
|
|
- rename-model:
|
|
from: DeletedSecretListResult
|
|
to: DeletedSecretPropertiesListResult
|
|
- rename-model:
|
|
from: SecretListResult
|
|
to: SecretPropertiesListResult
|
|
|
|
# rename operations
|
|
- rename-operation:
|
|
from: GetDeletedSecrets
|
|
to: ListDeletedSecretProperties
|
|
- rename-operation:
|
|
from: GetSecrets
|
|
to: ListSecretProperties
|
|
- rename-operation:
|
|
from: GetSecretVersions
|
|
to: ListSecretPropertiesVersions
|
|
- rename-operation:
|
|
from: UpdateSecret
|
|
to: UpdateSecretProperties
|
|
|
|
# rename fields
|
|
- from: swagger-document
|
|
where: $.definitions.RestoreSecretParameters.properties.value
|
|
transform: $["x-ms-client-name"] = "SecretBackup"
|
|
- from: swagger-document
|
|
where: $.definitions.Secret.properties.kid
|
|
transform: $["x-ms-client-name"] = "KID"
|
|
|
|
# remove type DeletionRecoveryLevel, use string instead
|
|
- from: models.go
|
|
where: $
|
|
transform: return $.replace(/DeletionRecoveryLevel/g, "string");
|
|
|
|
# Remove MaxResults parameter
|
|
- where: "$.paths..*"
|
|
remove-parameter:
|
|
in: query
|
|
name: maxresults
|
|
|
|
# delete unused error models
|
|
- from: models.go
|
|
where: $
|
|
transform: return $.replace(/(?:\/\/.*\s)+type (?:Error|KeyVaultError).+\{(?:\s.+\s)+\}\s/g, "");
|
|
- from: models_serde.go
|
|
where: $
|
|
transform: return $.replace(/(?:\/\/.*\s)+func \(\w \*?(?:Error|KeyVaultError)\).*\{\s(?:.+\s)+\}\s/g, "");
|
|
|
|
# delete the Attributes model defined in common.json (it's used only with allOf)
|
|
- from: models.go
|
|
where: $
|
|
transform: return $.replace(/(?:\/\/.*\s)+type Attributes.+\{(?:\s.+\s)+\}\s/g, "");
|
|
- from: models_serde.go
|
|
where: $
|
|
transform: return $.replace(/(?:\/\/.*\s)+func \(a \*?Attributes\).*\{\s(?:.+\s)+\}\s/g, "");
|
|
|
|
# delete the version path param check (version == "" is legal for Key Vault but indescribable by OpenAPI)
|
|
- from: client.go
|
|
where: $
|
|
transform: return $.replace(/\sif secretVersion == "" \{\s+.+secretVersion cannot be empty"\)\s+\}\s/g, "");
|
|
|
|
# delete client name prefix from method options and response types
|
|
- from:
|
|
- client.go
|
|
- models.go
|
|
- options.go
|
|
- response_types.go
|
|
where: $
|
|
transform: return $.replace(/Client(\w+)((?:Options|Response))/g, "$1$2");
|
|
|
|
# make secret IDs a convenience type so we can add parsing methods
|
|
- from: models.go
|
|
where: $
|
|
transform: return $.replace(/(\sID \*)string(\s+.*)/g, "$1ID$2")
|
|
- from: models.go
|
|
where: $
|
|
transform: return $.replace(/(\sKID \*)string(\s+.*)/g, "$1ID$2")
|
|
|
|
# Maxresults -> MaxResults
|
|
- from:
|
|
- client.go
|
|
- models.go
|
|
where: $
|
|
transform: return $.replace(/Maxresults/g, "MaxResults")
|
|
|
|
# secretName, secretVersion -> name, version
|
|
- from: client.go
|
|
- where: $
|
|
- transform: return $.replace(/secretName/g, "name").replace(/secretVersion/g, "version")
|
|
```
|