From: Jan Provaznik <[email protected]>
This method builds XML representation of cloud account credentials and is passed
to Image Factory in Image Building process.
---
src/app/models/cloud_account.rb | 23 +++++++++++++++++++++++
1 files changed, 23 insertions(+), 0 deletions(-)
diff --git a/src/app/models/cloud_account.rb b/src/app/models/cloud_account.rb
index 7cc056f..a9fa40f 100644
--- a/src/app/models/cloud_account.rb
+++ b/src/app/models/cloud_account.rb
@@ -19,6 +19,8 @@
# Filters added to this controller apply to all controllers in the application.
# Likewise, all the methods added will be available for all controllers.
+require 'nokogiri'
+
class CloudAccount < ActiveRecord::Base
include PermissionedObject
belongs_to :provider
@@ -108,6 +110,27 @@ class CloudAccount < ActiveRecord::Base
DeltaCloud::valid_credentials?(username, password, provider.url)
end
+ def build_credentials
+ xml = Nokogiri::XML <<EOT
+<provider_credentials>
+ <ec2_credentials>
+ <account_number></account_number>
+ <access_key></access_key>
+ <secret_access_key></secret_access_key>
+ <certificate></certificate>
+ <key></key>
+ </ec2_credentials>
+</provider_credentials>
+EOT
+ node = xml.at_xpath('/provider_credentials/ec2_credentials')
+ node.at_xpath('./account_number').content = account_number
+ node.at_xpath('./access_key').content = username
+ node.at_xpath('./secret_access_key').content = password
+ node.at_xpath('./certificate').content = x509_cert_priv
+ node.at_xpath('./key').content = x509_cert_priv
+ return xml.to_s
+ end
+
protected
def validate
errors.add_to_base("Login Credentials are Invalid for this Provider")
unless valid_credentials?
--
1.7.2.2
_______________________________________________
deltacloud-devel mailing list
[email protected]
https://fedorahosted.org/mailman/listinfo/deltacloud-devel