lib/iam/iam.rb in aws-2.3.34 vs lib/iam/iam.rb in aws-2.4.0
- old
+ new
@@ -1,118 +1,120 @@
module Aws
- require 'xmlsimple'
+ require 'xmlsimple'
- class Iam < AwsBase
+ class Iam < AwsBase
- include AwsBaseInterface
+ include AwsBaseInterface
- API_VERSION = "2010-05-08"
- DEFAULT_HOST = "iam.amazonaws.com"
- DEFAULT_PATH = '/'
- DEFAULT_PROTOCOL = 'https'
- DEFAULT_PORT = 443
+ API_VERSION = "2010-05-08"
+ DEFAULT_HOST = "iam.amazonaws.com"
+ DEFAULT_PATH = '/'
+ DEFAULT_PROTOCOL = 'https'
+ DEFAULT_PORT = 443
- @@bench = AwsBenchmarkingBlock.new
+ @@bench = AwsBenchmarkingBlock.new
+ def self.bench
+ @@bench
+ end
+ def self.bench_xml
+ @@bench.xml
+ end
- def self.bench_xml
- @@bench.xml
- end
+ def self.bench_ec2
+ @@bench.service
+ end
- def self.bench_ec2
- @@bench.service
- end
+ # Current API version (sometimes we have to check it outside the GEM).
+ @@api = ENV['IAM_API_VERSION'] || API_VERSION
- # Current API version (sometimes we have to check it outside the GEM).
- @@api = ENV['IAM_API_VERSION'] || API_VERSION
+ def self.api
+ @@api
+ end
- def self.api
- @@api
- end
+ def initialize(aws_access_key_id=nil, aws_secret_access_key=nil, params={})
+ init({:name => 'IAM',
+ :default_host => ENV['IAM_URL'] ? URI.parse(ENV['IAM_URL']).host : DEFAULT_HOST,
+ :default_port => ENV['IAM_URL'] ? URI.parse(ENV['IAM_URL']).port : DEFAULT_PORT,
+ :default_service => ENV['IAM_URL'] ? URI.parse(ENV['IAM_URL']).path : DEFAULT_PATH,
+ :default_protocol => ENV['IAM_URL'] ? URI.parse(ENV['IAM_URL']).scheme : DEFAULT_PROTOCOL,
+ :api_version => API_VERSION},
+ aws_access_key_id || ENV['AWS_ACCESS_KEY_ID'],
+ aws_secret_access_key|| ENV['AWS_SECRET_ACCESS_KEY'],
+ params)
+ end
- def initialize(aws_access_key_id=nil, aws_secret_access_key=nil, params={})
- init({:name => 'IAM',
- :default_host => ENV['IAM_URL'] ? URI.parse(ENV['IAM_URL']).host : DEFAULT_HOST,
- :default_port => ENV['IAM_URL'] ? URI.parse(ENV['IAM_URL']).port : DEFAULT_PORT,
- :default_service => ENV['IAM_URL'] ? URI.parse(ENV['IAM_URL']).path : DEFAULT_PATH,
- :default_protocol => ENV['IAM_URL'] ? URI.parse(ENV['IAM_URL']).scheme : DEFAULT_PROTOCOL,
- :api_version => API_VERSION},
- aws_access_key_id || ENV['AWS_ACCESS_KEY_ID'],
- aws_secret_access_key|| ENV['AWS_SECRET_ACCESS_KEY'],
- params)
- end
+ def do_request(action, params, options={})
+ link = generate_request(action, params)
+ p link[:request]
+ resp = request_info_xml_simple(:iam_connection, @params, link, @logger,
+ :group_tags =>{"LoadBalancersDescriptions"=>"LoadBalancersDescription",
+ "DBParameterGroups" =>"DBParameterGroup",
+ "DBSecurityGroups" =>"DBSecurityGroup",
+ "EC2SecurityGroups" =>"EC2SecurityGroup",
+ "IPRanges" =>"IPRange"},
+ :force_array =>["DBInstances",
+ "DBParameterGroups",
+ "DBSecurityGroups",
+ "EC2SecurityGroups",
+ "IPRanges"],
+ :pull_out_array =>options[:pull_out_array],
+ :pull_out_single=>options[:pull_out_single],
+ :wrapper =>options[:wrapper])
+ end
- def do_request(action, params, options={})
- link = generate_request(action, params)
- p link[:request]
- resp = request_info_xml_simple(:iam_connection, @params, link, @logger,
- :group_tags =>{"LoadBalancersDescriptions"=>"LoadBalancersDescription",
- "DBParameterGroups" =>"DBParameterGroup",
- "DBSecurityGroups" =>"DBSecurityGroup",
- "EC2SecurityGroups" =>"EC2SecurityGroup",
- "IPRanges" =>"IPRange"},
- :force_array =>["DBInstances",
- "DBParameterGroups",
- "DBSecurityGroups",
- "EC2SecurityGroups",
- "IPRanges"],
- :pull_out_array =>options[:pull_out_array],
- :pull_out_single=>options[:pull_out_single],
- :wrapper =>options[:wrapper])
- end
+ #-----------------------------------------------------------------
+ # REQUESTS
+ #-----------------------------------------------------------------
- #-----------------------------------------------------------------
- # REQUESTS
- #-----------------------------------------------------------------
+ # options:
+ # :marker => value received from previous response if IsTruncated = true
+ # :max_items => number of items you want returned
+ # :path_previx => for filtering results, default is /
+ def list_server_certificates(options={})
+ @logger.info("Listing server certificates...")
- # options:
- # :marker => value received from previous response if IsTruncated = true
- # :max_items => number of items you want returned
- # :path_previx => for filtering results, default is /
- def list_server_certificates(options={})
- @logger.info("Listing server certificates...")
+ params = {}
+ params['Marker'] = options[:marker] if options[:marker]
+ params['MaxItems'] = options[:max_items] if options[:max_items]
+ params['PathPrefix'] = options[:path_prefix] if options[:path_prefix]
- params = {}
- params['Marker'] = options[:marker] if options[:marker]
- params['MaxItems'] = options[:max_items] if options[:max_items]
- params['PathPrefix'] = options[:path_prefix] if options[:path_prefix]
+ resp = do_request("ListServerCertificates", params, :pull_out_array=>[:list_server_certificates_result, :server_certificate_metadata_list])
- resp = do_request("ListServerCertificates", params, :pull_out_array=>[:list_server_certificates_result, :server_certificate_metadata_list])
+ rescue Exception
+ on_exception
+ end
- rescue Exception
- on_exception
- end
+ #
+ # name: name of certificate
+ # public_key: public key certificate in PEM-encoded format
+ # private_key: private key in PEM-encoded format
+ # options:
+ # :path => specify a path you want it stored in
+ # :certificate_chain => contents of certificate chain
+ def upload_server_certificate(name, public_key, private_key, options={})
+ params = {}
+ params['ServerCertificateName'] = name
+ params['PrivateKey'] = private_key
+ params['CertificateBody'] = public_key
- #
- # name: name of certificate
- # public_key: public key certificate in PEM-encoded format
- # private_key: private key in PEM-encoded format
- # options:
- # :path => specify a path you want it stored in
- # :certificate_chain => contents of certificate chain
- def upload_server_certificate(name, public_key, private_key, options={})
- params = {}
- params['ServerCertificateName'] = name
- params['PrivateKey'] = private_key
- params['CertificateBody'] = public_key
+ params['CertificateChain'] = options[:certificate_chain] if options[:certificate_chain]
+ params['Path'] = options[:path] if options[:path]
- params['CertificateChain'] = options[:certificate_chain] if options[:certificate_chain]
- params['Path'] = options[:path] if options[:path]
+ p params
- p params
+ resp = do_request("UploadServerCertificate", params, :pull_out_array=>[:list_server_certificates_result, :server_certificate_metadata_list])
- resp = do_request("UploadServerCertificate", params, :pull_out_array=>[:list_server_certificates_result, :server_certificate_metadata_list])
+ rescue Exception
+ on_exception
+ end
- rescue Exception
- on_exception
- end
-
- end
+ end
end
\ No newline at end of file