lib/fog/azurerm/key_vault.rb
module Fog
module KeyVault
# This class registers models, requests and collections
class AzureRM < Fog::Service
requires :tenant_id
requires :client_id
requires :client_secret
requires :subscription_id
request_path 'fog/azurerm/requests/key_vault'
request :get_vault
request :list_vaults
request :create_or_update_vault
request :delete_vault
request :check_vault_exists
model_path 'fog/azurerm/models/key_vault'
model :vault
model :access_policy_entry
collection :vaults
# This class provides the mock implementation for unit tests.
class Mock
def initialize(_options = {})
begin
require 'azure_mgmt_key_vault'
rescue LoadError => e
retry if require('rubygems')
raise e.message
end
end
end
# This class provides the actual implementation for service calls.
class Real
def initialize(options)
begin
require 'azure_mgmt_key_vault'
rescue LoadError => e
retry if require('rubygems')
raise e.message
end
credentials = Fog::Credentials::AzureRM.get_credentials(options[:tenant_id], options[:client_id], options[:client_secret])
@key_vault_client = ::Azure::ARM::KeyVault::KeyVaultManagementClient.new(credentials)
@key_vault_client.subscription_id = options[:subscription_id]
end
end
end
end
end