class Vault
Wrapper class for ::Azure::KeyVault::Profiles::Latest::Mgmt::Client allowing custom configuration, for example, defining additional settings for the ::MsRestAzure::ApplicationTokenProvider.
Constants
- AUTH_ENDPOINT
- RESOURCE_ENDPOINT
Public Class Methods
client(vault_name, credentials)
click to toggle source
# File lib/train/transports/clients/azure/vault.rb, line 9 def self.client(vault_name, credentials) raise ::Train::UserError, "Vault Name cannot be nil" if vault_name.nil? credentials[:credentials] = ::MsRest::TokenCredentials.new(provider(credentials)) credentials[:base_url] = api_endpoint(vault_name) ::Azure::KeyVault::Profiles::Latest::Mgmt::Client.new(credentials) end
Private Class Methods
api_endpoint(vault_name)
click to toggle source
# File lib/train/transports/clients/azure/vault.rb, line 27 def self.api_endpoint(vault_name) "https://#{vault_name}#{MsRestAzure::AzureEnvironments::AzureCloud.key_vault_dns_suffix}" end
provider(credentials)
click to toggle source
# File lib/train/transports/clients/azure/vault.rb, line 18 def self.provider(credentials) ::MsRestAzure::ApplicationTokenProvider.new( credentials[:tenant_id], credentials[:client_id], credentials[:client_secret], settings ) end
settings()
click to toggle source
# File lib/train/transports/clients/azure/vault.rb, line 31 def self.settings client_settings = MsRestAzure::ActiveDirectoryServiceSettings.get_azure_settings client_settings.authentication_endpoint = AUTH_ENDPOINT client_settings.token_audience = RESOURCE_ENDPOINT client_settings end