This PR builds off the initial work done by @andreaturli. It implements the following functionality:
- KeyVault management - Certificate operations - Key operations - Secret operations Currently, in "Key operations", two functions are there, but not tested: - [Merge Certificate](https://docs.microsoft.com/en-us/rest/api/keyvault/MergeCertificate/MergeCertificate) - [Update Certificate with Version](https://docs.microsoft.com/en-us/rest/api/keyvault/UpdateCertificate/UpdateCertificate) Merging certificates is meant for the case where the KeyVault is used to generate a Certificate Signing Request and you have the cert signed by an external agency. Thus then merging the certificate / chain back into the KeyVault where there is a pending certificate operation for that CSR/key. Updating a specific version of a certificate responds with an error that the Certificate Policy can't be updated on a specific version of a certificate. However, specifying no Certificate Policy results in an error (required) as does specifying the exact same policy (can't update policy on a specific version). I've got inquiries out on each of these. One other place to put some eyes on is the KeyVaultFilter.java file. Given operations outside of KeyVault management operate on the KeyVault url directly, the KeyVaultFilter has been modified to work with the case where we are doing mock tests instead of direct to OAuth. As mentioned on the email, there will be two separate PRs for the additional two components of the KeyVault: 1. Crytographic operations -- decrypt, encrypt, wrap key, unwrap key, sign, and verify. 2. Storage account operations -- these rely on having a storage account to operate on. You can view, comment on, or merge this pull request online at: https://github.com/jclouds/jclouds-labs/pull/416 -- Commit Summary -- * Add initial KeyVault support * Add initial KeyVault support, based off of @andreaturi's work. Vault management, Certificates, Keys and Secrets supported. -- File Changes -- M azurecompute-arm/README.md (27) M azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/AzureComputeApi.java (14) M azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/AzureComputeProviderMetadata.java (42) M azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/AzureComputeServiceAdapter.java (2) M azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/functions/VirtualMachineToStatus.java (2) M azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/strategy/CleanupResources.java (6) M azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/AvailabilitySet.java (4) A azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/Certificate.java (595) A azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/Key.java (152) M azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/OSProfile.java (2) M azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/SKU.java (27) A azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/Secret.java (144) M azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/StorageProfile.java (2) A azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/Vault.java (105) A azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/domain/VaultProperties.java (131) M azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/features/DeploymentApi.java (4) A azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/features/VaultApi.java (636) A azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/filters/KeyVaultFilter.java (108) A azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/functions/TrueOn20X.java (37) M azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/features/PublicIPAddressApiLiveTest.java (4) M azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/features/PublicIPAddressApiMockTest.java (2) A azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/features/VaultApiLiveTest.java (1130) A azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/features/VaultApiMockTest.java (2331) M azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/features/VirtualMachineApiLiveTest.java (2) M azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/features/VirtualMachineApiMockTest.java (4) M azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/filters/ApiVersionFilterTest.java (4) M azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/internal/BaseAzureComputeApiLiveTest.java (4) M azurecompute-arm/src/test/java/org/jclouds/azurecompute/arm/internal/BaseAzureComputeApiMockTest.java (6) A azurecompute-arm/src/test/resources/getvault.json (60) A azurecompute-arm/src/test/resources/vaultbackupkey.json (3) A azurecompute-arm/src/test/resources/vaultbackupsecret.json (3) A azurecompute-arm/src/test/resources/vaultcreate.json (26) A azurecompute-arm/src/test/resources/vaultcreatecertificate.json (11) A azurecompute-arm/src/test/resources/vaultcreatekey.json (15) A azurecompute-arm/src/test/resources/vaultdeletecertificate.json (58) A azurecompute-arm/src/test/resources/vaultdeletecertificatecontacts.json (8) A azurecompute-arm/src/test/resources/vaultdeletecertificateissuer.json (21) A azurecompute-arm/src/test/resources/vaultdeletecertificateoperation.json (11) A azurecompute-arm/src/test/resources/vaultdeletekey.json (15) A azurecompute-arm/src/test/resources/vaultdeletesecret.json (10) A azurecompute-arm/src/test/resources/vaultget.json (26) A azurecompute-arm/src/test/resources/vaultgetcertificate.json (55) A azurecompute-arm/src/test/resources/vaultgetcertificatecontacts.json (8) A azurecompute-arm/src/test/resources/vaultgetcertificateissuer.json (21) A azurecompute-arm/src/test/resources/vaultgetcertificateoperation.json (11) A azurecompute-arm/src/test/resources/vaultgetcertificatepolicy.json (37) A azurecompute-arm/src/test/resources/vaultgetdeleted.json (12) A azurecompute-arm/src/test/resources/vaultgetdeletedcertificate.json (55) A azurecompute-arm/src/test/resources/vaultgetdeletedkey.json (18) A azurecompute-arm/src/test/resources/vaultgetdeletedsecret.json (13) A azurecompute-arm/src/test/resources/vaultgetkey.json (15) A azurecompute-arm/src/test/resources/vaultgetkeyversions.json (23) A azurecompute-arm/src/test/resources/vaultgetsecret.json (11) A azurecompute-arm/src/test/resources/vaultgetsecretversions.json (25) A azurecompute-arm/src/test/resources/vaultimportcertificate.json (52) A azurecompute-arm/src/test/resources/vaultlist.json (29) A azurecompute-arm/src/test/resources/vaultlistcertificateissuers.json (7) A azurecompute-arm/src/test/resources/vaultlistcertificates.json (27) A azurecompute-arm/src/test/resources/vaultlistcertificateversions.json (17) A azurecompute-arm/src/test/resources/vaultlistdeleted.json (15) A azurecompute-arm/src/test/resources/vaultlistdeletedcertificates.json (18) A azurecompute-arm/src/test/resources/vaultlistdeletedkeys.json (15) A azurecompute-arm/src/test/resources/vaultlistdeletedsecrets.json (16) A azurecompute-arm/src/test/resources/vaultlistkeys.json (42) A azurecompute-arm/src/test/resources/vaultlistsecrets.json (40) A azurecompute-arm/src/test/resources/vaultrecoverdeletedcertificate.json (52) A azurecompute-arm/src/test/resources/vaultrecoverdeletedkey.json (15) A azurecompute-arm/src/test/resources/vaultrecoverdeletedsecret.json (10) A azurecompute-arm/src/test/resources/vaultrestorekey.json (15) A azurecompute-arm/src/test/resources/vaultrestoresecret.json (10) A azurecompute-arm/src/test/resources/vaultsetcertificatecontacts.json (8) A azurecompute-arm/src/test/resources/vaultsetcertificateissuer.json (21) A azurecompute-arm/src/test/resources/vaultsetsecret.json (11) A azurecompute-arm/src/test/resources/vaultupdatecertificate.json (58) A azurecompute-arm/src/test/resources/vaultupdatecertificateissuer.json (21) A azurecompute-arm/src/test/resources/vaultupdatecertificateoperation.json (11) A azurecompute-arm/src/test/resources/vaultupdatecertificatepolicy.json (37) A azurecompute-arm/src/test/resources/vaultupdatekey.json (18) A azurecompute-arm/src/test/resources/vaultupdatekeywithversion.json (18) A azurecompute-arm/src/test/resources/vaultupdatesecret.json (13) A azurecompute-arm/src/test/resources/vaultupdatesecretwithversion.json (13) -- Patch Links -- https://github.com/jclouds/jclouds-labs/pull/416.patch https://github.com/jclouds/jclouds-labs/pull/416.diff -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/jclouds/jclouds-labs/pull/416
