From 814c20def740c93ea8a730585d3d8393868f9ee2 Mon Sep 17 00:00:00 2001 From: SDKAuto Date: Mon, 2 Aug 2021 23:42:17 +0000 Subject: [PATCH] CodeGen from PR 14982 in Azure/azure-rest-api-specs KeyVault - /rng response should always return a value on success (#14982) * Make value required for RandomBytes response * format --- .../keyvault/2015-06-01/keyvault/CHANGELOG.md | 16 +- .../keyvault/2015-06-01/keyvault/_meta.json | 2 +- .../keyvault/2016-10-01/keyvault/CHANGELOG.md | 22 +- .../keyvault/2016-10-01/keyvault/_meta.json | 2 +- services/keyvault/v7.0/keyvault/CHANGELOG.md | 26 +- services/keyvault/v7.0/keyvault/_meta.json | 2 +- services/keyvault/v7.1/keyvault/CHANGELOG.md | 26 +- services/keyvault/v7.1/keyvault/_meta.json | 2 +- services/keyvault/v7.1/keyvault/models.go | 2 +- services/keyvault/v7.2/keyvault/CHANGELOG.md | 2 + .../v7.2}/keyvault/_meta.json | 6 +- .../v7.2}/keyvault/client.go | 259 ++++------- .../v7.2}/keyvault/enums.go | 116 ++++- .../v7.2}/keyvault/hsmsecuritydomain.go | 136 ++++-- .../v7.2}/keyvault/keyvaultapi/interfaces.go | 11 +- .../v7.2}/keyvault/models.go | 210 ++++----- .../v7.2}/keyvault/roleassignments.go | 8 +- .../keyvault/v7.2/keyvault/roledefinitions.go | 401 ++++++++++++++++++ .../v7.2}/keyvault/version.go | 2 +- .../v7.2-preview/keyvault/CHANGELOG.md | 26 -- .../v7.2-preview/keyvault/roledefinitions.go | 151 ------- 21 files changed, 802 insertions(+), 626 deletions(-) create mode 100644 services/keyvault/v7.2/keyvault/CHANGELOG.md rename services/{preview/keyvault/v7.2-preview => keyvault/v7.2}/keyvault/_meta.json (56%) rename services/{preview/keyvault/v7.2-preview => keyvault/v7.2}/keyvault/client.go (97%) rename services/{preview/keyvault/v7.2-preview => keyvault/v7.2}/keyvault/enums.go (66%) rename services/{preview/keyvault/v7.2-preview => keyvault/v7.2}/keyvault/hsmsecuritydomain.go (75%) rename services/{preview/keyvault/v7.2-preview => keyvault/v7.2}/keyvault/keyvaultapi/interfaces.go (95%) rename services/{preview/keyvault/v7.2-preview => keyvault/v7.2}/keyvault/models.go (96%) rename services/{preview/keyvault/v7.2-preview => keyvault/v7.2}/keyvault/roleassignments.go (99%) create mode 100644 services/keyvault/v7.2/keyvault/roledefinitions.go rename services/{preview/keyvault/v7.2-preview => keyvault/v7.2}/keyvault/version.go (90%) delete mode 100644 services/preview/keyvault/v7.2-preview/keyvault/CHANGELOG.md delete mode 100644 services/preview/keyvault/v7.2-preview/keyvault/roledefinitions.go diff --git a/services/keyvault/2015-06-01/keyvault/CHANGELOG.md b/services/keyvault/2015-06-01/keyvault/CHANGELOG.md index 91f8406d0ced..a1ecf841edb0 100644 --- a/services/keyvault/2015-06-01/keyvault/CHANGELOG.md +++ b/services/keyvault/2015-06-01/keyvault/CHANGELOG.md @@ -1,16 +1,2 @@ -# Change History +# Unreleased -## Additive Changes - -### New Funcs - -1. BackupKeyResult.MarshalJSON() ([]byte, error) -1. CertificateIssuerListResult.MarshalJSON() ([]byte, error) -1. CertificateListResult.MarshalJSON() ([]byte, error) -1. Error.MarshalJSON() ([]byte, error) -1. ErrorType.MarshalJSON() ([]byte, error) -1. KeyListResult.MarshalJSON() ([]byte, error) -1. KeyOperationResult.MarshalJSON() ([]byte, error) -1. KeyVerifyResult.MarshalJSON() ([]byte, error) -1. PendingCertificateSigningRequestResult.MarshalJSON() ([]byte, error) -1. SecretListResult.MarshalJSON() ([]byte, error) diff --git a/services/keyvault/2015-06-01/keyvault/_meta.json b/services/keyvault/2015-06-01/keyvault/_meta.json index cf39e26000e0..3e0623761da7 100644 --- a/services/keyvault/2015-06-01/keyvault/_meta.json +++ b/services/keyvault/2015-06-01/keyvault/_meta.json @@ -1,5 +1,5 @@ { - "commit": "3c764635e7d442b3e74caf593029fcd440b3ef82", + "commit": "29ca2b61aeb5cb9d49218a412cb4e06a5243c749", "readme": "/_/azure-rest-api-specs/specification/keyvault/data-plane/readme.md", "tag": "package-2015-06", "use": "@microsoft.azure/autorest.go@2.1.183", diff --git a/services/keyvault/2016-10-01/keyvault/CHANGELOG.md b/services/keyvault/2016-10-01/keyvault/CHANGELOG.md index 56d57141c719..a1ecf841edb0 100644 --- a/services/keyvault/2016-10-01/keyvault/CHANGELOG.md +++ b/services/keyvault/2016-10-01/keyvault/CHANGELOG.md @@ -1,22 +1,2 @@ -# Change History +# Unreleased -## Additive Changes - -### New Funcs - -1. BackupKeyResult.MarshalJSON() ([]byte, error) -1. BackupSecretResult.MarshalJSON() ([]byte, error) -1. CertificateIssuerListResult.MarshalJSON() ([]byte, error) -1. CertificateListResult.MarshalJSON() ([]byte, error) -1. DeletedCertificateListResult.MarshalJSON() ([]byte, error) -1. DeletedKeyListResult.MarshalJSON() ([]byte, error) -1. DeletedSecretListResult.MarshalJSON() ([]byte, error) -1. Error.MarshalJSON() ([]byte, error) -1. ErrorType.MarshalJSON() ([]byte, error) -1. KeyListResult.MarshalJSON() ([]byte, error) -1. KeyOperationResult.MarshalJSON() ([]byte, error) -1. KeyVerifyResult.MarshalJSON() ([]byte, error) -1. PendingCertificateSigningRequestResult.MarshalJSON() ([]byte, error) -1. SasDefinitionListResult.MarshalJSON() ([]byte, error) -1. SecretListResult.MarshalJSON() ([]byte, error) -1. StorageListResult.MarshalJSON() ([]byte, error) diff --git a/services/keyvault/2016-10-01/keyvault/_meta.json b/services/keyvault/2016-10-01/keyvault/_meta.json index b80d213c9e6d..76ac1363f6cf 100644 --- a/services/keyvault/2016-10-01/keyvault/_meta.json +++ b/services/keyvault/2016-10-01/keyvault/_meta.json @@ -1,5 +1,5 @@ { - "commit": "3c764635e7d442b3e74caf593029fcd440b3ef82", + "commit": "29ca2b61aeb5cb9d49218a412cb4e06a5243c749", "readme": "/_/azure-rest-api-specs/specification/keyvault/data-plane/readme.md", "tag": "package-2016-10", "use": "@microsoft.azure/autorest.go@2.1.183", diff --git a/services/keyvault/v7.0/keyvault/CHANGELOG.md b/services/keyvault/v7.0/keyvault/CHANGELOG.md index 6c701c1c40af..a1ecf841edb0 100644 --- a/services/keyvault/v7.0/keyvault/CHANGELOG.md +++ b/services/keyvault/v7.0/keyvault/CHANGELOG.md @@ -1,26 +1,2 @@ -# Change History +# Unreleased -## Additive Changes - -### New Funcs - -1. BackupCertificateResult.MarshalJSON() ([]byte, error) -1. BackupKeyResult.MarshalJSON() ([]byte, error) -1. BackupSecretResult.MarshalJSON() ([]byte, error) -1. BackupStorageResult.MarshalJSON() ([]byte, error) -1. CertificateIssuerListResult.MarshalJSON() ([]byte, error) -1. CertificateListResult.MarshalJSON() ([]byte, error) -1. DeletedCertificateListResult.MarshalJSON() ([]byte, error) -1. DeletedKeyListResult.MarshalJSON() ([]byte, error) -1. DeletedSasDefinitionListResult.MarshalJSON() ([]byte, error) -1. DeletedSecretListResult.MarshalJSON() ([]byte, error) -1. DeletedStorageListResult.MarshalJSON() ([]byte, error) -1. Error.MarshalJSON() ([]byte, error) -1. ErrorType.MarshalJSON() ([]byte, error) -1. KeyListResult.MarshalJSON() ([]byte, error) -1. KeyOperationResult.MarshalJSON() ([]byte, error) -1. KeyVerifyResult.MarshalJSON() ([]byte, error) -1. PendingCertificateSigningRequestResult.MarshalJSON() ([]byte, error) -1. SasDefinitionListResult.MarshalJSON() ([]byte, error) -1. SecretListResult.MarshalJSON() ([]byte, error) -1. StorageListResult.MarshalJSON() ([]byte, error) diff --git a/services/keyvault/v7.0/keyvault/_meta.json b/services/keyvault/v7.0/keyvault/_meta.json index 8f489243dc47..ecd0ca4bcfbd 100644 --- a/services/keyvault/v7.0/keyvault/_meta.json +++ b/services/keyvault/v7.0/keyvault/_meta.json @@ -1,5 +1,5 @@ { - "commit": "3c764635e7d442b3e74caf593029fcd440b3ef82", + "commit": "29ca2b61aeb5cb9d49218a412cb4e06a5243c749", "readme": "/_/azure-rest-api-specs/specification/keyvault/data-plane/readme.md", "tag": "package-7.0", "use": "@microsoft.azure/autorest.go@2.1.183", diff --git a/services/keyvault/v7.1/keyvault/CHANGELOG.md b/services/keyvault/v7.1/keyvault/CHANGELOG.md index 6c701c1c40af..a1ecf841edb0 100644 --- a/services/keyvault/v7.1/keyvault/CHANGELOG.md +++ b/services/keyvault/v7.1/keyvault/CHANGELOG.md @@ -1,26 +1,2 @@ -# Change History +# Unreleased -## Additive Changes - -### New Funcs - -1. BackupCertificateResult.MarshalJSON() ([]byte, error) -1. BackupKeyResult.MarshalJSON() ([]byte, error) -1. BackupSecretResult.MarshalJSON() ([]byte, error) -1. BackupStorageResult.MarshalJSON() ([]byte, error) -1. CertificateIssuerListResult.MarshalJSON() ([]byte, error) -1. CertificateListResult.MarshalJSON() ([]byte, error) -1. DeletedCertificateListResult.MarshalJSON() ([]byte, error) -1. DeletedKeyListResult.MarshalJSON() ([]byte, error) -1. DeletedSasDefinitionListResult.MarshalJSON() ([]byte, error) -1. DeletedSecretListResult.MarshalJSON() ([]byte, error) -1. DeletedStorageListResult.MarshalJSON() ([]byte, error) -1. Error.MarshalJSON() ([]byte, error) -1. ErrorType.MarshalJSON() ([]byte, error) -1. KeyListResult.MarshalJSON() ([]byte, error) -1. KeyOperationResult.MarshalJSON() ([]byte, error) -1. KeyVerifyResult.MarshalJSON() ([]byte, error) -1. PendingCertificateSigningRequestResult.MarshalJSON() ([]byte, error) -1. SasDefinitionListResult.MarshalJSON() ([]byte, error) -1. SecretListResult.MarshalJSON() ([]byte, error) -1. StorageListResult.MarshalJSON() ([]byte, error) diff --git a/services/keyvault/v7.1/keyvault/_meta.json b/services/keyvault/v7.1/keyvault/_meta.json index e01148a28787..df465edb679c 100644 --- a/services/keyvault/v7.1/keyvault/_meta.json +++ b/services/keyvault/v7.1/keyvault/_meta.json @@ -1,5 +1,5 @@ { - "commit": "3c764635e7d442b3e74caf593029fcd440b3ef82", + "commit": "29ca2b61aeb5cb9d49218a412cb4e06a5243c749", "readme": "/_/azure-rest-api-specs/specification/keyvault/data-plane/readme.md", "tag": "package-7.1", "use": "@microsoft.azure/autorest.go@2.1.183", diff --git a/services/keyvault/v7.1/keyvault/models.go b/services/keyvault/v7.1/keyvault/models.go index 8ebcb0f24cf8..bc15b72d0989 100644 --- a/services/keyvault/v7.1/keyvault/models.go +++ b/services/keyvault/v7.1/keyvault/models.go @@ -2518,7 +2518,7 @@ type KeyOperationsParameters struct { // KeyProperties properties of the key pair backing a certificate. type KeyProperties struct { - // Exportable - Indicates if the private key can be exported. + // Exportable - Not supported in this version. Indicates if the private key can be exported. Exportable *bool `json:"exportable,omitempty"` // KeyType - The type of key pair to be used for the certificate. Possible values include: 'EC', 'ECHSM', 'RSA', 'RSAHSM', 'Oct' KeyType JSONWebKeyType `json:"kty,omitempty"` diff --git a/services/keyvault/v7.2/keyvault/CHANGELOG.md b/services/keyvault/v7.2/keyvault/CHANGELOG.md new file mode 100644 index 000000000000..a1ecf841edb0 --- /dev/null +++ b/services/keyvault/v7.2/keyvault/CHANGELOG.md @@ -0,0 +1,2 @@ +# Unreleased + diff --git a/services/preview/keyvault/v7.2-preview/keyvault/_meta.json b/services/keyvault/v7.2/keyvault/_meta.json similarity index 56% rename from services/preview/keyvault/v7.2-preview/keyvault/_meta.json rename to services/keyvault/v7.2/keyvault/_meta.json index 66d16411156a..ee811238a44f 100644 --- a/services/preview/keyvault/v7.2-preview/keyvault/_meta.json +++ b/services/keyvault/v7.2/keyvault/_meta.json @@ -1,10 +1,10 @@ { - "commit": "3c764635e7d442b3e74caf593029fcd440b3ef82", + "commit": "29ca2b61aeb5cb9d49218a412cb4e06a5243c749", "readme": "/_/azure-rest-api-specs/specification/keyvault/data-plane/readme.md", - "tag": "package-7.2-preview", + "tag": "package-7.2", "use": "@microsoft.azure/autorest.go@2.1.183", "repository_url": "https://github.com/Azure/azure-rest-api-specs.git", - "autorest_command": "autorest --use=@microsoft.azure/autorest.go@2.1.183 --tag=package-7.2-preview --go-sdk-folder=/_/azure-sdk-for-go --go --verbose --use-onever --version=V2 --go.license-header=MICROSOFT_MIT_NO_VERSION /_/azure-rest-api-specs/specification/keyvault/data-plane/readme.md", + "autorest_command": "autorest --use=@microsoft.azure/autorest.go@2.1.183 --tag=package-7.2 --go-sdk-folder=/_/azure-sdk-for-go --go --verbose --use-onever --version=V2 --go.license-header=MICROSOFT_MIT_NO_VERSION /_/azure-rest-api-specs/specification/keyvault/data-plane/readme.md", "additional_properties": { "additional_options": "--go --verbose --use-onever --version=V2 --go.license-header=MICROSOFT_MIT_NO_VERSION" } diff --git a/services/preview/keyvault/v7.2-preview/keyvault/client.go b/services/keyvault/v7.2/keyvault/client.go similarity index 97% rename from services/preview/keyvault/v7.2-preview/keyvault/client.go rename to services/keyvault/v7.2/keyvault/client.go index 4338e4b6d20a..a8209723379d 100644 --- a/services/preview/keyvault/v7.2-preview/keyvault/client.go +++ b/services/keyvault/v7.2/keyvault/client.go @@ -1,4 +1,4 @@ -// Package keyvault implements the Azure ARM Keyvault service API version 7.2-preview. +// Package keyvault implements the Azure ARM Keyvault service API version 7.2. // // The key vault client performs cryptographic key operations and vault operations against the Key Vault service. package keyvault @@ -83,7 +83,7 @@ func (client BaseClient) BackupCertificatePreparer(ctx context.Context, vaultBas "certificate-name": autorest.Encode("path", certificateName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -169,7 +169,7 @@ func (client BaseClient) BackupKeyPreparer(ctx context.Context, vaultBaseURL str "key-name": autorest.Encode("path", keyName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -248,7 +248,7 @@ func (client BaseClient) BackupSecretPreparer(ctx context.Context, vaultBaseURL "secret-name": autorest.Encode("path", secretName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -327,7 +327,7 @@ func (client BaseClient) BackupStorageAccountPreparer(ctx context.Context, vault "storage-account-name": autorest.Encode("path", storageAccountName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -420,7 +420,7 @@ func (client BaseClient) CreateCertificatePreparer(ctx context.Context, vaultBas "certificate-name": autorest.Encode("path", certificateName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -508,7 +508,7 @@ func (client BaseClient) CreateKeyPreparer(ctx context.Context, vaultBaseURL str "key-name": autorest.Encode("path", keyName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -601,7 +601,7 @@ func (client BaseClient) DecryptPreparer(ctx context.Context, vaultBaseURL strin "key-version": autorest.Encode("path", keyVersion), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -683,7 +683,7 @@ func (client BaseClient) DeleteCertificatePreparer(ctx context.Context, vaultBas "certificate-name": autorest.Encode("path", certificateName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -757,7 +757,7 @@ func (client BaseClient) DeleteCertificateContactsPreparer(ctx context.Context, "vaultBaseUrl": vaultBaseURL, } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -836,7 +836,7 @@ func (client BaseClient) DeleteCertificateIssuerPreparer(ctx context.Context, va "issuer-name": autorest.Encode("path", issuerName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -915,7 +915,7 @@ func (client BaseClient) DeleteCertificateOperationPreparer(ctx context.Context, "certificate-name": autorest.Encode("path", certificateName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -995,7 +995,7 @@ func (client BaseClient) DeleteKeyPreparer(ctx context.Context, vaultBaseURL str "key-name": autorest.Encode("path", keyName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -1084,7 +1084,7 @@ func (client BaseClient) DeleteSasDefinitionPreparer(ctx context.Context, vaultB "storage-account-name": autorest.Encode("path", storageAccountName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -1163,7 +1163,7 @@ func (client BaseClient) DeleteSecretPreparer(ctx context.Context, vaultBaseURL "secret-name": autorest.Encode("path", secretName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -1247,7 +1247,7 @@ func (client BaseClient) DeleteStorageAccountPreparer(ctx context.Context, vault "storage-account-name": autorest.Encode("path", storageAccountName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -1340,7 +1340,7 @@ func (client BaseClient) EncryptPreparer(ctx context.Context, vaultBaseURL strin "key-version": autorest.Encode("path", keyVersion), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -1373,97 +1373,6 @@ func (client BaseClient) EncryptResponder(resp *http.Response) (result KeyOperat return } -// ExportKey the export key operation is applicable to all key types. The target key must be marked exportable. This -// operation requires the keys/export permission. -// Parameters: -// vaultBaseURL - the vault name, for example https://myvault.vault.azure.net. -// keyName - the name of the key to get. -// keyVersion - adding the version parameter retrieves a specific version of a key. -// parameters - the parameters for the key export operation. -func (client BaseClient) ExportKey(ctx context.Context, vaultBaseURL string, keyName string, keyVersion string, parameters KeyExportParameters) (result KeyBundle, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.ExportKey") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: parameters, - Constraints: []validation.Constraint{{Target: "parameters.Environment", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "parameters.Environment", Name: validation.MinLength, Rule: 1, Chain: nil}}}}}}); err != nil { - return result, validation.NewError("keyvault.BaseClient", "ExportKey", err.Error()) - } - - req, err := client.ExportKeyPreparer(ctx, vaultBaseURL, keyName, keyVersion, parameters) - if err != nil { - err = autorest.NewErrorWithError(err, "keyvault.BaseClient", "ExportKey", nil, "Failure preparing request") - return - } - - resp, err := client.ExportKeySender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "keyvault.BaseClient", "ExportKey", resp, "Failure sending request") - return - } - - result, err = client.ExportKeyResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "keyvault.BaseClient", "ExportKey", resp, "Failure responding to request") - return - } - - return -} - -// ExportKeyPreparer prepares the ExportKey request. -func (client BaseClient) ExportKeyPreparer(ctx context.Context, vaultBaseURL string, keyName string, keyVersion string, parameters KeyExportParameters) (*http.Request, error) { - urlParameters := map[string]interface{}{ - "vaultBaseUrl": vaultBaseURL, - } - - pathParameters := map[string]interface{}{ - "key-name": autorest.Encode("path", keyName), - "key-version": autorest.Encode("path", keyVersion), - } - - const APIVersion = "7.2-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPost(), - autorest.WithCustomBaseURL("{vaultBaseUrl}", urlParameters), - autorest.WithPathParameters("/keys/{key-name}/{key-version}/export", pathParameters), - autorest.WithJSON(parameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ExportKeySender sends the ExportKey request. The method will close the -// http.Response Body if it receives an error. -func (client BaseClient) ExportKeySender(req *http.Request) (*http.Response, error) { - return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ExportKeyResponder handles the response to the ExportKey request. The method always -// closes the http.Response Body. -func (client BaseClient) ExportKeyResponder(resp *http.Response) (result KeyBundle, err error) { - err = autorest.Respond( - resp, - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - // FullBackup creates a full backup using a user-provided SAS token to an Azure blob storage container. // Parameters: // vaultBaseURL - the vault name, for example https://myvault.vault.azure.net. @@ -1511,7 +1420,7 @@ func (client BaseClient) FullBackupPreparer(ctx context.Context, vaultBaseURL st "vaultBaseUrl": vaultBaseURL, } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -1603,7 +1512,7 @@ func (client BaseClient) FullBackupStatusPreparer(ctx context.Context, vaultBase "jobId": autorest.Encode("path", jobID), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -1684,7 +1593,7 @@ func (client BaseClient) FullRestoreOperationPreparer(ctx context.Context, vault "vaultBaseUrl": vaultBaseURL, } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -1780,7 +1689,7 @@ func (client BaseClient) GetCertificatePreparer(ctx context.Context, vaultBaseUR "certificate-version": autorest.Encode("path", certificateVersion), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -1854,7 +1763,7 @@ func (client BaseClient) GetCertificateContactsPreparer(ctx context.Context, vau "vaultBaseUrl": vaultBaseURL, } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -1933,7 +1842,7 @@ func (client BaseClient) GetCertificateIssuerPreparer(ctx context.Context, vault "issuer-name": autorest.Encode("path", issuerName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -2023,7 +1932,7 @@ func (client BaseClient) GetCertificateIssuersPreparer(ctx context.Context, vaul "vaultBaseUrl": vaultBaseURL, } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -2142,7 +2051,7 @@ func (client BaseClient) GetCertificateOperationPreparer(ctx context.Context, va "certificate-name": autorest.Encode("path", certificateName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -2221,7 +2130,7 @@ func (client BaseClient) GetCertificatePolicyPreparer(ctx context.Context, vault "certificate-name": autorest.Encode("path", certificateName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -2312,7 +2221,7 @@ func (client BaseClient) GetCertificatesPreparer(ctx context.Context, vaultBaseU "vaultBaseUrl": vaultBaseURL, } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -2450,7 +2359,7 @@ func (client BaseClient) GetCertificateVersionsPreparer(ctx context.Context, vau "certificate-name": autorest.Encode("path", certificateName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -2570,7 +2479,7 @@ func (client BaseClient) GetDeletedCertificatePreparer(ctx context.Context, vaul "certificate-name": autorest.Encode("path", certificateName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -2663,7 +2572,7 @@ func (client BaseClient) GetDeletedCertificatesPreparer(ctx context.Context, vau "vaultBaseUrl": vaultBaseURL, } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -2786,7 +2695,7 @@ func (client BaseClient) GetDeletedKeyPreparer(ctx context.Context, vaultBaseURL "key-name": autorest.Encode("path", keyName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -2878,7 +2787,7 @@ func (client BaseClient) GetDeletedKeysPreparer(ctx context.Context, vaultBaseUR "vaultBaseUrl": vaultBaseURL, } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -3007,7 +2916,7 @@ func (client BaseClient) GetDeletedSasDefinitionPreparer(ctx context.Context, va "storage-account-name": autorest.Encode("path", storageAccountName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -3104,7 +3013,7 @@ func (client BaseClient) GetDeletedSasDefinitionsPreparer(ctx context.Context, v "storage-account-name": autorest.Encode("path", storageAccountName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -3223,7 +3132,7 @@ func (client BaseClient) GetDeletedSecretPreparer(ctx context.Context, vaultBase "secret-name": autorest.Encode("path", secretName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -3313,7 +3222,7 @@ func (client BaseClient) GetDeletedSecretsPreparer(ctx context.Context, vaultBas "vaultBaseUrl": vaultBaseURL, } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -3438,7 +3347,7 @@ func (client BaseClient) GetDeletedStorageAccountPreparer(ctx context.Context, v "storage-account-name": autorest.Encode("path", storageAccountName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -3528,7 +3437,7 @@ func (client BaseClient) GetDeletedStorageAccountsPreparer(ctx context.Context, "vaultBaseUrl": vaultBaseURL, } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -3650,7 +3559,7 @@ func (client BaseClient) GetKeyPreparer(ctx context.Context, vaultBaseURL string "key-version": autorest.Encode("path", keyVersion), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -3742,7 +3651,7 @@ func (client BaseClient) GetKeysPreparer(ctx context.Context, vaultBaseURL strin "vaultBaseUrl": vaultBaseURL, } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -3877,7 +3786,7 @@ func (client BaseClient) GetKeyVersionsPreparer(ctx context.Context, vaultBaseUR "key-name": autorest.Encode("path", keyName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -4006,7 +3915,7 @@ func (client BaseClient) GetSasDefinitionPreparer(ctx context.Context, vaultBase "storage-account-name": autorest.Encode("path", storageAccountName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -4103,7 +4012,7 @@ func (client BaseClient) GetSasDefinitionsPreparer(ctx context.Context, vaultBas "storage-account-name": autorest.Encode("path", storageAccountName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -4225,7 +4134,7 @@ func (client BaseClient) GetSecretPreparer(ctx context.Context, vaultBaseURL str "secret-version": autorest.Encode("path", secretVersion), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -4316,7 +4225,7 @@ func (client BaseClient) GetSecretsPreparer(ctx context.Context, vaultBaseURL st "vaultBaseUrl": vaultBaseURL, } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -4451,7 +4360,7 @@ func (client BaseClient) GetSecretVersionsPreparer(ctx context.Context, vaultBas "secret-name": autorest.Encode("path", secretName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -4576,7 +4485,7 @@ func (client BaseClient) GetStorageAccountPreparer(ctx context.Context, vaultBas "storage-account-name": autorest.Encode("path", storageAccountName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -4666,7 +4575,7 @@ func (client BaseClient) GetStorageAccountsPreparer(ctx context.Context, vaultBa "vaultBaseUrl": vaultBaseURL, } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -4801,7 +4710,7 @@ func (client BaseClient) ImportCertificatePreparer(ctx context.Context, vaultBas "certificate-name": autorest.Encode("path", certificateName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -4892,7 +4801,7 @@ func (client BaseClient) ImportKeyPreparer(ctx context.Context, vaultBaseURL str "key-name": autorest.Encode("path", keyName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -4980,7 +4889,7 @@ func (client BaseClient) MergeCertificatePreparer(ctx context.Context, vaultBase "certificate-name": autorest.Encode("path", certificateName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -5062,7 +4971,7 @@ func (client BaseClient) PurgeDeletedCertificatePreparer(ctx context.Context, va "certificate-name": autorest.Encode("path", certificateName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -5141,7 +5050,7 @@ func (client BaseClient) PurgeDeletedKeyPreparer(ctx context.Context, vaultBaseU "key-name": autorest.Encode("path", keyName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -5220,7 +5129,7 @@ func (client BaseClient) PurgeDeletedSecretPreparer(ctx context.Context, vaultBa "secret-name": autorest.Encode("path", secretName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -5305,7 +5214,7 @@ func (client BaseClient) PurgeDeletedStorageAccountPreparer(ctx context.Context, "storage-account-name": autorest.Encode("path", storageAccountName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -5384,7 +5293,7 @@ func (client BaseClient) RecoverDeletedCertificatePreparer(ctx context.Context, "certificate-name": autorest.Encode("path", certificateName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -5465,7 +5374,7 @@ func (client BaseClient) RecoverDeletedKeyPreparer(ctx context.Context, vaultBas "key-name": autorest.Encode("path", keyName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -5554,7 +5463,7 @@ func (client BaseClient) RecoverDeletedSasDefinitionPreparer(ctx context.Context "storage-account-name": autorest.Encode("path", storageAccountName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -5633,7 +5542,7 @@ func (client BaseClient) RecoverDeletedSecretPreparer(ctx context.Context, vault "secret-name": autorest.Encode("path", secretName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -5718,7 +5627,7 @@ func (client BaseClient) RecoverDeletedStorageAccountPreparer(ctx context.Contex "storage-account-name": autorest.Encode("path", storageAccountName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -5806,7 +5715,7 @@ func (client BaseClient) RegenerateStorageAccountKeyPreparer(ctx context.Context "storage-account-name": autorest.Encode("path", storageAccountName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -5889,7 +5798,7 @@ func (client BaseClient) RestoreCertificatePreparer(ctx context.Context, vaultBa "vaultBaseUrl": vaultBaseURL, } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -5979,7 +5888,7 @@ func (client BaseClient) RestoreKeyPreparer(ctx context.Context, vaultBaseURL st "vaultBaseUrl": vaultBaseURL, } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -6062,7 +5971,7 @@ func (client BaseClient) RestoreSecretPreparer(ctx context.Context, vaultBaseURL "vaultBaseUrl": vaultBaseURL, } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -6142,7 +6051,7 @@ func (client BaseClient) RestoreStatusPreparer(ctx context.Context, vaultBaseURL "jobId": autorest.Encode("path", jobID), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -6223,7 +6132,7 @@ func (client BaseClient) RestoreStorageAccountPreparer(ctx context.Context, vaul "vaultBaseUrl": vaultBaseURL, } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -6311,7 +6220,7 @@ func (client BaseClient) SelectiveKeyRestoreOperationMethodPreparer(ctx context. "keyName": autorest.Encode("path", keyName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -6400,7 +6309,7 @@ func (client BaseClient) SetCertificateContactsPreparer(ctx context.Context, vau "vaultBaseUrl": vaultBaseURL, } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -6489,7 +6398,7 @@ func (client BaseClient) SetCertificateIssuerPreparer(ctx context.Context, vault "issuer-name": autorest.Encode("path", issuerName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -6584,7 +6493,7 @@ func (client BaseClient) SetSasDefinitionPreparer(ctx context.Context, vaultBase "storage-account-name": autorest.Encode("path", storageAccountName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -6674,7 +6583,7 @@ func (client BaseClient) SetSecretPreparer(ctx context.Context, vaultBaseURL str "secret-name": autorest.Encode("path", secretName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -6765,7 +6674,7 @@ func (client BaseClient) SetStorageAccountPreparer(ctx context.Context, vaultBas "storage-account-name": autorest.Encode("path", storageAccountName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -6855,7 +6764,7 @@ func (client BaseClient) SignPreparer(ctx context.Context, vaultBaseURL string, "key-version": autorest.Encode("path", keyVersion), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -6947,7 +6856,7 @@ func (client BaseClient) UnwrapKeyPreparer(ctx context.Context, vaultBaseURL str "key-version": autorest.Encode("path", keyVersion), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -7031,7 +6940,7 @@ func (client BaseClient) UpdateCertificatePreparer(ctx context.Context, vaultBas "certificate-version": autorest.Encode("path", certificateVersion), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -7113,7 +7022,7 @@ func (client BaseClient) UpdateCertificateIssuerPreparer(ctx context.Context, va "issuer-name": autorest.Encode("path", issuerName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -7195,7 +7104,7 @@ func (client BaseClient) UpdateCertificateOperationPreparer(ctx context.Context, "certificate-name": autorest.Encode("path", certificateName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -7277,7 +7186,7 @@ func (client BaseClient) UpdateCertificatePolicyPreparer(ctx context.Context, va "certificate-name": autorest.Encode("path", certificateName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -7362,7 +7271,7 @@ func (client BaseClient) UpdateKeyPreparer(ctx context.Context, vaultBaseURL str "key-version": autorest.Encode("path", keyVersion), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -7454,7 +7363,7 @@ func (client BaseClient) UpdateSasDefinitionPreparer(ctx context.Context, vaultB "storage-account-name": autorest.Encode("path", storageAccountName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -7539,7 +7448,7 @@ func (client BaseClient) UpdateSecretPreparer(ctx context.Context, vaultBaseURL "secret-version": autorest.Encode("path", secretVersion), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -7627,7 +7536,7 @@ func (client BaseClient) UpdateStorageAccountPreparer(ctx context.Context, vault "storage-account-name": autorest.Encode("path", storageAccountName), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -7720,7 +7629,7 @@ func (client BaseClient) VerifyPreparer(ctx context.Context, vaultBaseURL string "key-version": autorest.Encode("path", keyVersion), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -7813,7 +7722,7 @@ func (client BaseClient) WrapKeyPreparer(ctx context.Context, vaultBaseURL strin "key-version": autorest.Encode("path", keyVersion), } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/services/preview/keyvault/v7.2-preview/keyvault/enums.go b/services/keyvault/v7.2/keyvault/enums.go similarity index 66% rename from services/preview/keyvault/v7.2-preview/keyvault/enums.go rename to services/keyvault/v7.2/keyvault/enums.go index d47e44cca481..e4d522c0187d 100644 --- a/services/preview/keyvault/v7.2-preview/keyvault/enums.go +++ b/services/keyvault/v7.2/keyvault/enums.go @@ -21,6 +21,75 @@ func PossibleActionTypeValues() []ActionType { return []ActionType{AutoRenew, EmailContacts} } +// DataAction enumerates the values for data action. +type DataAction string + +const ( + // BackupHsmKeys Backup HSM keys. + BackupHsmKeys DataAction = "Microsoft.KeyVault/managedHsm/keys/backup/action" + // CreateHsmKey Create an HSM key. + CreateHsmKey DataAction = "Microsoft.KeyVault/managedHsm/keys/create" + // DecryptHsmKey Decrypt using an HSM key. + DecryptHsmKey DataAction = "Microsoft.KeyVault/managedHsm/keys/decrypt/action" + // DeleteHsmKey Delete an HSM key. + DeleteHsmKey DataAction = "Microsoft.KeyVault/managedHsm/keys/delete" + // DeleteRoleAssignment Delete role assignment. + DeleteRoleAssignment DataAction = "Microsoft.KeyVault/managedHsm/roleAssignments/delete/action" + // DownloadHsmSecurityDomain Download an HSM security domain. + DownloadHsmSecurityDomain DataAction = "Microsoft.KeyVault/managedHsm/securitydomain/download/action" + // EncryptHsmKey Encrypt using an HSM key. + EncryptHsmKey DataAction = "Microsoft.KeyVault/managedHsm/keys/encrypt/action" + // ExportHsmKey Export an HSM key. + ExportHsmKey DataAction = "Microsoft.KeyVault/managedHsm/keys/export/action" + // GetRoleAssignment Get role assignment. + GetRoleAssignment DataAction = "Microsoft.KeyVault/managedHsm/roleAssignments/read/action" + // ImportHsmKey Import an HSM key. + ImportHsmKey DataAction = "Microsoft.KeyVault/managedHsm/keys/import/action" + // PurgeDeletedHsmKey Purge a deleted HSM key. + PurgeDeletedHsmKey DataAction = "Microsoft.KeyVault/managedHsm/keys/deletedKeys/delete" + // ReadDeletedHsmKey Read deleted HSM key. + ReadDeletedHsmKey DataAction = "Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action" + // ReadHsmBackupStatus Read an HSM backup status. + ReadHsmBackupStatus DataAction = "Microsoft.KeyVault/managedHsm/backup/status/action" + // ReadHsmKey Read HSM key metadata. + ReadHsmKey DataAction = "Microsoft.KeyVault/managedHsm/keys/read/action" + // ReadHsmRestoreStatus Read an HSM restore status. + ReadHsmRestoreStatus DataAction = "Microsoft.KeyVault/managedHsm/restore/status/action" + // ReadHsmSecurityDomainStatus Check the status of the HSM security domain exchange file. + ReadHsmSecurityDomainStatus DataAction = "Microsoft.KeyVault/managedHsm/securitydomain/upload/read" + // ReadHsmSecurityDomainTransferKey Download an HSM security domain transfer key. + ReadHsmSecurityDomainTransferKey DataAction = "Microsoft.KeyVault/managedHsm/securitydomain/transferkey/read" + // ReadRoleDefinition Get role definition. + ReadRoleDefinition DataAction = "Microsoft.KeyVault/managedHsm/roleDefinitions/read/action" + // RecoverDeletedHsmKey Recover deleted HSM key. + RecoverDeletedHsmKey DataAction = "Microsoft.KeyVault/managedHsm/keys/deletedKeys/recover/action" + // RestoreHsmKeys Restore HSM keys. + RestoreHsmKeys DataAction = "Microsoft.KeyVault/managedHsm/keys/restore/action" + // SignHsmKey Sign using an HSM key. + SignHsmKey DataAction = "Microsoft.KeyVault/managedHsm/keys/sign/action" + // StartHsmBackup Start an HSM backup. + StartHsmBackup DataAction = "Microsoft.KeyVault/managedHsm/backup/start/action" + // StartHsmRestore Start an HSM restore. + StartHsmRestore DataAction = "Microsoft.KeyVault/managedHsm/restore/start/action" + // UnwrapHsmKey Unwrap using an HSM key. + UnwrapHsmKey DataAction = "Microsoft.KeyVault/managedHsm/keys/unwrap/action" + // UploadHsmSecurityDomain Upload an HSM security domain. + UploadHsmSecurityDomain DataAction = "Microsoft.KeyVault/managedHsm/securitydomain/upload/action" + // VerifyHsmKey Verify using an HSM key. + VerifyHsmKey DataAction = "Microsoft.KeyVault/managedHsm/keys/verify/action" + // WrapHsmKey Wrap using an HSM key. + WrapHsmKey DataAction = "Microsoft.KeyVault/managedHsm/keys/wrap/action" + // WriteHsmKey Update an HSM key. + WriteHsmKey DataAction = "Microsoft.KeyVault/managedHsm/keys/write/action" + // WriteRoleAssignment Create or update role assignment. + WriteRoleAssignment DataAction = "Microsoft.KeyVault/managedHsm/roleAssignments/write/action" +) + +// PossibleDataActionValues returns an array of possible values for the DataAction const type. +func PossibleDataActionValues() []DataAction { + return []DataAction{BackupHsmKeys, CreateHsmKey, DecryptHsmKey, DeleteHsmKey, DeleteRoleAssignment, DownloadHsmSecurityDomain, EncryptHsmKey, ExportHsmKey, GetRoleAssignment, ImportHsmKey, PurgeDeletedHsmKey, ReadDeletedHsmKey, ReadHsmBackupStatus, ReadHsmKey, ReadHsmRestoreStatus, ReadHsmSecurityDomainStatus, ReadHsmSecurityDomainTransferKey, ReadRoleDefinition, RecoverDeletedHsmKey, RestoreHsmKeys, SignHsmKey, StartHsmBackup, StartHsmRestore, UnwrapHsmKey, UploadHsmSecurityDomain, VerifyHsmKey, WrapHsmKey, WriteHsmKey, WriteRoleAssignment} +} + // DeletionRecoveryLevel enumerates the values for deletion recovery level. type DeletionRecoveryLevel string @@ -136,8 +205,6 @@ const ( Decrypt JSONWebKeyOperation = "decrypt" // Encrypt ... Encrypt JSONWebKeyOperation = "encrypt" - // Export ... - Export JSONWebKeyOperation = "export" // Import ... Import JSONWebKeyOperation = "import" // Sign ... @@ -152,7 +219,7 @@ const ( // PossibleJSONWebKeyOperationValues returns an array of possible values for the JSONWebKeyOperation const type. func PossibleJSONWebKeyOperationValues() []JSONWebKeyOperation { - return []JSONWebKeyOperation{Decrypt, Encrypt, Export, Import, Sign, UnwrapKey, Verify, WrapKey} + return []JSONWebKeyOperation{Decrypt, Encrypt, Import, Sign, UnwrapKey, Verify, WrapKey} } // JSONWebKeySignatureAlgorithm enumerates the values for json web key signature algorithm. @@ -260,6 +327,49 @@ func PossibleOperationStatusValues() []OperationStatus { return []OperationStatus{Failed, InProgress, Success} } +// RoleDefinitionType enumerates the values for role definition type. +type RoleDefinitionType string + +const ( + // MicrosoftAuthorizationroleDefinitions ... + MicrosoftAuthorizationroleDefinitions RoleDefinitionType = "Microsoft.Authorization/roleDefinitions" +) + +// PossibleRoleDefinitionTypeValues returns an array of possible values for the RoleDefinitionType const type. +func PossibleRoleDefinitionTypeValues() []RoleDefinitionType { + return []RoleDefinitionType{MicrosoftAuthorizationroleDefinitions} +} + +// RoleScope enumerates the values for role scope. +type RoleScope string + +const ( + // Global Global scope + Global RoleScope = "/" + // Keys Keys scope + Keys RoleScope = "/keys" +) + +// PossibleRoleScopeValues returns an array of possible values for the RoleScope const type. +func PossibleRoleScopeValues() []RoleScope { + return []RoleScope{Global, Keys} +} + +// RoleType enumerates the values for role type. +type RoleType string + +const ( + // BuiltInRole Built in role. + BuiltInRole RoleType = "AKVBuiltInRole" + // CustomRole Custom role. + CustomRole RoleType = "CustomRole" +) + +// PossibleRoleTypeValues returns an array of possible values for the RoleType const type. +func PossibleRoleTypeValues() []RoleType { + return []RoleType{BuiltInRole, CustomRole} +} + // SasTokenType enumerates the values for sas token type. type SasTokenType string diff --git a/services/preview/keyvault/v7.2-preview/keyvault/hsmsecuritydomain.go b/services/keyvault/v7.2/keyvault/hsmsecuritydomain.go similarity index 75% rename from services/preview/keyvault/v7.2-preview/keyvault/hsmsecuritydomain.go rename to services/keyvault/v7.2/keyvault/hsmsecuritydomain.go index c3f3f92a99b0..1b36da87755f 100644 --- a/services/preview/keyvault/v7.2-preview/keyvault/hsmsecuritydomain.go +++ b/services/keyvault/v7.2/keyvault/hsmsecuritydomain.go @@ -26,18 +26,19 @@ func NewHSMSecurityDomainClient() HSMSecurityDomainClient { return HSMSecurityDomainClient{New()} } -// Download retrieves Security domain from HSM enclave +// Download retrieves the Security Domain from the managed HSM. Calling this endpoint can be used to activate a +// provisioned managed HSM resource. // Parameters: // vaultBaseURL - the vault name, for example https://myvault.vault.azure.net. -// certificateInfoObject - security domain download operation requires customer to provide N certificates -// (minimum 3 and maximum 10) containing public key in JWK format. -func (client HSMSecurityDomainClient) Download(ctx context.Context, vaultBaseURL string, certificateInfoObject CertificateInfoObject) (result SecurityDomainObject, err error) { +// certificateInfoObject - the Security Domain download operation requires customer to provide N certificates +// (minimum 3 and maximum 10) containing a public key in JWK format. +func (client HSMSecurityDomainClient) Download(ctx context.Context, vaultBaseURL string, certificateInfoObject CertificateInfoObject) (result HSMSecurityDomainDownloadFuture, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/HSMSecurityDomainClient.Download") defer func() { sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode + if result.FutureAPI != nil && result.FutureAPI.Response() != nil { + sc = result.FutureAPI.Response().StatusCode } tracing.EndSpan(ctx, sc, err) }() @@ -62,16 +63,9 @@ func (client HSMSecurityDomainClient) Download(ctx context.Context, vaultBaseURL return } - resp, err := client.DownloadSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "keyvault.HSMSecurityDomainClient", "Download", resp, "Failure sending request") - return - } - - result, err = client.DownloadResponder(resp) + result, err = client.DownloadSender(req) if err != nil { - err = autorest.NewErrorWithError(err, "keyvault.HSMSecurityDomainClient", "Download", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "keyvault.HSMSecurityDomainClient", "Download", nil, "Failure sending request") return } @@ -84,7 +78,7 @@ func (client HSMSecurityDomainClient) DownloadPreparer(ctx context.Context, vaul "vaultBaseUrl": vaultBaseURL, } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -101,13 +95,89 @@ func (client HSMSecurityDomainClient) DownloadPreparer(ctx context.Context, vaul // DownloadSender sends the Download request. The method will close the // http.Response Body if it receives an error. -func (client HSMSecurityDomainClient) DownloadSender(req *http.Request) (*http.Response, error) { - return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +func (client HSMSecurityDomainClient) DownloadSender(req *http.Request) (future HSMSecurityDomainDownloadFuture, err error) { + var resp *http.Response + resp, err = client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if err != nil { + return + } + var azf azure.Future + azf, err = azure.NewFutureFromResponse(resp) + future.FutureAPI = &azf + future.Result = future.result + return } // DownloadResponder handles the response to the Download request. The method always // closes the http.Response Body. func (client HSMSecurityDomainClient) DownloadResponder(resp *http.Response) (result SecurityDomainObject, err error) { + err = autorest.Respond( + resp, + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// DownloadPending retrieves the Security Domain download operation status +// Parameters: +// vaultBaseURL - the vault name, for example https://myvault.vault.azure.net. +func (client HSMSecurityDomainClient) DownloadPending(ctx context.Context, vaultBaseURL string) (result SecurityDomainOperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/HSMSecurityDomainClient.DownloadPending") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DownloadPendingPreparer(ctx, vaultBaseURL) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.HSMSecurityDomainClient", "DownloadPending", nil, "Failure preparing request") + return + } + + resp, err := client.DownloadPendingSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "keyvault.HSMSecurityDomainClient", "DownloadPending", resp, "Failure sending request") + return + } + + result, err = client.DownloadPendingResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.HSMSecurityDomainClient", "DownloadPending", resp, "Failure responding to request") + return + } + + return +} + +// DownloadPendingPreparer prepares the DownloadPending request. +func (client HSMSecurityDomainClient) DownloadPendingPreparer(ctx context.Context, vaultBaseURL string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "vaultBaseUrl": vaultBaseURL, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{vaultBaseUrl}", urlParameters), + autorest.WithPath("/securitydomain/download/pending")) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DownloadPendingSender sends the DownloadPending request. The method will close the +// http.Response Body if it receives an error. +func (client HSMSecurityDomainClient) DownloadPendingSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// DownloadPendingResponder handles the response to the DownloadPending request. The method always +// closes the http.Response Body. +func (client HSMSecurityDomainClient) DownloadPendingResponder(resp *http.Response) (result SecurityDomainOperationStatus, err error) { err = autorest.Respond( resp, azure.WithErrorUnlessStatusCode(http.StatusOK), @@ -117,7 +187,7 @@ func (client HSMSecurityDomainClient) DownloadResponder(resp *http.Response) (re return } -// TransferKeyMethod retrieve security domain transfer key +// TransferKeyMethod retrieve Security Domain transfer key // Parameters: // vaultBaseURL - the vault name, for example https://myvault.vault.azure.net. func (client HSMSecurityDomainClient) TransferKeyMethod(ctx context.Context, vaultBaseURL string) (result TransferKey, err error) { @@ -159,7 +229,7 @@ func (client HSMSecurityDomainClient) TransferKeyMethodPreparer(ctx context.Cont "vaultBaseUrl": vaultBaseURL, } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -167,7 +237,7 @@ func (client HSMSecurityDomainClient) TransferKeyMethodPreparer(ctx context.Cont preparer := autorest.CreatePreparer( autorest.AsGet(), autorest.WithCustomBaseURL("{vaultBaseUrl}", urlParameters), - autorest.WithPath("/securitydomain/transferkey"), + autorest.WithPath("/securitydomain/upload"), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } @@ -190,11 +260,11 @@ func (client HSMSecurityDomainClient) TransferKeyMethodResponder(resp *http.Resp return } -// Upload request Security domain upload operation +// Upload restore the provided Security Domain. // Parameters: // vaultBaseURL - the vault name, for example https://myvault.vault.azure.net. -// securityDomain - security domain -func (client HSMSecurityDomainClient) Upload(ctx context.Context, vaultBaseURL string, securityDomain SecurityDomainUploadObject) (result HSMSecurityDomainUploadFuture, err error) { +// securityDomain - the Security Domain to be restored. +func (client HSMSecurityDomainClient) Upload(ctx context.Context, vaultBaseURL string, securityDomain SecurityDomainObject) (result HSMSecurityDomainUploadFuture, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/HSMSecurityDomainClient.Upload") defer func() { @@ -207,17 +277,7 @@ func (client HSMSecurityDomainClient) Upload(ctx context.Context, vaultBaseURL s } if err := validation.Validate([]validation.Validation{ {TargetValue: securityDomain, - Constraints: []validation.Constraint{{Target: "securityDomain.Value", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "securityDomain.Value.EncData", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "securityDomain.Value.EncData.Data", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "securityDomain.Value.EncData.Data", Name: validation.UniqueItems, Rule: true, Chain: nil}}}, - {Target: "securityDomain.Value.EncData.Kdf", Name: validation.Null, Rule: true, Chain: nil}, - }}, - {Target: "securityDomain.Value.WrappedKey", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "securityDomain.Value.WrappedKey.EncKey", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "securityDomain.Value.WrappedKey.X5t256", Name: validation.Null, Rule: true, Chain: nil}, - }}, - }}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "securityDomain.Value", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { return result, validation.NewError("keyvault.HSMSecurityDomainClient", "Upload", err.Error()) } @@ -237,7 +297,7 @@ func (client HSMSecurityDomainClient) Upload(ctx context.Context, vaultBaseURL s } // UploadPreparer prepares the Upload request. -func (client HSMSecurityDomainClient) UploadPreparer(ctx context.Context, vaultBaseURL string, securityDomain SecurityDomainUploadObject) (*http.Request, error) { +func (client HSMSecurityDomainClient) UploadPreparer(ctx context.Context, vaultBaseURL string, securityDomain SecurityDomainObject) (*http.Request, error) { urlParameters := map[string]interface{}{ "vaultBaseUrl": vaultBaseURL, } @@ -271,14 +331,14 @@ func (client HSMSecurityDomainClient) UploadSender(req *http.Request) (future HS func (client HSMSecurityDomainClient) UploadResponder(resp *http.Response) (result SecurityDomainOperationStatus, err error) { err = autorest.Respond( resp, - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), autorest.ByUnmarshallingJSON(&result), autorest.ByClosing()) result.Response = autorest.Response{Response: resp} return } -// UploadPending get Security domain upload operation status +// UploadPending get Security Domain upload operation status // Parameters: // vaultBaseURL - the vault name, for example https://myvault.vault.azure.net. func (client HSMSecurityDomainClient) UploadPending(ctx context.Context, vaultBaseURL string) (result SecurityDomainOperationStatus, err error) { diff --git a/services/preview/keyvault/v7.2-preview/keyvault/keyvaultapi/interfaces.go b/services/keyvault/v7.2/keyvault/keyvaultapi/interfaces.go similarity index 95% rename from services/preview/keyvault/v7.2-preview/keyvault/keyvaultapi/interfaces.go rename to services/keyvault/v7.2/keyvault/keyvaultapi/interfaces.go index 772214a076b2..3cbca497ce9f 100644 --- a/services/preview/keyvault/v7.2-preview/keyvault/keyvaultapi/interfaces.go +++ b/services/keyvault/v7.2/keyvault/keyvaultapi/interfaces.go @@ -8,7 +8,7 @@ package keyvaultapi import ( "context" - "github.com/Azure/azure-sdk-for-go/services/preview/keyvault/v7.2-preview/keyvault" + "github.com/Azure/azure-sdk-for-go/services/keyvault/v7.2/keyvault" "github.com/Azure/go-autorest/autorest" ) @@ -30,7 +30,6 @@ type BaseClientAPI interface { DeleteSecret(ctx context.Context, vaultBaseURL string, secretName string) (result keyvault.DeletedSecretBundle, err error) DeleteStorageAccount(ctx context.Context, vaultBaseURL string, storageAccountName string) (result keyvault.DeletedStorageBundle, err error) Encrypt(ctx context.Context, vaultBaseURL string, keyName string, keyVersion string, parameters keyvault.KeyOperationsParameters) (result keyvault.KeyOperationResult, err error) - ExportKey(ctx context.Context, vaultBaseURL string, keyName string, keyVersion string, parameters keyvault.KeyExportParameters) (result keyvault.KeyBundle, err error) FullBackup(ctx context.Context, vaultBaseURL string, azureStorageBlobContainerURI *keyvault.SASTokenParameter) (result keyvault.FullBackupFuture, err error) FullBackupStatus(ctx context.Context, vaultBaseURL string, jobID string) (result keyvault.FullBackupOperation, err error) FullRestoreOperation(ctx context.Context, vaultBaseURL string, restoreBlobDetails *keyvault.RestoreOperationParameters) (result keyvault.FullRestoreOperationFuture, err error) @@ -118,6 +117,9 @@ var _ BaseClientAPI = (*keyvault.BaseClient)(nil) // RoleDefinitionsClientAPI contains the set of methods on the RoleDefinitionsClient type. type RoleDefinitionsClientAPI interface { + CreateOrUpdate(ctx context.Context, vaultBaseURL string, scope string, roleDefinitionName string, parameters keyvault.RoleDefinitionCreateParameters) (result keyvault.RoleDefinition, err error) + Delete(ctx context.Context, vaultBaseURL string, scope string, roleDefinitionName string) (result keyvault.RoleDefinition, err error) + Get(ctx context.Context, vaultBaseURL string, scope string, roleDefinitionName string) (result keyvault.RoleDefinition, err error) List(ctx context.Context, vaultBaseURL string, scope string, filter string) (result keyvault.RoleDefinitionListResultPage, err error) ListComplete(ctx context.Context, vaultBaseURL string, scope string, filter string) (result keyvault.RoleDefinitionListResultIterator, err error) } @@ -137,9 +139,10 @@ var _ RoleAssignmentsClientAPI = (*keyvault.RoleAssignmentsClient)(nil) // HSMSecurityDomainClientAPI contains the set of methods on the HSMSecurityDomainClient type. type HSMSecurityDomainClientAPI interface { - Download(ctx context.Context, vaultBaseURL string, certificateInfoObject keyvault.CertificateInfoObject) (result keyvault.SecurityDomainObject, err error) + Download(ctx context.Context, vaultBaseURL string, certificateInfoObject keyvault.CertificateInfoObject) (result keyvault.HSMSecurityDomainDownloadFuture, err error) + DownloadPending(ctx context.Context, vaultBaseURL string) (result keyvault.SecurityDomainOperationStatus, err error) TransferKeyMethod(ctx context.Context, vaultBaseURL string) (result keyvault.TransferKey, err error) - Upload(ctx context.Context, vaultBaseURL string, securityDomain keyvault.SecurityDomainUploadObject) (result keyvault.HSMSecurityDomainUploadFuture, err error) + Upload(ctx context.Context, vaultBaseURL string, securityDomain keyvault.SecurityDomainObject) (result keyvault.HSMSecurityDomainUploadFuture, err error) UploadPending(ctx context.Context, vaultBaseURL string) (result keyvault.SecurityDomainOperationStatus, err error) } diff --git a/services/preview/keyvault/v7.2-preview/keyvault/models.go b/services/keyvault/v7.2/keyvault/models.go similarity index 96% rename from services/preview/keyvault/v7.2-preview/keyvault/models.go rename to services/keyvault/v7.2/keyvault/models.go index 6223a58dd85f..52f7fdbba6dd 100644 --- a/services/preview/keyvault/v7.2-preview/keyvault/models.go +++ b/services/keyvault/v7.2/keyvault/models.go @@ -18,7 +18,7 @@ import ( ) // The package's fully qualified name. -const fqdn = "github.com/Azure/azure-sdk-for-go/services/preview/keyvault/v7.2-preview/keyvault" +const fqdn = "github.com/Azure/azure-sdk-for-go/services/keyvault/v7.2/keyvault" // Action the action that will be executed. type Action struct { @@ -257,7 +257,7 @@ func (cip CertificateImportParameters) MarshalJSON() ([]byte, error) { type CertificateInfoObject struct { // Certificates - Certificates needed from customer Certificates *[]SecurityDomainCertificateItem `json:"certificates,omitempty"` - // Required - Customer to specify the number of certificates (minimum 2 and maximum 10) to restore security domain + // Required - Customer to specify the number of certificates (minimum 2 and maximum 10) to restore Security Domain Required *int32 `json:"required,omitempty"` } @@ -1113,8 +1113,6 @@ type DeletedKeyBundle struct { Tags map[string]*string `json:"tags"` // Managed - READ-ONLY; True if the key's lifetime is managed by key vault. If this is a key backing a certificate, then managed will be true. Managed *bool `json:"managed,omitempty"` - // ReleasePolicy - The policy rules under which the key can be exported. - ReleasePolicy *KeyReleasePolicy `json:"release_policy,omitempty"` } // MarshalJSON is the custom marshaler for DeletedKeyBundle. @@ -1132,9 +1130,6 @@ func (dkb DeletedKeyBundle) MarshalJSON() ([]byte, error) { if dkb.Tags != nil { objectMap["tags"] = dkb.Tags } - if dkb.ReleasePolicy != nil { - objectMap["release_policy"] = dkb.ReleasePolicy - } return json.Marshal(objectMap) } @@ -2053,22 +2048,6 @@ func NewDeletedStorageListResultPage(cur DeletedStorageListResult, getNextPage f } } -// EncDataSet ... -type EncDataSet struct { - // Data - Array of encrypted security domain - Data *[]EncDataSetItem `json:"data,omitempty"` - // Kdf - The key derivation function used - Kdf *string `json:"kdf,omitempty"` -} - -// EncDataSetItem ... -type EncDataSetItem struct { - // CompactJwe - Encrypted data - CompactJwe *string `json:"compact_jwe,omitempty"` - // Tag - hsm backup tag - Tag *string `json:"tag,omitempty"` -} - // Error the key vault server error. type Error struct { // Code - READ-ONLY; The error code. @@ -2201,6 +2180,49 @@ func (future *FullRestoreOperationFuture) result(client BaseClient) (ro RestoreO return } +// HSMSecurityDomainDownloadFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type HSMSecurityDomainDownloadFuture struct { + azure.FutureAPI + // Result returns the result of the asynchronous operation. + // If the operation has not completed it will return an error. + Result func(HSMSecurityDomainClient) (SecurityDomainObject, error) +} + +// UnmarshalJSON is the custom unmarshaller for CreateFuture. +func (future *HSMSecurityDomainDownloadFuture) UnmarshalJSON(body []byte) error { + var azFuture azure.Future + if err := json.Unmarshal(body, &azFuture); err != nil { + return err + } + future.FutureAPI = &azFuture + future.Result = future.result + return nil +} + +// result is the default implementation for HSMSecurityDomainDownloadFuture.Result. +func (future *HSMSecurityDomainDownloadFuture) result(client HSMSecurityDomainClient) (sdo SecurityDomainObject, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.HSMSecurityDomainDownloadFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + sdo.Response.Response = future.Response() + err = azure.NewAsyncOpIncompleteError("keyvault.HSMSecurityDomainDownloadFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if sdo.Response.Response, err = future.GetResult(sender); err == nil && sdo.Response.Response.StatusCode != http.StatusNoContent { + sdo, err = client.DownloadResponder(sdo.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.HSMSecurityDomainDownloadFuture", "Result", sdo.Response.Response, "Failure responding to request") + } + } + return +} + // HSMSecurityDomainUploadFuture an abstraction for monitoring and retrieving the results of a long-running // operation. type HSMSecurityDomainUploadFuture struct { @@ -2349,22 +2371,12 @@ type JSONWebKey struct { Y *string `json:"y,omitempty"` } -// Key ... -type Key struct { - // EncKey - Compact JWE wrapped share - EncKey *string `json:"enc_key,omitempty"` - // X5t256 - SHA 256 hash of certificate - X5t256 *string `json:"x5t_256,omitempty"` -} - // KeyAttributes the attributes of a key managed by the key vault service. type KeyAttributes struct { // RecoverableDays - READ-ONLY; softDelete data retention days. Value should be >=7 and <=90 when softDelete enabled, otherwise 0. RecoverableDays *int32 `json:"recoverableDays,omitempty"` // RecoveryLevel - READ-ONLY; Reflects the deletion recovery level currently in effect for keys in the current vault. If it contains 'Purgeable' the key can be permanently deleted by a privileged user; otherwise, only the system can purge the key, at the end of the retention interval. Possible values include: 'Purgeable', 'RecoverablePurgeable', 'Recoverable', 'RecoverableProtectedSubscription', 'CustomizedRecoverablePurgeable', 'CustomizedRecoverable', 'CustomizedRecoverableProtectedSubscription' RecoveryLevel DeletionRecoveryLevel `json:"recoveryLevel,omitempty"` - // Exportable - Indicates if the private key can be exported. - Exportable *bool `json:"exportable,omitempty"` // Enabled - Determines whether the object is enabled. Enabled *bool `json:"enabled,omitempty"` // NotBefore - Not before date in UTC. @@ -2380,9 +2392,6 @@ type KeyAttributes struct { // MarshalJSON is the custom marshaler for KeyAttributes. func (ka KeyAttributes) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) - if ka.Exportable != nil { - objectMap["exportable"] = ka.Exportable - } if ka.Enabled != nil { objectMap["enabled"] = ka.Enabled } @@ -2406,8 +2415,6 @@ type KeyBundle struct { Tags map[string]*string `json:"tags"` // Managed - READ-ONLY; True if the key's lifetime is managed by key vault. If this is a key backing a certificate, then managed will be true. Managed *bool `json:"managed,omitempty"` - // ReleasePolicy - The policy rules under which the key can be exported. - ReleasePolicy *KeyReleasePolicy `json:"release_policy,omitempty"` } // MarshalJSON is the custom marshaler for KeyBundle. @@ -2422,9 +2429,6 @@ func (kb KeyBundle) MarshalJSON() ([]byte, error) { if kb.Tags != nil { objectMap["tags"] = kb.Tags } - if kb.ReleasePolicy != nil { - objectMap["release_policy"] = kb.ReleasePolicy - } return json.Marshal(objectMap) } @@ -2442,8 +2446,6 @@ type KeyCreateParameters struct { Tags map[string]*string `json:"tags"` // Curve - Elliptic curve name. For valid values, see JsonWebKeyCurveName. Possible values include: 'P256', 'P384', 'P521', 'P256K' Curve JSONWebKeyCurveName `json:"crv,omitempty"` - // ReleasePolicy - The policy rules under which the key can be exported. - ReleasePolicy *KeyReleasePolicy `json:"release_policy,omitempty"` } // MarshalJSON is the custom marshaler for KeyCreateParameters. @@ -2470,18 +2472,9 @@ func (kcp KeyCreateParameters) MarshalJSON() ([]byte, error) { if kcp.Curve != "" { objectMap["crv"] = kcp.Curve } - if kcp.ReleasePolicy != nil { - objectMap["release_policy"] = kcp.ReleasePolicy - } return json.Marshal(objectMap) } -// KeyExportParameters the export key parameters. -type KeyExportParameters struct { - // Environment - The target environment assertion. - Environment *string `json:"env,omitempty"` -} - // KeyImportParameters the key import parameters. type KeyImportParameters struct { // Hsm - Whether to import as a hardware key (HSM) or software key. @@ -2492,8 +2485,6 @@ type KeyImportParameters struct { KeyAttributes *KeyAttributes `json:"attributes,omitempty"` // Tags - Application specific metadata in the form of key-value pairs. Tags map[string]*string `json:"tags"` - // ReleasePolicy - The policy rules under which the key can be exported. - ReleasePolicy *KeyReleasePolicy `json:"release_policy,omitempty"` } // MarshalJSON is the custom marshaler for KeyImportParameters. @@ -2511,9 +2502,6 @@ func (kip KeyImportParameters) MarshalJSON() ([]byte, error) { if kip.Tags != nil { objectMap["tags"] = kip.Tags } - if kip.ReleasePolicy != nil { - objectMap["release_policy"] = kip.ReleasePolicy - } return json.Marshal(objectMap) } @@ -2716,6 +2704,12 @@ type KeyOperationResult struct { Kid *string `json:"kid,omitempty"` // Result - READ-ONLY; a URL-encoded base64 string Result *string `json:"value,omitempty"` + // Iv - READ-ONLY; a URL-encoded base64 string + Iv *string `json:"iv,omitempty"` + // AuthenticationTag - READ-ONLY; a URL-encoded base64 string + AuthenticationTag *string `json:"tag,omitempty"` + // AdditionalAuthenticatedData - READ-ONLY; a URL-encoded base64 string + AdditionalAuthenticatedData *string `json:"aad,omitempty"` } // MarshalJSON is the custom marshaler for KeyOperationResult. @@ -2740,7 +2734,7 @@ type KeyOperationsParameters struct { // KeyProperties properties of the key pair backing a certificate. type KeyProperties struct { - // Exportable - Indicates if the private key can be exported. + // Exportable - Not supported in this version. Indicates if the private key can be exported. Exportable *bool `json:"exportable,omitempty"` // KeyType - The type of key pair to be used for the certificate. Possible values include: 'EC', 'ECHSM', 'RSA', 'RSAHSM', 'Oct', 'OctHSM' KeyType JSONWebKeyType `json:"kty,omitempty"` @@ -2752,14 +2746,6 @@ type KeyProperties struct { Curve JSONWebKeyCurveName `json:"crv,omitempty"` } -// KeyReleasePolicy ... -type KeyReleasePolicy struct { - // ContentType - Content type and version of key release policy - ContentType *string `json:"contentType,omitempty"` - // Data - Blob encoding the policy rules under which the key can be exported. (a URL-encoded base64 string) - Data *string `json:"data,omitempty"` -} - // KeyRestoreParameters the key restore parameters. type KeyRestoreParameters struct { // KeyBundleBackup - The backup blob associated with a key bundle. (a URL-encoded base64 string) @@ -2781,8 +2767,6 @@ type KeyUpdateParameters struct { KeyAttributes *KeyAttributes `json:"attributes,omitempty"` // Tags - Application specific metadata in the form of key-value pairs. Tags map[string]*string `json:"tags"` - // ReleasePolicy - The policy rules under which the key can be exported. - ReleasePolicy *KeyReleasePolicy `json:"release_policy,omitempty"` } // MarshalJSON is the custom marshaler for KeyUpdateParameters. @@ -2797,9 +2781,6 @@ func (kup KeyUpdateParameters) MarshalJSON() ([]byte, error) { if kup.Tags != nil { objectMap["tags"] = kup.Tags } - if kup.ReleasePolicy != nil { - objectMap["release_policy"] = kup.ReleasePolicy - } return json.Marshal(objectMap) } @@ -2857,14 +2838,14 @@ func (pcsrr PendingCertificateSigningRequestResult) MarshalJSON() ([]byte, error // Permission role definition permissions. type Permission struct { - // Actions - Allowed actions. + // Actions - Action permissions that are granted. Actions *[]string `json:"actions,omitempty"` - // NotActions - Denied actions. + // NotActions - Action permissions that are excluded but not denied. They may be granted by other role definitions assigned to a principal. NotActions *[]string `json:"notActions,omitempty"` - // DataActions - Allowed Data actions. - DataActions *[]string `json:"dataActions,omitempty"` - // NotDataActions - Denied Data actions. - NotDataActions *[]string `json:"notDataActions,omitempty"` + // DataActions - Data action permissions that are granted. + DataActions *[]DataAction `json:"dataActions,omitempty"` + // NotDataActions - Data action permissions that are excluded but not denied. They may be granted by other role definitions assigned to a principal. + NotDataActions *[]DataAction `json:"notDataActions,omitempty"` } // RestoreOperation restore operation @@ -2886,6 +2867,7 @@ type RestoreOperation struct { // RestoreOperationParameters ... type RestoreOperationParameters struct { + // SasTokenParameters - SAS token parameter object containing Azure storage resourceUri and token SasTokenParameters *SASTokenParameter `json:"sasTokenParameters,omitempty"` // FolderToRestore - The Folder name of the blob where the previous successful full backup was stored FolderToRestore *string `json:"folderToRestore,omitempty"` @@ -3094,8 +3076,8 @@ type RoleAssignmentProperties struct { // RoleAssignmentPropertiesWithScope role assignment properties with scope. type RoleAssignmentPropertiesWithScope struct { - // Scope - The role assignment scope. - Scope *string `json:"scope,omitempty"` + // Scope - Possible values include: 'Global', 'Keys' + Scope RoleScope `json:"scope,omitempty"` // RoleDefinitionID - The role definition ID. RoleDefinitionID *string `json:"roleDefinitionId,omitempty"` // PrincipalID - The principal ID. @@ -3104,12 +3086,13 @@ type RoleAssignmentPropertiesWithScope struct { // RoleDefinition role definition. type RoleDefinition struct { + autorest.Response `json:"-"` // ID - READ-ONLY; The role definition ID. ID *string `json:"id,omitempty"` // Name - READ-ONLY; The role definition name. Name *string `json:"name,omitempty"` - // Type - READ-ONLY; The role definition type. - Type *string `json:"type,omitempty"` + // Type - READ-ONLY; The role definition type. Possible values include: 'MicrosoftAuthorizationroleDefinitions' + Type RoleDefinitionType `json:"type,omitempty"` // RoleDefinitionProperties - Role definition properties. *RoleDefinitionProperties `json:"properties,omitempty"` } @@ -3152,12 +3135,12 @@ func (rd *RoleDefinition) UnmarshalJSON(body []byte) error { } case "type": if v != nil { - var typeVar string + var typeVar RoleDefinitionType err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - rd.Type = &typeVar + rd.Type = typeVar } case "properties": if v != nil { @@ -3174,6 +3157,12 @@ func (rd *RoleDefinition) UnmarshalJSON(body []byte) error { return nil } +// RoleDefinitionCreateParameters role definition create parameters. +type RoleDefinitionCreateParameters struct { + // Properties - Role definition properties. + Properties *RoleDefinitionProperties `json:"properties,omitempty"` +} + // RoleDefinitionFilter role Definitions filter type RoleDefinitionFilter struct { // RoleName - Returns role definition with the specific name. @@ -3345,12 +3334,12 @@ type RoleDefinitionProperties struct { RoleName *string `json:"roleName,omitempty"` // Description - The role definition description. Description *string `json:"description,omitempty"` - // RoleType - The role type. - RoleType *string `json:"type,omitempty"` + // RoleType - The role type. Possible values include: 'BuiltInRole', 'CustomRole' + RoleType RoleType `json:"type,omitempty"` // Permissions - Role definition permissions. Permissions *[]Permission `json:"permissions,omitempty"` // AssignableScopes - Role definition assignable scopes. - AssignableScopes *[]string `json:"assignableScopes,omitempty"` + AssignableScopes *[]RoleScope `json:"assignableScopes,omitempty"` } // SasDefinitionAttributes the SAS definition management attributes. @@ -4010,7 +3999,7 @@ type SecurityDomainCertificateItem struct { type SecurityDomainJSONWebKey struct { // Kid - Key identifier. Kid *string `json:"kid,omitempty"` - // Kty - JsonWebKey Key Type (kty), as defined in https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40. For security domain this value must be RSA + // Kty - JsonWebKey Key Type (kty), as defined in https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40. For Security Domain this value must be RSA. Kty *string `json:"kty,omitempty"` KeyOps *[]string `json:"key_ops,omitempty"` // N - RSA modulus. @@ -4029,29 +4018,11 @@ type SecurityDomainJSONWebKey struct { Alg *string `json:"alg,omitempty"` } -// SecurityDomainObject security domain +// SecurityDomainObject the Security Domain. type SecurityDomainObject struct { autorest.Response `json:"-"` - Data *SecurityDomainObjectData `json:"data,omitempty"` -} - -// SecurityDomainObjectData ... -type SecurityDomainObjectData struct { - // EncData - Array of encrypted data set - EncData *EncDataSet `json:"EncData,omitempty"` - // SharedKeys - Array of shared keys - SharedKeys *SecurityDomainObjectDataSharedKeys `json:"SharedKeys,omitempty"` - Version *int32 `json:"version,omitempty"` -} - -// SecurityDomainObjectDataSharedKeys array of shared keys -type SecurityDomainObjectDataSharedKeys struct { - // KeyAlgorithm - The Algorithm used for shared keys - KeyAlgorithm *string `json:"key_algorithm,omitempty"` - // Required - The number of keys (minimum 2 and maximum 10) required for security domain. - Required *int32 `json:"required,omitempty"` - // EncShares - Compact JWE wrapped shares array - EncShares *[]Key `json:"enc_shares,omitempty"` + // Value - The Security Domain. + Value *string `json:"value,omitempty"` } // SecurityDomainOperationStatus ... @@ -4062,28 +4033,6 @@ type SecurityDomainOperationStatus struct { StatusDetails *string `json:"status_details,omitempty"` } -// SecurityDomainUploadObject security domain object uploaded to a new pool -type SecurityDomainUploadObject struct { - Value *SecurityDomainUploadObjectValue `json:"value,omitempty"` -} - -// SecurityDomainUploadObjectValue ... -type SecurityDomainUploadObjectValue struct { - // EncData - Array of encrypted data set - EncData *EncDataSet `json:"EncData,omitempty"` - // WrappedKey - Key object containing the encryption key used to encrypt EncData object - WrappedKey *SecurityDomainUploadObjectValueWrappedKey `json:"WrappedKey,omitempty"` -} - -// SecurityDomainUploadObjectValueWrappedKey key object containing the encryption key used to encrypt -// EncData object -type SecurityDomainUploadObjectValueWrappedKey struct { - // EncKey - Encryption key used to encrypt the EncData - EncKey *string `json:"enc_key,omitempty"` - // X5t256 - Thumbprint used to determine which certificate was used to encrypt the enc_key field - X5t256 *string `json:"x5t_256,omitempty"` -} - // SelectiveKeyRestoreOperation selective Key Restore operation type SelectiveKeyRestoreOperation struct { autorest.Response `json:"-"` @@ -4146,6 +4095,7 @@ func (future *SelectiveKeyRestoreOperationMethodFuture) result(client BaseClient // SelectiveKeyRestoreOperationParameters ... type SelectiveKeyRestoreOperationParameters struct { + // SasTokenParameters - SAS token parameter object containing Azure storage resourceUri and token SasTokenParameters *SASTokenParameter `json:"sasTokenParameters,omitempty"` // Folder - The Folder name of the blob where the previous successful full backup was stored Folder *string `json:"folder,omitempty"` diff --git a/services/preview/keyvault/v7.2-preview/keyvault/roleassignments.go b/services/keyvault/v7.2/keyvault/roleassignments.go similarity index 99% rename from services/preview/keyvault/v7.2-preview/keyvault/roleassignments.go rename to services/keyvault/v7.2/keyvault/roleassignments.go index 2a581d03a7ba..7e4710f8b183 100644 --- a/services/preview/keyvault/v7.2-preview/keyvault/roleassignments.go +++ b/services/keyvault/v7.2/keyvault/roleassignments.go @@ -85,7 +85,7 @@ func (client RoleAssignmentsClient) CreatePreparer(ctx context.Context, vaultBas "scope": scope, } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -167,7 +167,7 @@ func (client RoleAssignmentsClient) DeletePreparer(ctx context.Context, vaultBas "scope": scope, } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -247,7 +247,7 @@ func (client RoleAssignmentsClient) GetPreparer(ctx context.Context, vaultBaseUR "scope": scope, } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -333,7 +333,7 @@ func (client RoleAssignmentsClient) ListForScopePreparer(ctx context.Context, va "scope": scope, } - const APIVersion = "7.2-preview" + const APIVersion = "7.2" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/services/keyvault/v7.2/keyvault/roledefinitions.go b/services/keyvault/v7.2/keyvault/roledefinitions.go new file mode 100644 index 000000000000..64036fdf912c --- /dev/null +++ b/services/keyvault/v7.2/keyvault/roledefinitions.go @@ -0,0 +1,401 @@ +package keyvault + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// RoleDefinitionsClient is the the key vault client performs cryptographic key operations and vault operations against +// the Key Vault service. +type RoleDefinitionsClient struct { + BaseClient +} + +// NewRoleDefinitionsClient creates an instance of the RoleDefinitionsClient client. +func NewRoleDefinitionsClient() RoleDefinitionsClient { + return RoleDefinitionsClient{New()} +} + +// CreateOrUpdate creates or updates a custom role definition. +// Parameters: +// vaultBaseURL - the vault name, for example https://myvault.vault.azure.net. +// scope - the scope of the role definition to create or update. Managed HSM only supports '/'. +// roleDefinitionName - the name of the role definition to create or update. It can be any valid GUID. +// parameters - parameters for the role definition. +func (client RoleDefinitionsClient) CreateOrUpdate(ctx context.Context, vaultBaseURL string, scope string, roleDefinitionName string, parameters RoleDefinitionCreateParameters) (result RoleDefinition, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RoleDefinitionsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.Properties", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("keyvault.RoleDefinitionsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, vaultBaseURL, scope, roleDefinitionName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.RoleDefinitionsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "keyvault.RoleDefinitionsClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.RoleDefinitionsClient", "CreateOrUpdate", resp, "Failure responding to request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client RoleDefinitionsClient) CreateOrUpdatePreparer(ctx context.Context, vaultBaseURL string, scope string, roleDefinitionName string, parameters RoleDefinitionCreateParameters) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "vaultBaseUrl": vaultBaseURL, + } + + pathParameters := map[string]interface{}{ + "roleDefinitionName": autorest.Encode("path", roleDefinitionName), + "scope": scope, + } + + const APIVersion = "7.2" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithCustomBaseURL("{vaultBaseUrl}", urlParameters), + autorest.WithPathParameters("/{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client RoleDefinitionsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client RoleDefinitionsClient) CreateOrUpdateResponder(resp *http.Response) (result RoleDefinition, err error) { + err = autorest.Respond( + resp, + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a custom role definition. +// Parameters: +// vaultBaseURL - the vault name, for example https://myvault.vault.azure.net. +// scope - the scope of the role definition to delete. Managed HSM only supports '/'. +// roleDefinitionName - the name (GUID) of the role definition to delete. +func (client RoleDefinitionsClient) Delete(ctx context.Context, vaultBaseURL string, scope string, roleDefinitionName string) (result RoleDefinition, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RoleDefinitionsClient.Delete") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, vaultBaseURL, scope, roleDefinitionName) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.RoleDefinitionsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "keyvault.RoleDefinitionsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.RoleDefinitionsClient", "Delete", resp, "Failure responding to request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client RoleDefinitionsClient) DeletePreparer(ctx context.Context, vaultBaseURL string, scope string, roleDefinitionName string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "vaultBaseUrl": vaultBaseURL, + } + + pathParameters := map[string]interface{}{ + "roleDefinitionName": autorest.Encode("path", roleDefinitionName), + "scope": scope, + } + + const APIVersion = "7.2" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithCustomBaseURL("{vaultBaseUrl}", urlParameters), + autorest.WithPathParameters("/{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client RoleDefinitionsClient) DeleteSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client RoleDefinitionsClient) DeleteResponder(resp *http.Response) (result RoleDefinition, err error) { + err = autorest.Respond( + resp, + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get get the specified role definition. +// Parameters: +// vaultBaseURL - the vault name, for example https://myvault.vault.azure.net. +// scope - the scope of the role definition to get. Managed HSM only supports '/'. +// roleDefinitionName - the name of the role definition to get. +func (client RoleDefinitionsClient) Get(ctx context.Context, vaultBaseURL string, scope string, roleDefinitionName string) (result RoleDefinition, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RoleDefinitionsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, vaultBaseURL, scope, roleDefinitionName) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.RoleDefinitionsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "keyvault.RoleDefinitionsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.RoleDefinitionsClient", "Get", resp, "Failure responding to request") + return + } + + return +} + +// GetPreparer prepares the Get request. +func (client RoleDefinitionsClient) GetPreparer(ctx context.Context, vaultBaseURL string, scope string, roleDefinitionName string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "vaultBaseUrl": vaultBaseURL, + } + + pathParameters := map[string]interface{}{ + "roleDefinitionName": autorest.Encode("path", roleDefinitionName), + "scope": scope, + } + + const APIVersion = "7.2" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{vaultBaseUrl}", urlParameters), + autorest.WithPathParameters("/{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client RoleDefinitionsClient) GetSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client RoleDefinitionsClient) GetResponder(resp *http.Response) (result RoleDefinition, err error) { + err = autorest.Respond( + resp, + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List get all role definitions that are applicable at scope and above. +// Parameters: +// vaultBaseURL - the vault name, for example https://myvault.vault.azure.net. +// scope - the scope of the role definition. +// filter - the filter to apply on the operation. Use atScopeAndBelow filter to search below the given scope as +// well. +func (client RoleDefinitionsClient) List(ctx context.Context, vaultBaseURL string, scope string, filter string) (result RoleDefinitionListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RoleDefinitionsClient.List") + defer func() { + sc := -1 + if result.rdlr.Response.Response != nil { + sc = result.rdlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, vaultBaseURL, scope, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.RoleDefinitionsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.rdlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "keyvault.RoleDefinitionsClient", "List", resp, "Failure sending request") + return + } + + result.rdlr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.RoleDefinitionsClient", "List", resp, "Failure responding to request") + return + } + if result.rdlr.hasNextLink() && result.rdlr.IsEmpty() { + err = result.NextWithContext(ctx) + return + } + + return +} + +// ListPreparer prepares the List request. +func (client RoleDefinitionsClient) ListPreparer(ctx context.Context, vaultBaseURL string, scope string, filter string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "vaultBaseUrl": vaultBaseURL, + } + + pathParameters := map[string]interface{}{ + "scope": scope, + } + + const APIVersion = "7.2" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{vaultBaseUrl}", urlParameters), + autorest.WithPathParameters("/{scope}/providers/Microsoft.Authorization/roleDefinitions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client RoleDefinitionsClient) ListSender(req *http.Request) (*http.Response, error) { + return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client RoleDefinitionsClient) ListResponder(resp *http.Response) (result RoleDefinitionListResult, err error) { + err = autorest.Respond( + resp, + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client RoleDefinitionsClient) listNextResults(ctx context.Context, lastResults RoleDefinitionListResult) (result RoleDefinitionListResult, err error) { + req, err := lastResults.roleDefinitionListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "keyvault.RoleDefinitionsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "keyvault.RoleDefinitionsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.RoleDefinitionsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client RoleDefinitionsClient) ListComplete(ctx context.Context, vaultBaseURL string, scope string, filter string) (result RoleDefinitionListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RoleDefinitionsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, vaultBaseURL, scope, filter) + return +} diff --git a/services/preview/keyvault/v7.2-preview/keyvault/version.go b/services/keyvault/v7.2/keyvault/version.go similarity index 90% rename from services/preview/keyvault/v7.2-preview/keyvault/version.go rename to services/keyvault/v7.2/keyvault/version.go index cc6622cbd13e..b293235fb38c 100644 --- a/services/preview/keyvault/v7.2-preview/keyvault/version.go +++ b/services/keyvault/v7.2/keyvault/version.go @@ -10,7 +10,7 @@ import "github.com/Azure/azure-sdk-for-go/version" // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/" + Version() + " keyvault/7.2-preview" + return "Azure-SDK-For-Go/" + Version() + " keyvault/7.2" } // Version returns the semantic version (see http://semver.org) of the client. diff --git a/services/preview/keyvault/v7.2-preview/keyvault/CHANGELOG.md b/services/preview/keyvault/v7.2-preview/keyvault/CHANGELOG.md deleted file mode 100644 index 6c701c1c40af..000000000000 --- a/services/preview/keyvault/v7.2-preview/keyvault/CHANGELOG.md +++ /dev/null @@ -1,26 +0,0 @@ -# Change History - -## Additive Changes - -### New Funcs - -1. BackupCertificateResult.MarshalJSON() ([]byte, error) -1. BackupKeyResult.MarshalJSON() ([]byte, error) -1. BackupSecretResult.MarshalJSON() ([]byte, error) -1. BackupStorageResult.MarshalJSON() ([]byte, error) -1. CertificateIssuerListResult.MarshalJSON() ([]byte, error) -1. CertificateListResult.MarshalJSON() ([]byte, error) -1. DeletedCertificateListResult.MarshalJSON() ([]byte, error) -1. DeletedKeyListResult.MarshalJSON() ([]byte, error) -1. DeletedSasDefinitionListResult.MarshalJSON() ([]byte, error) -1. DeletedSecretListResult.MarshalJSON() ([]byte, error) -1. DeletedStorageListResult.MarshalJSON() ([]byte, error) -1. Error.MarshalJSON() ([]byte, error) -1. ErrorType.MarshalJSON() ([]byte, error) -1. KeyListResult.MarshalJSON() ([]byte, error) -1. KeyOperationResult.MarshalJSON() ([]byte, error) -1. KeyVerifyResult.MarshalJSON() ([]byte, error) -1. PendingCertificateSigningRequestResult.MarshalJSON() ([]byte, error) -1. SasDefinitionListResult.MarshalJSON() ([]byte, error) -1. SecretListResult.MarshalJSON() ([]byte, error) -1. StorageListResult.MarshalJSON() ([]byte, error) diff --git a/services/preview/keyvault/v7.2-preview/keyvault/roledefinitions.go b/services/preview/keyvault/v7.2-preview/keyvault/roledefinitions.go deleted file mode 100644 index b49496667b8b..000000000000 --- a/services/preview/keyvault/v7.2-preview/keyvault/roledefinitions.go +++ /dev/null @@ -1,151 +0,0 @@ -package keyvault - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/tracing" - "net/http" -) - -// RoleDefinitionsClient is the the key vault client performs cryptographic key operations and vault operations against -// the Key Vault service. -type RoleDefinitionsClient struct { - BaseClient -} - -// NewRoleDefinitionsClient creates an instance of the RoleDefinitionsClient client. -func NewRoleDefinitionsClient() RoleDefinitionsClient { - return RoleDefinitionsClient{New()} -} - -// List get all role definitions that are applicable at scope and above. -// Parameters: -// vaultBaseURL - the vault name, for example https://myvault.vault.azure.net. -// scope - the scope of the role definition. -// filter - the filter to apply on the operation. Use atScopeAndBelow filter to search below the given scope as -// well. -func (client RoleDefinitionsClient) List(ctx context.Context, vaultBaseURL string, scope string, filter string) (result RoleDefinitionListResultPage, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/RoleDefinitionsClient.List") - defer func() { - sc := -1 - if result.rdlr.Response.Response != nil { - sc = result.rdlr.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, vaultBaseURL, scope, filter) - if err != nil { - err = autorest.NewErrorWithError(err, "keyvault.RoleDefinitionsClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.rdlr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "keyvault.RoleDefinitionsClient", "List", resp, "Failure sending request") - return - } - - result.rdlr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "keyvault.RoleDefinitionsClient", "List", resp, "Failure responding to request") - return - } - if result.rdlr.hasNextLink() && result.rdlr.IsEmpty() { - err = result.NextWithContext(ctx) - return - } - - return -} - -// ListPreparer prepares the List request. -func (client RoleDefinitionsClient) ListPreparer(ctx context.Context, vaultBaseURL string, scope string, filter string) (*http.Request, error) { - urlParameters := map[string]interface{}{ - "vaultBaseUrl": vaultBaseURL, - } - - pathParameters := map[string]interface{}{ - "scope": scope, - } - - const APIVersion = "7.2-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithCustomBaseURL("{vaultBaseUrl}", urlParameters), - autorest.WithPathParameters("/{scope}/providers/Microsoft.Authorization/roleDefinitions", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client RoleDefinitionsClient) ListSender(req *http.Request) (*http.Response, error) { - return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client RoleDefinitionsClient) ListResponder(resp *http.Response) (result RoleDefinitionListResult, err error) { - err = autorest.Respond( - resp, - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client RoleDefinitionsClient) listNextResults(ctx context.Context, lastResults RoleDefinitionListResult) (result RoleDefinitionListResult, err error) { - req, err := lastResults.roleDefinitionListResultPreparer(ctx) - if err != nil { - return result, autorest.NewErrorWithError(err, "keyvault.RoleDefinitionsClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "keyvault.RoleDefinitionsClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "keyvault.RoleDefinitionsClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client RoleDefinitionsClient) ListComplete(ctx context.Context, vaultBaseURL string, scope string, filter string) (result RoleDefinitionListResultIterator, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/RoleDefinitionsClient.List") - defer func() { - sc := -1 - if result.Response().Response.Response != nil { - sc = result.page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - result.page, err = client.List(ctx, vaultBaseURL, scope, filter) - return -}