Class: Aws::Ses
- Includes:
- AwsBaseInterface
- Defined in:
- lib/ses/ses.rb
Constant Summary collapse
- API_VERSION =
"2010-12-01"
- DEFAULT_HOST =
"email.us-east-1.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['SES_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
-
#get_send_quota(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 /.
-
#initialize(aws_access_key_id = nil, aws_secret_access_key = nil, params = {}) ⇒ Ses
constructor
A new instance of Ses.
-
#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 = {}) ⇒ Ses
Returns a new instance of Ses.
42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/ses/ses.rb', line 42 def initialize(aws_access_key_id=nil, aws_secret_access_key=nil, params={}) init({:name => 'SES', :default_host => ENV['SES_URL'] ? URI.parse(ENV['SES_URL']).host : DEFAULT_HOST, :default_port => ENV['SES_URL'] ? URI.parse(ENV['SES_URL']).port : DEFAULT_PORT, :default_service => ENV['SES_URL'] ? URI.parse(ENV['SES_URL']).path : DEFAULT_PATH, :default_protocol => ENV['SES_URL'] ? URI.parse(ENV['SES_URL']).scheme : DEFAULT_PROTOCOL, :api_version => API_VERSION, :signature_version=>'3'}, 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
37 38 39 |
# File 'lib/ses/ses.rb', line 37 def self.api @@api end |
.bench ⇒ Object
22 23 24 |
# File 'lib/ses/ses.rb', line 22 def self.bench @@bench end |
.bench_ec2 ⇒ Object
30 31 32 |
# File 'lib/ses/ses.rb', line 30 def self.bench_ec2 @@bench.service end |
.bench_xml ⇒ Object
26 27 28 |
# File 'lib/ses/ses.rb', line 26 def self.bench_xml @@bench.xml end |
.connection_name ⇒ Object
16 17 18 |
# File 'lib/ses/ses.rb', line 16 def self.connection_name :ses_connection end |
Instance Method Details
#do_request(action, params, options = {}) ⇒ Object
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/ses/ses.rb', line 55 def do_request(action, params, ={}) link = generate_request(action, params) puts "request=" + link[:request].inspect resp = request_info_xml_simple3(self, link, :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 |
#get_send_quota(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 /
84 85 86 87 88 89 90 91 92 |
# File 'lib/ses/ses.rb', line 84 def get_send_quota(={}) @logger.info("get_send_quota") resp = do_request("GetSendQuota", ) 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
101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 |
# File 'lib/ses/ses.rb', line 101 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 |