class Fog::KeyVault::AzureRM::Real
This class provides the actual implementation for service calls.
This class provides the actual implementation for service calls.
This class provides the actual implementation for service calls.
Real
class for KeyVault
Request
Public Class Methods
new(options)
click to toggle source
# File lib/fog/azurerm/key_vault.rb, line 36 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
Public Instance Methods
check_vault_exists(resource_group, vault_name)
click to toggle source
# File lib/fog/azurerm/requests/key_vault/check_vault_exists.rb, line 6 def check_vault_exists(resource_group, vault_name) msg = "Checking Vault #{vault_name}" Fog::Logger.debug msg begin @key_vault_client.vaults.get(resource_group, vault_name) Fog::Logger.debug "Vault #{vault_name} exists." true rescue MsRestAzure::AzureOperationError => e if resource_not_found?(e) Fog::Logger.debug "Vault #{vault_name} doesn't exist." false else raise_azure_exception(e, msg) end end end
create_or_update_vault(vault_hash)
click to toggle source
# File lib/fog/azurerm/requests/key_vault/create_or_update_vault.rb, line 6 def create_or_update_vault(vault_hash) msg = "Creating Vault: #{vault_hash[:name]}." Fog::Logger.debug msg vault_parameters = get_vault_param_object(vault_hash) begin vault = @key_vault_client.vaults.create_or_update(vault_hash[:resource_group], vault_hash[:name], vault_parameters) rescue MsRestAzure::AzureOperationError => e raise_azure_exception(e, msg) end Fog::Logger.debug "Vault: #{vault_hash[:name]} created successfully." vault end
delete_vault(resource_group, vault_name)
click to toggle source
# File lib/fog/azurerm/requests/key_vault/delete_vault.rb, line 6 def delete_vault(resource_group, vault_name) msg = "Deleting Vault: #{vault_name}." Fog::Logger.debug msg begin @key_vault_client.vaults.delete(resource_group, vault_name) rescue MsRestAzure::AzureOperationError => e raise_azure_exception(e, msg) end Fog::Logger.debug "Vault: #{vault_name} deleted successfully." true end
get_vault(resource_group, vault_name)
click to toggle source
# File lib/fog/azurerm/requests/key_vault/get_vault.rb, line 6 def get_vault(resource_group, vault_name) msg = "Getting Vault => #{vault_name} from Resource Group => #{resource_group}..." Fog::Logger.debug msg begin vault = @key_vault_client.vaults.get(resource_group, vault_name) rescue MsRestAzure::AzureOperationError => e raise_azure_exception(e, msg) end Fog::Logger.debug "Vault fetched successfully from Resource Group => #{resource_group}" vault end
list_vaults(resource_group)
click to toggle source
# File lib/fog/azurerm/requests/key_vault/list_vaults.rb, line 6 def list_vaults(resource_group) msg = "Listing Vaults in Resource Group: #{resource_group}." Fog::Logger.debug msg begin vaults = @key_vault_client.vaults.list_by_resource_group_as_lazy(resource_group) rescue MsRestAzure::AzureOperationError => e raise_azure_exception(e, msg) end Fog::Logger.debug "Vaults listed successfully in Resource Group: #{resource_group}" vaults.value end
Private Instance Methods
get_access_policies_object(access_policies_hash)
click to toggle source
# File lib/fog/azurerm/requests/key_vault/create_or_update_vault.rb, line 44 def get_access_policies_object(access_policies_hash) access_policies_arr = [] unless access_policies_hash.nil? access_policies_hash.each do |access_policy_hash| access_policies_arr.push(get_access_policy_entry_object(access_policy_hash)) end end access_policies_arr end
get_access_policy_entry_object(access_policy_hash)
click to toggle source
# File lib/fog/azurerm/requests/key_vault/create_or_update_vault.rb, line 54 def get_access_policy_entry_object(access_policy_hash) access_policy_entry = Azure::ARM::KeyVault::Models::AccessPolicyEntry.new access_policy_entry.tenant_id = access_policy_hash[:tenant_id] access_policy_entry.object_id = access_policy_hash[:object_id] access_policy_entry.permissions = get_permission_object(access_policy_hash[:permissions]) access_policy_entry end
get_permission_object(permission_hash)
click to toggle source
# File lib/fog/azurerm/requests/key_vault/create_or_update_vault.rb, line 62 def get_permission_object(permission_hash) permission = Azure::ARM::KeyVault::Models::Permissions.new permission.keys = permission_hash[:keys] permission.secrets = permission_hash[:secrets] permission.certificates = permission_hash[:certificates] permission end
get_sku_object(vault_hash)
click to toggle source
# File lib/fog/azurerm/requests/key_vault/create_or_update_vault.rb, line 37 def get_sku_object(vault_hash) sku = Azure::ARM::KeyVault::Models::Sku.new sku.family = vault_hash[:sku_family] sku.name = vault_hash[:sku_name] sku end
get_vault_param_object(vault_hash)
click to toggle source
# File lib/fog/azurerm/requests/key_vault/create_or_update_vault.rb, line 21 def get_vault_param_object(vault_hash) vault_param = Azure::ARM::KeyVault::Models::VaultCreateOrUpdateParameters.new vault_param.location = vault_hash[:location] vault_param.tags = vault_hash[:tags] vault_param.properties = get_vault_properties_object(vault_hash) vault_param end
get_vault_properties_object(vault_hash)
click to toggle source
# File lib/fog/azurerm/requests/key_vault/create_or_update_vault.rb, line 29 def get_vault_properties_object(vault_hash) vault_properties = Azure::ARM::KeyVault::Models::VaultProperties.new vault_properties.tenant_id = vault_hash[:tenant_id] vault_properties.sku = get_sku_object(vault_hash) vault_properties.access_policies = get_access_policies_object(vault_hash[:access_policies]) vault_properties end