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

Reply via email to