class Fog::Compute::Google::BackendService
Constants
- RUNNING_STATE
Public Instance Methods
add_backend(backend)
click to toggle source
# File lib/fog/compute/google/models/backend_service.rb, line 51 def add_backend(backend) # ensure backend is an array of hashes backend = [backend] unless backend.class == Array backend.map! { |resource| resource.class == String ? { "group" => resource } : resource } service.add_backend_service_backends(self, backend) reload end
destroy(async = true)
click to toggle source
# File lib/fog/compute/google/models/backend_service.rb, line 38 def destroy(async = true) requires :name data = service.delete_backend_service(name) operation = Fog::Compute::Google::Operations.new(:service => service).get(data.name) operation.wait_for { ready? } unless async operation end
get_health()
click to toggle source
# File lib/fog/compute/google/models/backend_service.rb, line 47 def get_health service.get_backend_service_health(self) end
ready?()
click to toggle source
# File lib/fog/compute/google/models/backend_service.rb, line 59 def ready? service.get_backend_service(name) true rescue ::Google::Apis::ClientError => e raise e unless e.status_code == 404 false end
reload()
click to toggle source
# File lib/fog/compute/google/models/backend_service.rb, line 67 def reload requires :name return unless data = begin collection.get(name) rescue Excon::Errors::SocketError nil end new_attributes = data.attributes merge_attributes(new_attributes) self end
save()
click to toggle source
# File lib/fog/compute/google/models/backend_service.rb, line 19 def save requires :name, :health_checks options = { :description => description, :backends => backends, :fingerprint => fingerprint, :health_checks => health_checks, :port => port, :protocol => protocol, :timeout_sec => timeout_sec } data = service.insert_backend_service(name, options) operation = Fog::Compute::Google::Operations.new(:service => service).get(data.name) operation.wait_for { ready? } reload end