lib/fog/compute/google/models/ssl_certificate.rb
module Fog
module Compute
class Google
##
# Represents a SslCertificate resource
#
# @see https://cloud.google.com/compute/docs/reference/latest/sslCertificates
class SslCertificate < Fog::Model
identity :name
attribute :kind
attribute :id
attribute :creation_timestamp, :aliases => "creationTimestamp"
attribute :description
attribute :self_link, :aliases => "selfLink"
attribute :certificate
attribute :private_key, :aliases => "privateKey"
def save
requires :identity, :certificate, :private_key
data = service.insert_ssl_certificate(
identity, certificate, private_key,
:description => description
)
operation = Fog::Compute::Google::Operations.new(:service => service)
.get(data.name)
operation.wait_for { ready? }
reload
end
def destroy(async = true)
requires :identity
data = service.delete_ssl_certificate(identity)
operation = Fog::Compute::Google::Operations.new(:service => service)
.get(data.name)
operation.wait_for { ready? } unless async
operation
end
end
end
end
end