Class: AWS::IAM::ServerCertificateCollection
- Inherits:
-
Object
- Object
- AWS::IAM::ServerCertificateCollection
- Includes:
- Collection::WithPrefix
- Defined in:
- lib/aws/iam/server_certificate_collection.rb
Overview
A collection that provides access to IAM server certificates belonging to this account.
iam = AWS::IAM.new
certificates = iam.server_certificates
Uploading A Server Certificate
You can upload any valid, signed certificate using #upload.
certificates.upload(:name => "MyCert",
:certificate_body => my_certificate_body,
:private_key => my_private_key)
For information about generating a server certificate for use with IAM, see Creating and Uploading Server Certificates in Using AWS Identity and Access Management.
Getting a Server Certificate by Name
You can get a reference to a server certificate using array notation:
certificate = certificates['MyCert']
Enumerating Server Certificates
Server certificate collections can also be used to enumerate certificates:
certificates.each do |cert|
puts cert.name
end
You can limit the certificates returned by passing a :prefix
option to any of the enumerator methods. When you pass a prefix, only the certificates whose paths start with the given string will be returned.
Instance Attribute Summary
Attributes included from Collection::WithPrefix
Instance Method Summary collapse
-
#[](name) ⇒ ServerCertificate
Returns a reference to the server certificate with the given name:.
-
#each(options = {}) {|certificate| ... } ⇒ nil
Yields once for each server certificate.
-
#enumerator(options = {}) ⇒ Enumerator
Returns an enumerable object for this collection.
-
#upload(options = {}) ⇒ ServerCertificate
(also: #create)
Uploads a server certificate entity for the AWS account.
Methods included from Collection::WithPrefix
Instance Method Details
#[](name) ⇒ ServerCertificate
Returns a reference to the server certificate with the given name:
certificate = iam.server_certificates['MyCert']
119 120 121 |
# File 'lib/aws/iam/server_certificate_collection.rb', line 119 def [] name ServerCertificate.new(name, :config => config) end |
#each(options = {}) {|certificate| ... } ⇒ nil
Yields once for each server certificate
You can limit the number of certificates yielded using :limit
and :path_prefix
.
141 142 143 |
# File 'lib/aws/iam/server_certificate_collection.rb', line 141 def each = {}, &block super(, &block) end |
#enumerator(options = {}) ⇒ Enumerator
Returns an enumerable object for this collection. This can be useful if you want to call an enumerable method that does not accept options (e.g. collect
, first
, etc).
certificates.enumerator(:path_prefix => '/production').
collect(&:name)
155 156 157 |
# File 'lib/aws/iam/server_certificate_collection.rb', line 155 def enumerator = {} super() end |
#upload(options = {}) ⇒ ServerCertificate Also known as: create
Uploads a server certificate entity for the AWS account. The server certificate entity includes a public key certificate, a private key, and an optional certificate chain, which should all be PEM-encoded.
93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 |
# File 'lib/aws/iam/server_certificate_collection.rb', line 93 def upload( = {}) client_opts = .dup client_opts[:server_certificate_name] = client_opts.delete(:name) if path = client_opts[:path] client_opts[:path] = "/#{path}/". sub(%r{^//}, "/"). sub(%r{//$}, "/") end resp = client.upload_server_certificate(client_opts) ServerCertificate.new(resp.. server_certificate_name, :config => config) end |