class Chef::Knife::Cloud::Service

Attributes

auth_params[R]
config[RW]
ui[RW]

Public Class Methods

new(config:, auth_params: nil) click to toggle source
# File lib/chef/knife/cloud/service.rb, line 31
def initialize(config:, auth_params: nil)
  @config = config
  @auth_params = auth_params
end

Public Instance Methods

add_custom_attributes(server_def) click to toggle source
# File lib/chef/knife/cloud/service.rb, line 83
def add_custom_attributes(server_def)
  config[:custom_attributes].map { |args| args.map { |k, v| server_def.merge!(k.to_sym => v) } } unless config[:custom_attributes].nil?
end
connection() click to toggle source
# File lib/chef/knife/cloud/service.rb, line 36
def connection
  # Fog or cloud specific connection object must be created in derived.
  raise Chef::Exceptions::Override, "You must override connection in #{self}"
end
create_server(options = {}) click to toggle source

cloud server specific implementation methods for commands.

# File lib/chef/knife/cloud/service.rb, line 55
def create_server(options = {})
  raise Chef::Exceptions::Override, "You must override create_server in #{self}"
end
create_server_dependencies() click to toggle source

Do nothing or override in cloud specific derived classes for pre-vm-creation setup steps

# File lib/chef/knife/cloud/service.rb, line 45
def create_server_dependencies; end
delete_server(server_name) click to toggle source
# File lib/chef/knife/cloud/service.rb, line 59
def delete_server(server_name)
  raise Chef::Exceptions::Override, "You must override delete_server in #{self}"
end
delete_server_dependencies() click to toggle source

Do nothing or override in cloud specific derived classes for pre-vm-creation setup steps

# File lib/chef/knife/cloud/service.rb, line 48
def delete_server_dependencies; end
delete_server_on_failure(server = nil) click to toggle source
# File lib/chef/knife/cloud/service.rb, line 50
def delete_server_on_failure(server = nil)
  raise Chef::Exceptions::Override, "You must override delete_server_on_failure in #{self} to delete server"
end
get_server(server_name) click to toggle source
# File lib/chef/knife/cloud/service.rb, line 75
def get_server(server_name)
  raise Chef::Exceptions::Override, "You must override get_server in #{self}"
end
list_images(image_filters) click to toggle source
# File lib/chef/knife/cloud/service.rb, line 67
def list_images(image_filters)
  raise Chef::Exceptions::Override, "You must override list_images in #{self}"
end
list_resource_allocations() click to toggle source

override in cloud specific derived classes

# File lib/chef/knife/cloud/service.rb, line 42
def list_resource_allocations; end
list_resource_configurations() click to toggle source
# File lib/chef/knife/cloud/service.rb, line 71
def list_resource_configurations
  raise Chef::Exceptions::Override, "You must override list_resource_configurations in #{self}"
end
list_servers() click to toggle source
# File lib/chef/knife/cloud/service.rb, line 63
def list_servers
  raise Chef::Exceptions::Override, "You must override list_servers in #{self}"
end
server_summary(server, columns_with_info = []) click to toggle source
# File lib/chef/knife/cloud/service.rb, line 79
def server_summary(server, columns_with_info = [])
  raise Chef::Exceptions::Override, "You must override server_summary in #{self}"
end