1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
module Fog
module AWS
class IAM
class Real
# Updates the name and/or the path of the specified server certificate.
#
# ==== Parameters
# * server_certificate_name<~String> - The name of the server
# certificate that you want to update.
# * options<~Hash>:
# * 'NewPath'<~String> - The new path for the server certificate.
# Include this only if you are updating the server certificate's
# path.
# * 'NewServerCertificateName'<~String> - The new name for the server
# certificate. Include this only if you are updating the server
# certificate's name.
#
# ==== Returns
# * response<~Excon::Response>:
# * body<~Hash>:
# * 'RequestId'<~String> - Id of the request
#
# ==== See Also
# http://docs.amazonwebservices.com/IAM/latest/APIReference/index.html?API_UpdateServerCertificate.html
#
def update_server_certificate(server_certificate_name, options = {})
request({
'Action' => 'UpdateServerCertificate',
'ServerCertificateName' => server_certificate_name,
:parser => Fog::Parsers::AWS::IAM::Basic.new
}.merge!(options))
end
end
class Mock
def update_server_certificate(server_certificate_name, options = {})
new_server_certificate_name = options['NewServerCertificateName']
if self.data[:server_certificates][new_server_certificate_name]
raise Fog::AWS::IAM::EntityAlreadyExists.new("The Server Certificate with name #{server_certificate_name} already exists.")
end
unless certificate = self.data[:server_certificates].delete(server_certificate_name)
raise Fog::AWS::IAM::NotFound.new("The Server Certificate with name #{server_certificate_name} cannot be found.")
end
if new_server_certificate_name
certificate['ServerCertificateName'] = new_server_certificate_name
end
if new_path = options['NewPath']
certificate['Path'] = new_path
end
self.data[:server_certificates][certificate['ServerCertificateName']] = certificate
Excon::Response.new.tap do |response|
response.body = { 'RequestId' => Fog::AWS::Mock.request_id }
response.status = 200
end
end
end
end
end
end
|