class KeyVault::Url

Helper for Key Vault URL's and REST document bodies

Public Class Methods

new(vault_name) click to toggle source

Creates URL for keyvault from bearer_token and vault_name

# File lib/key_vault/url.rb, line 6
def initialize(vault_name)
  @vault_name = vault_name
end

Public Instance Methods

get_body(secret_value) click to toggle source

Returns secret_value as a json doc

# File lib/key_vault/url.rb, line 21
def get_body(secret_value)
  { 'value' => secret_value }.to_json
end
get_url(secret_name, version, api_version) click to toggle source

Gets URL for the secret

# File lib/key_vault/url.rb, line 11
def get_url(secret_name, version, api_version)
  base_url = format(base_secret_url,
                    vault_name: CGI.escape(@vault_name),
                    secret_name: CGI.escape(secret_name))
  base_url << "/#{version}" if version
  base_url << get_api_version_string(api_version)
  base_url
end

Private Instance Methods

base_secret_url() click to toggle source

Returns url for the key vault

# File lib/key_vault/url.rb, line 28
def base_secret_url
  'https://%<vault_name>s.vault.azure.net/secrets/%<secret_name>s'
end
get_api_version_string(api_version) click to toggle source

Returns api_version url parameter

# File lib/key_vault/url.rb, line 33
def get_api_version_string(api_version)
  "?api-version=#{api_version}"
end