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
|
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
|