Class: Aws::Iam
- Includes:
- AwsBaseInterface
- Defined in:
- lib/iam/iam.rb
Constant Summary collapse
- API_VERSION =
"2010-05-08"
- DEFAULT_HOST =
"iam.amazonaws.com"
- DEFAULT_PATH =
'/'
- DEFAULT_PROTOCOL =
'https'
- DEFAULT_PORT =
443
- @@bench =
AwsBenchmarkingBlock.new
- @@api =
Current API version (sometimes we have to check it outside the GEM).
ENV['IAM_API_VERSION'] || API_VERSION
Constants included from AwsBaseInterface
AwsBaseInterface::DEFAULT_SIGNATURE_VERSION
Constants inherited from AwsBase
Instance Attribute Summary
Attributes included from AwsBaseInterface
#aws_access_key_id, #cache, #last_errors, #last_request, #last_request_id, #last_response, #logger, #params, #signature_version
Class Method Summary collapse
Instance Method Summary collapse
- #do_request(action, params, options = {}) ⇒ Object
-
#initialize(aws_access_key_id = nil, aws_secret_access_key = nil, params = {}) ⇒ Iam
constructor
A new instance of Iam.
-
#list_server_certificates(options = {}) ⇒ Object
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 /.
-
#upload_server_certificate(name, public_key, private_key, options = {}) ⇒ Object
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.
Methods included from AwsBaseInterface
#cache_hits?, caching, caching=, #caching?, #close_conn, #close_connection, #connection, #escape_params, #generate_request, #generate_request2, #get_conn, #hash_params, #init, #multi_thread, #on_exception, #request_cache_or_info, #request_info2, #request_info3, #request_info_impl, #request_info_xml_simple, #request_info_xml_simple3, #signed_service_params, #symbolize, #update_cache
Methods inherited from AwsBase
amazon_problems, amazon_problems=
Constructor Details
#initialize(aws_access_key_id = nil, aws_secret_access_key = nil, params = {}) ⇒ Iam
Returns a new instance of Iam.
41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/iam/iam.rb', line 41 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 |
Class Method Details
.api ⇒ Object
36 37 38 |
# File 'lib/iam/iam.rb', line 36 def self.api @@api end |
.bench ⇒ Object
21 22 23 |
# File 'lib/iam/iam.rb', line 21 def self.bench @@bench end |
.bench_ec2 ⇒ Object
29 30 31 |
# File 'lib/iam/iam.rb', line 29 def self.bench_ec2 @@bench.service end |
.bench_xml ⇒ Object
25 26 27 |
# File 'lib/iam/iam.rb', line 25 def self.bench_xml @@bench.xml end |
.connection_name ⇒ Object
15 16 17 |
# File 'lib/iam/iam.rb', line 15 def self.connection_name :iam_connection end |
Instance Method Details
#do_request(action, params, options = {}) ⇒ Object
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/iam/iam.rb', line 53 def do_request(action, params, ={}) 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 =>[:pull_out_array], :pull_out_single=>[:pull_out_single], :wrapper =>[:wrapper]) end |
#list_server_certificates(options = {}) ⇒ Object
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 /
82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
# File 'lib/iam/iam.rb', line 82 def list_server_certificates(={}) @logger.info("Listing server certificates...") params = {} params['Marker'] = [:marker] if [:marker] params['MaxItems'] = [:max_items] if [:max_items] params['PathPrefix'] = [:path_prefix] if [:path_prefix] resp = do_request("ListServerCertificates", params, :pull_out_array=>[:list_server_certificates_result, :server_certificate_metadata_list]) rescue Exception on_exception end |
#upload_server_certificate(name, public_key, private_key, options = {}) ⇒ Object
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
104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 |
# File 'lib/iam/iam.rb', line 104 def upload_server_certificate(name, public_key, private_key, ={}) params = {} params['ServerCertificateName'] = name params['PrivateKey'] = private_key params['CertificateBody'] = public_key params['CertificateChain'] = [:certificate_chain] if [:certificate_chain] params['Path'] = [:path] if [:path] p params resp = do_request("UploadServerCertificate", params, :pull_out_array=>[:list_server_certificates_result, :server_certificate_metadata_list]) rescue Exception on_exception end |